Ich habe auf verschiedenen Linux-Systemen gesehen, dass anstelle des realen Geräteknotens (zum Beispiel :) /dev/sda1das Root-Gerät als /dev/rootoder anstelle des realen Dateisystems mtabals Dateisystem bezeichnet wird rootfs(das als reales Dateisystem in angezeigt wird /proc/filesystems, aber) hat keinen Code in <linux-kernel-source-tree>/fs). Es wurden verschiedene Dienstprogramme erstellt, um bestimmte Attribute zu verwenden, um den tatsächlichen Root-Geräteknoten zu bestimmen (z. B. rdev und Chromium OS rootdev). Ich kann keine logische Erklärung dafür finden, außer irgendwo zu lesen, dass sehr kleine eingebettete Geräte nicht immer einen /devGeräteknoten für ihr Root-Gerät haben müssen. (Ist das wahr, und wenn ja, ist das die Antwort auf meine Frage?) Warum sagt mtab manchmal /dev/root(und ich glaube, ich hätte es vielleicht gesehen ?)rootdeveinmal) anstelle des realen Geräteknotens, und wie kann ich dafür sorgen, dass immer der reale Geräteknoten angezeigt wird? Der Kernel stellt das Root-Gerät zuerst gemäß dem rootParameter in der cmdline bereit und stellt es dann init/systemdgemäß dem fstabkorrekten? Wenn ja, dann nehme ich an, Mir ist aufgefallen, dass dies initbehauptet mtab. Wenn meine Theorie korrekt ist, wie kann ich initden echten Root-Geräteknoten schreiben lassen mtab? /etc/mtabtatsächlich eine symbolische Verbindung zu ist /proc/mounts, was bedeuten würde, mtabdass der Kernel sie verwaltet. Wie kann ich einen Kernel so konfigurieren / patchen /dev/root, dass er mtabden realen Geräteknoten enthält , anstatt zu sagen, dass der Knotenpfad des Root-Geräts lautet ?
mountgibtrootfs on / type rootfs (rw)für initrd und/dev/root on / type ext2 (rw,relatime,block_validity,barrier,user_xattr)für ext2 Festplatte mit diesem Setup .