যেমন আপনি বলেছেন যে, ইনি্রামফের উদ্দেশ্য হ'ল "আসল" মূল ফাইল সিস্টেমটি মাউন্ট করা (এটি অন্যান্য জিনিসগুলিও করতে পারে তবে এটি সাধারণ কাজ)।
কোনও ইনি্রামফগুলি ব্যতীত, কার্নেল সাধারণত একটি পার্টিশনটিকে কেবল পঠনযোগ্য হিসাবে মাউন্ট করবে এবং তারপরে নিয়ন্ত্রণ নিয়ন্ত্রণ করবে /sbin/init
। একটি initramfs কেবল কার্নেল থেকে এই কাজটি গ্রহণ করে, সাধারণত যখন রুট ফাইল সিস্টেমটি একটি সাধারণ পার্টিশন না হয় (এমড্রাইড, lvm, এনক্রিপ্ট করা ইত্যাদি)।
এখন, initramfs এর ব্যাকগ্রাউন্ড বাদে /etc/fstab
আপনার রুট ফাইল সিস্টেমে থাকে। যেমন, থ্রিম্রামগুলি চালু করা হলে, মূল ফাইল সিস্টেমটি সেখানে নেই এবং তাই এটি fstab (মুরগী এবং ডিমের সমস্যা) পেতে পারে না get
পরিবর্তে আমাদের initramfs ব্যবহারের জন্য কার্নেল বুট আর্গুমেন্টে একটি প্যারামিটারটি পাস করতে হবে। সাধারণত ভালো কিছু হয় root=/dev/sdX
। তবে এটি আপনার মূল ডিভাইসটি কোথায় রয়েছে তা স্বয়ংক্রিয়ভাবে বের করার জন্যও কিছু করতে পারে এবং তাই কোনও পরামিতি নেই। যেহেতু এটি কেবল সফ্টওয়্যার (সাধারণত একটি স্ক্রিপ্ট), এটি রুট ডিভাইসটি মাউন্ট করার জন্য যা কিছু করতে চায় তা সত্যিই করতে পারে।
এখন, যেমন আগে বলা হয়েছে, কার্নেলটি কেবল পঠনযোগ্য হিসাবে আসল রুটটিকে মাউন্ট করবে। Initramfs ঠিক এটি করা উচিত। একবার initramfs সম্পন্ন হওয়ার পরে, সিস্টেমটি বুট করার সময় ঠিক এমনভাবে এগিয়ে যায় যেন কোনও ইন্ট্রামফ নেই এবং /sbin/init
শুরু হয়। এই initটি আপনার সমস্ত সাধারণ বুট স্ক্রিপ্টগুলি শুরু করে এবং এই স্ক্রিপ্টগুলির মধ্যে একটির কাজ পড়া /etc/fstab
, পড়তে লেখার জন্য রুটটি স্যুইচ করা এবং আপনার সমস্ত ফাইল সিস্টেমগুলি মাউন্ট করা এটি।