如何从 bzImage 和 initramfs 制作 ISO 文件

如何从 bzImage 和 initramfs 制作 ISO 文件

我有一个 bzImage 文件和 initramfs 文件。运行时qemu-system-x86_64 -kernel bzImage -initrd initramfs一切正常,但我需要一个 ISO 文件。

我怎样才能用这些文件制作 ISO 文件?

答案1

我使用 grub 来完成此操作,首先你需要将这些目录mkdir -p iso/boot/grub复制到“iso/boot”中,然后你需要下载 grub二进制,然后复制文件:

cp stage2_eltorito iso/boot/grub/   # copy the bootloader
cp bzImage iso/boot/             # copy the kernel
cp initramfs iso/boot/             # copy the init file

然后你需要menu.lst在 grub 目录中创建一个文件touch iso/boot/grub/menu.lst,这个文件是用于 grub 配置的,你应该提供内核和 initramfs 路径:

default=0
timeout=0

title os
kernel /boot/kernel
initrd /boot/initramfs

现在您已经全部完成了!

您可以使用以下方式创建 iso 文件genisoimage

genisoimage -R                              \
            -b boot/grub/stage2_eltorito    \
            -no-emul-boot                   \
            -boot-load-size 4               \
            -A os                           \
            -input-charset utf8             \
            -quiet                          \
            -boot-info-table                \
            -o os.iso                       \
            iso

相关内容