Dies ist im Allgemeinen ein Artefakt der Verwendung eines initramfs.
Aus der Kernel-Dokumentation (https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt)
Was ist rootfs?
Rootfs ist eine spezielle Instanz von ramfs (oder tmpfs, falls aktiviert), die in 2.6-Systemen immer vorhanden ist. Sie können rootfs aus ungefähr dem gleichen Grund nicht aushängen, aus dem Sie den Init-Prozess nicht beenden können. Anstatt speziellen Code zu haben, um nach leeren Listen zu suchen und diese zu handhaben, ist es für den Kernel kleiner und einfacher, nur sicherzustellen, dass bestimmte Listen nicht leer werden können.
Die meisten Systeme mounten einfach ein anderes Dateisystem über rootfs und ignorieren es. Der Speicherplatz, den eine leere Instanz von ramfs einnimmt, ist winzig.
Also rootfs
ist das Root-Dateisystem, das für das initramfs erstellt wurde und nicht ausgehängt werden kann.
In Bezug auf /dev/root
, ich bin mir da weniger sicher, aber wenn ich mich richtig erinnere /dev/root
wird erstellt, wenn ein initrd verwendet wird (nicht dasselbe wie ein initramfs).
Gentoo hat einen Patch, der genau das tut (stellt sicher, dass das echte Root-Gerät angezeigt wird). Sie finden es hier:https://lkml.org/lkml/2013/1/31/574
Unter Linux /dev/root
, falls vorhanden, ist ein symbolischer Link zum tatsächlichen Gerät, das beim Booten erstellt wird.
Sie verwenden entweder readlink /dev/root
oder cat /proc/cmdline
um die root
zu sehen Parameter des gebooteten Kernels, und so das wirkliche Gerät dahinter herausfinden.
Von Mann dracut(8)
Um jedoch mit einem erfolgreichen Start fortzufahren, besteht das Ziel darin, Ihr Root-Volume zu lokalisieren und einen symbolischen Link /dev/root zu erstellen, der auf das Dateisystem zeigt.