LINUX.ORG.RU

Как правильно создать livecd

 ,


1

3

Есть собранный LFS 8.3, который успешно грузится с hdd. Теперь пытаюсь из него livecd сделать:

cd $LFS; ln -s /sbin/init init;
find . | cpio -o -H newc | gzip -9 >/media/iso/boot/initramfs.cpio.gz
cp $LFS/boot/vmlinuz /media/iso/boot/linux

В /media/iso/boot/ есть загрузчик isolinux с таким конфигом:

default linux
prompt 1
timeout 300
display boot.msg

label linux
  kernel /boot/linux
  append initrd=/boot/initramfs.cpio.gz

iso'шник делаю так:

cd /media/iso
mkisofs -z -R -l --allow-leading-dots -D -o ../lfslivecd-8.3.iso -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "lfslivecd-8.3" ./

Распакованная initramfs весит 1.7GB, памяти на тестовой виртуалке выделено 3GB.
В итоге загрузка виснет в таком виде: https://i.imgur.com/YzNOtKC.png

Как исправить?

★★★

Если сделать тестовую initramfs из одного файла

cat > hello.c << EOF
  #include <stdio.h>
  #include <unistd.h>

  int main(int argc, char *argv[])
  {
    printf("Hello world!\n");
    sleep(999999999);
  }
EOF
gcc -static hello.c -o init
echo init | cpio -o -H newc | gzip > test.cpio.gz

и пересоздать с ней iso, то ядро нормально грузится.

dadd ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.