GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum wird auf einigen Linux-Systemen das Root-Dateisystem als /dev/root statt als /dev/<realer Geräteknoten> in mtab angezeigt?

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.


Linux
  1. So generieren Sie ein zufälliges Passwort unter Linux mit /dev/random

  2. Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

  3. Linux:Unterschied zwischen /dev/console , /dev/tty und /dev/tty0?

  4. Wann sollte /dev/random vs. /dev/urandom verwendet werden?

  5. So ordnen Sie /dev/sdX- und /dev/mapper/mpathY-Geräte vom /dev/dm-Z-Gerät zu

tty (/dev/tty ) vs. pts (/dev/pts) unter Linux

Wie portabel sind /dev/stdin, /dev/stdout und /dev/stderr?

Wie man einen Cronjob komplett zum Schweigen bringt /dev/null/?

Linux – Was bedeutet der Buchstabe „u“ in /dev/urandom?

Linux:Unterschied zwischen /dev/console , /dev/tty und /dev/tty0

Warum sind < oder > erforderlich, um /dev/tcp