Chips |
|
Темы:
45
Сообщения:
299
Участник с: 14 января 2014
|
Доброго времени суток в общем уже давно интересовался вопросом сборкой LiveCD и вот практически разобрался что к чему но уже на финишной прямой споткнулся. В теории всё просто : 1) SysLinux (или какой либо другой загрузчик) 2) Ядро 3) initrd Временная FS 4) rootfs.sfs Сжатый mksquashfs и настроенный корневой раздел Загрузчик загружает в память ядро и initrd в котором выполняется linuxrc который монтирует и передаёт управление FS в rootfs.sfs. Но вот у меня затык, при попытке загрузить сие чудо получаю Kernel panic как я понимаю ядро не может загрузить корневой раздел то есть мой initrd не грузится поскольку даже нет сообщения "Simple initrd is active" почему не работает не могу понять. Собирал его на базе busybox мой скрипт для создания initrd Часть конфига syslinux
|
jim945 |
|
Темы:
8
Сообщения:
3066
Участник с: 25 января 2010
|
ChipsПочему не используете mkinitcpio + archiso? В dracut тоже есть готовые модули.
Lupus pilum mutat, non mentem.
|
jim945 |
|
Темы:
8
Сообщения:
3066
Участник с: 25 января 2010
|
Вы используете для инит сжатый контейнер с ext2. Если не ошибаюсь то сейчас "принято" использовать cpio формат. Возможно ядро собрано только с ним. Посмотрите ядерный конфиг.
Lupus pilum mutat, non mentem.
|
Chips |
|
Темы:
45
Сообщения:
299
Участник с: 14 января 2014
|
jim945Спасибо за подсказку, сейчас сжал в архив cpio и с 10й попытки заработало была ещё ошибка в линке lib64 на lib после её исправления всё заработало. Плюс ещё переименовал скрипт инициализации linuxrc в init. Хотя до этого мои попытки с cpio также не давали результата. С dracut у меня пока не сложилось, я просто не понимаю как в него интегрировать скрипт init. Почему не использую mkinitcpio в связке с archiso. Во первых просто хотелось разобраться как это работает изнутри и в дальнейшем планируется это использовать на других дистрибутивах отличных от Arch. Есть задумки для одной встраиваемой системы где как раз всё должно будит работать из initrd |
jim945 |
|
Темы:
8
Сообщения:
3066
Участник с: 25 января 2010
|
ChipsПодумал, что цель соблать свой live. Поэтому и предложил готгвые варианты. ChipsDracut и mkinitcpio формируют initramfs и реализуют свои init'ы. Они хороши модульностью и автоматизацией. Позволяют реализовать свои сценарии загрузки из готовых "блоков" Рекомендую посмотреть исходники mkinitcpio и его базовых модулей. Он достаточно прост для изучения и прояснит много тонкостей.
Lupus pilum mutat, non mentem.
|
Chips |
|
Темы:
45
Сообщения:
299
Участник с: 14 января 2014
|
jim945Да так и задумывается но без привязки к какому либо дистрибутиву и готовым инструментам |