मैंने विभिन्न लिनक्स सिस्टमों पर देखा है, जहां वास्तविक डिवाइस नोड (उदाहरण के लिए /dev/sda1) के /dev/rootबजाय, रूट डिवाइस वास्तविक फाइल सिस्टम के रूप में या प्रकट होता है , mtabकहते हैं कि यह एक फाइलसिस्टम कहलाता है rootfs(जो वास्तविक फाइलसिस्टम के रूप में प्रकट होता है /proc/filesystems, लेकिन में कोड नहीं है <linux-kernel-source-tree>/fs)। वास्तविक रूट डिवाइस नोड (जैसे कि rdev, और क्रोमियम OS रूटदेव) को निर्धारित करने के लिए कुछ विशेषताओं का उपयोग करने के लिए विभिन्न उपयोगिताओं को बनाया गया है। मुझे यह पढ़ने के अलावा कहीं और कोई तार्किक स्पष्टीकरण नहीं मिल सकता है कि बहुत छोटे एम्बेडेड उपकरणों को हमेशा /devअपने रूट डिवाइस के लिए एक डिवाइस नोड नहीं होना चाहिए। (क्या यह सच है, और यदि ऐसा है, तो क्या यह मेरे सवाल का जवाब है?) Mtab कभी-कभी क्यों कहता है /dev/root(और मुझे लगता है कि मैंने इसे देखा होगाrootdevएक बार) असली डिवाइस नोड के बजाय, और मैं इसे हमेशा वास्तविक डिवाइस नोड कैसे कह सकता हूं? कर्नेल सबसे पहले rootcmdline में पैरामीटर का पालन करते हुए रूट डिवाइस को मापता है, फिर init/systemdइसे fstabसही के अनुसार मापता है ? यदि ऐसा है, तो मैं मैंने देखा कि initबनाए रखता हूं mtab। यदि मेरा सिद्धांत सही है, तो मैं initवास्तविक रूट डिवाइस नोड को कैसे लिख सकता हूं mtab? /etc/mtabवास्तव में यह एक प्रतीकात्मक कड़ी है /proc/mounts, जिसका अर्थ mtabहै कि कर्नेल द्वारा बनाए रखा जाएगा । तो मैं कैसे एक कर्नेल को कॉन्फ़िगर / पैच करता हूं, यह कहने के बजाय कि रूट डिवाइस नोड पथ है /dev/root, mtabमें वास्तविक डिवाइस नोड है?
mountइस सेटअप के साथrootfs on / type rootfs (rw)initrd और/dev/root on / type ext2 (rw,relatime,block_validity,barrier,user_xattr)ext2 हार्ड डिस्क के लिए देता है ।