Сбой при выполнении /init - генерация iso-файла
Я пытаюсь сделать ISO-файл, у меня есть следующий isolinux.cfg:
kernel vmlinuz
initrd initrd.img
Я поместил эти файлы в каталог isolinux (вместе с isolinux.bin и ldlinux.c32), и этот initrd.img является довольно стандартным initramfs, содержащим busybox и /init скрипт, который я сделал для настройки системы из другого img файл на iso. initrd.img был сжат с помощью find . -print0 | cpio --null -ov --format=newc | xz -9 --check=crc32
который прекрасно работает с этим ядром, я использовал его в другом месте с grub.
При загрузке ядро и initrd загружаются с помощью isolinux просто отлично, но затем я получаю панику ядра, говорящую "Не удалось выполнить /init (ошибка -2)", которая кажется ENOENT, поэтому я предполагаю, что /init не Существуют (я поставил эхо в самом начале, которое я не вижу, так что это не одна из команд, возвращающих эту ошибку). Я немного не очень понимаю, как работает процесс загрузки для initrd, насколько я понимаю, он загружается с помощью isolinux, но затем ядро делает некоторую магию, чтобы преобразовать его из initrd в initramfs, который затем используется.
Как я мог отладить это? Поскольку это работает нормально с этим точным ядром и initrd, собранным таким же образом, но с использованием grub на обычном жестком диске, я думаю, что что-то мне не хватает в isolinux. Возможно, я пропускаю ошибку, я не знаю, экран переходит от "загрузка vmlinux .. загрузка initrd .." к панике ядра так быстро, что трудно сказать.