Экспериментирую с созданием initramfs на коленке, так сказать. Встали некоторые вопросы. Вот например, в LFS'ном хинте (http://www.linuxfromscratch.org/hints/downloads/files/initramfs.txt) /proc перемещают из initramfs в основную систему
mount -o move /proc /new-root/proc
, а в Gentoo у меня это не сработало, говорит при загрузке, что /proc уже смонтировано, и дальше грузиться не можу. Нашёл другой пример init-сценария в инете, там просто umount /proc делается в конце. Сейчас у меня так и работает. Чем это чревато? Какую информацию я при этом не передаю из initramfs в основную систему?
Кроме того, в том же хинте параметры ядра, передаваемые загрузчиком извлекают командой:
CMDLINE=`cat /proc/cmdline`
У меня жалуется, что нету такого файла /proc/cmdline (/proc смонтирована). Пришлось все параметры захардкодить. Как передавать в init-сценарий параметры ядра?
Ещё в хинте используется команда fstype из пакета klibc-utils-1.1.1, а я поставил klibc-utils-1.5, там такой нет, пришлось захардкодить FSTYPE (хотя это, наверное, не обязательно, если mount сама определяет файловую систему). Как тут быть? Считать, что оно мне не надо?
Ещё, я хочу создать initramfs, без klibc и статических бинарников; хочу glibc. Но в init-сценарии есть run-init из klibc-utils, который я не знаю чем заменить. В описании сказано что он "nuke-initramfs-then-run-the- final-init" (exec run-init последняя команда в init-сценарии). Что из этого делает pivot_root, а что не делает?
Ещё, я в init-сценарии монтирую будущую корневую файловую систему, а потом, при загрузке основной системы она монтируется заново, причём только для чтения, а потом снова перемонтируется, на этот раз окончательно. Правильно я понимаю, что поведение системы на этом этапе описывается rc-сценариями из директории /etc/init.d моего Gentoo? А если неправильно, где копать?
Вообще, если я сделаю initramfs в котором будет проверяться файловая система, настраиваться сеть и запускаться несколько сервисов, то как потом правильно перейти к основной системе? Чтобы не пришлось лишнего останавливать, перезапускать, передывать то, что уже сделано.