প্রাথমিক ramdisk এবং (initrd- র) সাধারণত রুট ধারণকারী কেবল পবিত্র জিনিসই এটি বুট বন্ধ প্রকৃত রুট ফাইল সিস্টেম এবং হাতের মাউন্ট করতে প্রয়োজন হয় ফাইলসিস্টেম একটি ছিনতাই ডাউন সংস্করণ।
আরআরআরডিটি উপস্থিত রয়েছে কারণ আধুনিক সিস্টেমে, বুট লোডারটিকে যথাযথভাবে স্মার্ট করা যায় না যা নির্ভরযোগ্যভাবে রুট ফাইল সিস্টেমটি খুঁজে পেতে পারে। বুট লোডারটি কভার করার মতো একটি ছোট প্রোগ্রামের জন্য খুব বেশি সম্ভাবনা রয়েছে। এনএফএস রুট, নন স্ট্যান্ডার্ড র্যাড কার্ড ইত্যাদি বিবেচনা করুন বুট লোডারকে কেবল বিআইওএস প্লাস ব্যবহার করে তার কাজটি করতে হবে এবং যে কোনও কোড বুট সেক্টরে ক্র্যাম করা যেতে পারে।
আরআরআরডি বুট লোডারটি খুঁজে পেতে পারে এমন কোনও স্থানে সঞ্চিত হয়ে যায় এবং এটি যথেষ্ট পরিমাণে যে অতিরিক্ত জায়গা লাগে তা সাধারণত কাউকেই বিরক্ত করে না। (ছোট এম্বেড থাকা সিস্টেমে সাধারণত কোনও "আসল" রুট থাকে না, কেবল আরডিআরড হয়))
ইআরআরডিটি মূল্যবান: এর বিষয়বস্তুগুলি সমস্ত অবস্থাতেই সংরক্ষণ করতে হবে, কারণ যদি আরআরআরডিটি বিরতি দেয় তবে সিস্টেমটি বুট করতে পারে না। এটি নিশ্চিত করার জন্য এর ডিজাইনারদের তৈরি করা একটি নকশার পছন্দ হ'ল বুট লোডারটি কেবল আরআরডি পঠনযোগ্য লোড করা। অন্যান্য নীতির যে এই দিকে কাজ, খুব, যেমন যে ছোট ব্যবস্থা কেস যেখানে "বাস্তব" মূল আছে হিসাবে, আপনি কি এখনও পৃথক মাউন্ট হয় /tmp
, /var/cache
এবং কিছু জমা করার জন্য এই ধরনের। Initrd পরিবর্তন করা খুব কমই করা হয়, এবং তারপরে খুব সাবধানে করা উচিত।
সত্যিকারের রুট ফাইল সিস্টেম রয়েছে এমন সাধারণ ক্ষেত্রে ফিরে আসার পরে , এটি প্রাথমিকভাবে কেবল পঠনযোগ্যভাবে মাউন্ট করা হয় কারণ initrd ছিল। এরপরে একই কারণে এটি যতক্ষণ সম্ভব পঠনযোগ্য রাখা হয়। সিস্টেমটি বুট না হওয়া, পছন্দ অনুসারে বা কমপক্ষে বুট প্রক্রিয়াটি শেষ না হওয়া অবধি সেই পছন্দটি সন্তুষ্ট না হওয়া অবধি রিয়েল রুটের যে কোনও লেখার কাজ শেষ করা দরকার।
এই পঠন-পঠনের পর্যায়ে সবচেয়ে গুরুত্বপূর্ণ যেটি ঘটে তা হ'ল রুট ফাইল সিস্টেমটি পরিষ্কারভাবে আনমাউন্ট করা হয়েছে কিনা তা পরীক্ষা করে দেখানো হয়। বুট-লোডার এটি অবশ্যই আরআরআরডিডে রেখে দেওয়ার পরিবর্তে কিছু করতে পারে, তবে রুট ফাইল সিস্টেমটি পরিষ্কারভাবে আনমাউন্ট করা না থাকলে কী হবে ? তারপরে এটি fsck
পরীক্ষা করতে এবং সম্ভবত এটি ঠিক করতে কল করতে হবে। সুতরাং, যেখানে হবে initrd
পেতে fsck
, যদি পরিবর্তে "বাস্তব" মূল করতে Handoff পর্যন্ত অপেক্ষা এই পদক্ষেপ জন্য দায়ী ছিল? আপনি বলতে পারে যে আপনি অনুলিপি প্রয়োজন fsck
মধ্যে initrd
যখন এটি নির্মাণের, কিন্তু এখন এটা বড়। এবং তার উপরে, আপনি কোনটি fsck
অনুলিপি করবেন? লিনাক্স সিস্টেমগুলি নিয়মিতভাবে এক ডজন বা আরও বিভিন্ন ফাইল সিস্টেম ব্যবহার করে। আপনি যখন আসল মূলটির জন্য প্রয়োজন কেবল তখনই অনুলিপি করেনinitrd
সৃষ্ট? আপনি যদি initrd
সমস্ত উপলব্ধ fsck.foo
প্রোগ্রামগুলিকে এতে অনুলিপি করে আকারটি বেলুন করেন , তবে যদি রুট ফাইল সিস্টেমটি পরে অন্য কোনও ফাইল সিস্টেমের ধরণে স্থানান্তরিত হয় এবং কেউ ইআরআরডিটি পুনর্নির্মাণ করতে ভুলে যায়?
লিনাক্স বুট সিস্টেমের আর্কিটেক্টরা বুদ্ধিমানের সাথে এই সমস্যাগুলির সাথে আরআরডি বোঝা না চাপিয়েছিলেন। তারা আসল রুট ফাইল সিস্টেমকে সত্যিকারের ফাইল সিস্টেমে পরীক্ষা করার দায়িত্ব অর্পণ করেছিল, যেহেতু এটি আরআরডি-র চেয়ে আরও ভাল অবস্থানে রয়েছে।
বুট প্রক্রিয়াটি যথেষ্ট পরিমাণে এগিয়ে গেলে এটি নিরাপদ হয়ে গেলে, আরআরআরডিটি আসল মূলের নীচে থেকে সরে যায় pivot_root(8)
এবং ফাইল-সিস্টেমটি রিড-রাইট মোডে পুনরায় সঞ্চারিত হয়।