প্রাচীন কালে, কার্নেলটি ডিভাইসটির মূল / অপ্রাপ্ত সংখ্যক সংখ্যক সংখ্যক ডিভাইসটি সনাক্ত করতে কঠোরভাবে কোডেড ছিল এবং কার্নেলের মধ্যে নির্মিত সমস্ত ডিভাইস ড্রাইভারের সূচনা করার পরে ডিভাইসটি মাউন্ট করেছিল। rdev
উপযোগ এটা কম্পাইল না করেও কার্নেল ইমেজ শিকড় ডিভাইস সংখ্যা পরিবর্তন করতে ব্যবহার করা যেতে পারে।
অবশেষে বুট লোডারগুলি উপস্থিত হয়ে কার্নেলের কাছে একটি কমান্ড লাইন দিতে পারত। যদি root=
আর্গুমেন্টটি পাস হয়ে যায় তবে এটি কার্নেলকে জানায় যে মানটিতে বিল্টের পরিবর্তে রুট এফএস ছিল। ড্রাইভারদের অ্যাক্সেসের প্রয়োজন ছিল যা এখনও কার্নেলের মধ্যে তৈরি করতে হয়েছিল। যখন আর্গুমেন্টটি /dev
ডিরেক্টরিতে একটি সাধারণ ডিভাইস নোডের মতো দেখায় /dev
তবে রুট এফএস মাউন্ট করার আগে অবশ্যই কোনও ডিরেক্টরি নেই , সুতরাং কার্নেলটি সেখানে কোনও ডিভ নোড দেখতে পাবে না। পরিবর্তে, কিছু সুপরিচিত ডিভাইসের নামগুলি হার্ড-র কার্নেলে কোড করা হয়েছে যাতে স্ট্রিংটি ডিভাইস নম্বরটিতে অনুবাদ করা যায়। এ কারণে, কার্নেল এই জাতীয় জিনিসগুলি সনাক্ত করতে পারে /dev/sda1
তবে বিদেশী জিনিসগুলির মতো /dev/mapper/vg0-root
বা ভলিউম ইউআইডি নয়।
পরে, initrd
ছবিতে এসেছিল। কার্নেলের সাথে, বুট লোডার initrd
চিত্রটি লোড করবে , এটি ছিল এক ধরণের সংকোচিত ফাইল সিস্টেম ইমেজ (জিজেপড এক্সট 2 চিত্র, জিজিপড রোমফএস চিত্র, স্কোয়াশফগুলি শেষ পর্যন্ত প্রভাবশালী হয়ে উঠেছে)। কার্নেল এই চিত্রটিকে একটি র্যামডিস্কে ছড়িয়ে দিতে এবং র্যামডিস্কটিকে মূল এফএস হিসাবে মাউন্ট করবে। এই চিত্রটিতে বাস্তবের পরিবর্তে কিছু অতিরিক্ত ড্রাইভার এবং বুট স্ক্রিপ্ট রয়েছে init
। এই বুট স্ক্রিপ্টগুলি হার্ডওয়্যার সনাক্ত করতে, রেইড অ্যারে এবং এলভিএমের মতো জিনিস সক্রিয় করতে, ইউআইডিগুলি সনাক্ত করতে, এবং আসল রুটটি অনুসন্ধানের জন্য কার্নেল কমান্ড লাইনটি পার্স করার জন্য বিভিন্ন কার্য সম্পাদন করে, যা এখন ইউআইডি, ভলিউম লেবেল এবং অন্যান্য উন্নত জিনিসগুলির দ্বারা নির্দিষ্ট করা যেতে পারে। তখনই বাস্তব রুট FS মাউন্ট /initrd
, তারপর মৃত্যুদন্ড কার্যকর pivot_root
সিস্টেম কল কার্নেল swap 'র আছে /
এবং/initrd
, তারপরে /sbin/init
আসল রুটে এক্সিকিউট করুন যা এরপরে আনমাউন্ট করবে /initrd
এবং রামডিস্ককে মুক্ত করবে।
অবশেষে, আজ আমাদের আছে initramfs
। এটি এর অনুরূপ initrd
, তবে একটি র্যামডিস্কে লোড হওয়া একটি সংকুচিত ফাইল সিস্টেম চিত্রের পরিবর্তে এটি একটি সঙ্কোচিত সিপিও সংরক্ষণাগার। একটি tmpfs মূল হিসাবে মাউন্ট করা হয়, এবং সংরক্ষণাগারটি সেখানে বের করা হয়। ব্যবহার করার পরিবর্তে pivot_root
, যা একটি মলিন হ্যাক হিসাবে গণ্য করা হয়, initramfs
বুট স্ক্রিপ্ট বাস্তব রুট মাউন্ট /root
, সমস্ত ফাইল তারপর, tmpfs রুট মোছার chroot
মধ্যে /root
Exec, এবং /sbin/init
।