Всем привет!
Пытаюсь скомпилить ядро линукса и сейчас я не могу собрать его в isoшник. Есть валидные файлы bzImage
и initramfs.cpio.gz
, которые через qemu замечательно подгружаются.
Собираю следующими командами:
mkdir -p iso/boot/grub/
wget http://littleosbook.github.io/files/stage2_eltorito -O iso/boot/grub/eltorito
cp bzImage iso/boot/bzImage
cp initramfs.cpio.gz iso/boot/initramfs.cpio.gz
echo "default=0\n\
timeout=5\n\
\n\
menuentry 'znix' {\n\
insmod gzio\n\
insmod part_msdos\n\
echo 'Loading znix kernel'\n\
linux /boot/bzImage init=/bin/sh\n\
echo 'Loading znix fs'\n\
initrd /boot/initramfs.cpio.gz\n\
}"\
> iso/boot/grub/grub.cfg
grub-mkrescue -o znix.iso iso/
Пишется:
[...] Unpacking initramfs...
[...] Freeing initrd memory: 364K
...
[...] Run /bin/sh as init process
[...] Kernel panic - not syncing: Requested init /bin/sh failed (error -2).
Причём пишется такое только при запуске через iso. Если запускать с двух файлов, я попадаю в консольку. В чём может быть проблема? Подтолкните новичка в нужном направлении, пожалуйста)