Почему Linux допускает init = / bin / bash?
Я прочитал это, ответы говорят, что это KERNEL, запускающий эту программу инициализации.
Тогда я начал задаваться вопросом, Linux обычно поставляется с initramfs, который в конечном итоге монтирует и pivot_root в настоящую корневую файловую систему. Так что же означает этот init
аргумент? Путь в initramfs? Или, как я догадался, он не читается ядром, а инициализируется initramfs, чтобы выполнить настоящий init.
Кроме того, root=UUID=xxxx
аргумент, действительно ли это читается ядром или просто init initffs, чтобы найти настоящую корневую файловую систему?
Кажется, что я могу передать любой аргумент, который я хочу, в качестве аргументов ядра, поэтому все ли они читаются ядром или, по крайней мере, некоторые из них имеют смысл только для программ пользовательского пространства?
источник
ld-linux.so
ELF или слишком глубокий сценарий рекурсии или что-то просто не может быть выполнено?/init
загрузки с виртуального диска , вы можете использоватьrdinit=/path/to
параметр загрузки.Передача пользовательских аргументов ядра является одним из способов настройки системы во время установки KickStart, например, сервер PXE может установить:
где
lab
затем используется в конфигурации KickStart для выполнения действий, отличных от других сборок системы:Здесь для настройки другого расположения файловой системы, чем используется в других типах систем. Надеемся, что для локальных настроек используются разные метки, чем те, которые используются ядром, учитывая единственное задействованное пространство имен.
источник