Warum erlaubt Linux 'init = / bin / bash'?
Ich habe das gelesen, Antworten sagen, dass es KERNEL ist, der dieses Init-Programm ausführt.
Dann begann ich mich zu fragen, ob Linux normalerweise mit einem initramfs geliefert wird, das schließlich in ein echtes Root-Dateisystem eingebunden und pivot_root wird. Was bedeutet dieses init
Argument? Der Pfad in den initramfs? Oder wie ich vermutet habe, wird es nicht vom Kernel gelesen, sondern von init von initramfs, um das echte init auszuführen.
Auch das root=UUID=xxxx
Argument, wird das wirklich vom Kernel oder nur von init von initramfs gelesen, um das echte Root-Dateisystem zu finden?
Es scheint, als könnte ich jedes gewünschte Argument als Kernel-Argumente übergeben. Werden sie also alle vom Kernel gelesen oder sind zumindest einige von ihnen nur für Userspace-Programme von Bedeutung?
quelle
ld-linux.so
ELF oder ein rekursionssicheres Skript nicht gefunden werden kann oder etwas einfach nicht ausgeführt werden kann?/init
beim Booten von einer Ramdisk, können Sie denrdinit=/path/to
Boot-Parameter verwenden.Das Übergeben von benutzerdefinierten Kernelargumenten ist eine Möglichkeit, ein System während einer KickStart-Installation anzupassen. Beispielsweise könnte ein PXE-Server Folgendes festlegen:
Wo
lab
wird dann in der KickStart-Konfiguration verwendet, um andere Dinge als für andere Systembuilds zu tun:Hier können Sie ein anderes Dateisystemlayout einrichten als bei anderen Systemtypen. Hoffentlich werden für lokale Anpassungen andere Bezeichnungen verwendet als vom Kernel, wenn man den einzelnen Namespace berücksichtigt.
quelle