Здравствуйте, коллеги!
Есть такой инструмент https://github.com/osboot/make-initrd/
Он вшит в Altlinux, но, так же, может использоваться в других системах.
Если вы им когда-то пользовались, то подскажите, пожалуйста, по следующим вопросам:
-
Как добавить нужные мне модули ядра? (например squashfs)
-
Как добавить некоторые утилиты? (например fdisk)
-
Можно ли оперируя свойствами загрузки ядра (/proc/cmdline) заставить initrd загружать систему из squashfs образа, накладывать на него overlay (rw layer) используя какой-то раздел?
Я добился нужного результата нагородив не хилый набор скриптов, которые разбирают имеющийся initrd из altlinux, напихивают в него нужные модули ядра (копирование из базовой системы), перегенерируют modules.dep, дальше подменяют в initrd /init своим скриптом.
Но, насколько понимаю, я занимаюсь изобретением велосипеда и большую часть можно сделать используя этот make-initrd.
Вроде, все прозрачно. Весь набор скриптов make-initrd это make и bash скрипты, но…
make я знаю из рук вон плохо. Можно сказать, что не знаю.
bash скрипты уже ближе, но написаны они не в моем стиле и разбирать их сСущее наказание. Потому оказалось проще написать самому скрипты, которые выполняют нужные действия.