如何从 bzImage 和 initramfs 制作 ISO 文件

2 linux iso-image kernel

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

我如何从这些文件中制作 ISO 文件?

小智 6

我使用 grub 完成此操作,首先需要将这些目录mkdir -p iso/boot/grub复制 bzImage 和 initramfs 到“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
Run Code Online (Sandbox Code Playgroud)

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

default=0
timeout=0

title os
kernel /boot/kernel
initrd /boot/initramfs
Run Code Online (Sandbox Code Playgroud)

现在你已经完成了!

您可以使用以下命令创建 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
Run Code Online (Sandbox Code Playgroud)