После этого initrd/initramfs (извлекается и монтируется только историческая разница ), запускается скрипт /init. В основном он только монтирует настоящий корень с помощью модулей из initramfs.
И затем он должен повернуть/переключить корень на этот новый раздел, что возможно только при pid 1.
Вот минимальный скрипт /init:
mkdir /newroot
mount /dev/sda2 /newroot
mount --move /sys /newroot
mount --move /dev /newroot
mount --move /proc /newroot
switch_root /newroot /bin/bash
(или /sbin/init для нормального продолжения)
Дело в том, что ядро не может смонтировать /dev/sda2 без встроенных необходимых модулей. Наличие модулей на sda2 не помогает :egg -и -проблеме hen.
Итак, ядро получает cpio-архив с корневой файловой системой, содержащей модули и скрипты. Ядро просто передает /init и завершает свой собственный запуск.
Эта ссылка на gentoo начинается с:
initramfs is a root filesystem that is embedded into the kernel...
Что это должно означать?
Это минимальная командная строка ядра:
vmlinuz root=/dev/sdaX
приказывает загрузчику загрузить ядро «vmlinuz» и приказывает ядру смонтировать /dev/sdaX.
И это:
vmlinuz initrd=initramfs.img root=/dev/sdaX
заставляет загрузчик также загружать initrd, который ядро обнаружит и смонтирует как root, и сообщает (сценарию по умолчанию )/init, чтобы повернуть/переключиться на /dev/sdaX (, а затем запустить по умолчанию /sbin/init ).
Я использую множество дистрибутивов, но не нашел ни одного, в котором py3 -pyt5 установлен по умолчанию. (Поскольку мне нужна эта библиотека для одной из моих программ ).
Я бы выбрал Xubuntu и создал свой собственный «дистрибутив», например этот
Причина использования Xubuntu заключается в том, что он легкий и легко настраиваемый.