Ho visto su vari sistemi Linux in cui invece del nodo del dispositivo reale (per esempio:) /dev/sda1
, il dispositivo root appare come /dev/root
, o invece del vero filesystem, mtab
dice che è un filesystem chiamato rootfs
(che appare come un vero filesystem in /proc/filesystems
, ma non ha codice in <linux-kernel-source-tree>/fs
). Sono state create varie utilità per utilizzare determinati attributi per determinare il nodo del dispositivo radice reale (come rdev e Chromium OS rootdev). Non riesco a trovare una spiegazione logica a questo oltre a leggere da qualche parte che i dispositivi embedded molto piccoli non devono sempre avere un /dev
nodo dispositivo per il loro dispositivo root. (È vero, e se è così, è la risposta alla mia domanda?) Perché a volte mtab dice /dev/root
(e penso che avrei potuto vederlo direrootdev
una volta) invece del nodo del dispositivo reale, e come posso sempre dire il nodo del dispositivo reale? Il kernel prima monta il dispositivo root seguendo il root
parametro nella cmdline, quindi init/systemd
lo monta nuovamente secondo il fstab
, corretto? In tal caso, presumo Ho notato che in init
sostenga mtab
. Se la mia teoria è corretta, come posso fare init
scrivere il vero nodo del dispositivo radice mtab
? /etc/mtab
realtà è un collegamento simbolico a /proc/mounts
, il che significherebbe che mtab
è gestito dal kernel. Quindi, come posso configurare / patchare un kernel per, invece di dire che il percorso del nodo dei dispositivi root è /dev/root
, deve mtab
contenere il nodo del dispositivo reale?
mount
dàrootfs on / type rootfs (rw)
per initrd e/dev/root on / type ext2 (rw,relatime,block_validity,barrier,user_xattr)
per ext2 hard disk con questa configurazione .