Widziałem na różnych systemach Linux, w których zamiast rzeczywistego węzła urządzenia (na przykład /dev/sda1:), urządzenie root pojawia się jako /dev/root, lub zamiast prawdziwego systemu plików, mtabmówi, że jest to system plików o nazwie rootfs(który pojawia się jako prawdziwy system plików /proc/filesystems, ale nie ma kodu <linux-kernel-source-tree>/fs). Wprowadzono różne narzędzia do korzystania z niektórych atrybutów w celu określenia rzeczywistego węzła urządzenia głównego (takiego jak rdev i rootdev systemu operacyjnego Chromium). Nie mogę znaleźć logicznego wytłumaczenia tego innego niż przeczytanie gdzieś, że bardzo małe urządzenia wbudowane nie zawsze muszą mieć /devwęzeł urządzenia dla swojego urządzenia root. (Czy to prawda, a jeśli tak, czy to odpowiedź na moje pytanie?) Dlaczego czasami mtab mówi /dev/root(i myślę, że mogłem to zobaczyćrootdevraz) zamiast rzeczywistego węzła urządzenia i jak mogę sprawić, by zawsze mówił prawdziwy węzeł urządzenia? Jądro najpierw montuje urządzenie root zgodnie z rootparametrem w cmdline, a następnie init/systemdmontuje je ponownie zgodnie z fstab, prawda? Jeśli tak, to zakładam, że Zauważyłem, że initutrzymuje mtab. Jeśli moja teoria jest poprawna, jak mogę initnapisać do prawdziwego węzła urządzenia głównego mtab? /etc/mtabtak naprawdę jest to dowiązanie symboliczne /proc/mounts, co oznacza mtab, że jądro utrzymuje je. Jak więc skonfigurować / załączyć jądro, aby zamiast mówić, że ścieżka do węzła urządzeń głównych /dev/rootma mtabzawierać rzeczywisty węzeł urządzenia?
mountdajerootfs on / type rootfs (rw)dla initrd i/dev/root on / type ext2 (rw,relatime,block_validity,barrier,user_xattr)dla dysku twardego ext2 przy tej konfiguracji .