0

I have custom vmlinuz and initrd files that compose a PXE image I use. Is there any way of building an ISO equivalent image given this initram image?

I cannot seem anything obvious from genisoimage or mkisofs tools. Am I missing something and maybe what I try to accomplish does not make sense?

1 Answer 1

1

The first question is, are you going to be booting UEFI or legacy BIOS systems? Or maybe both?

For legacy BIOS systems, you need a bootloader that is able to both fulfill the ISO9660 filesystem boot specification (El Torito), and boot Linux, such as ISOLINUX.

You'll need to write a configuration file for the bootloader that tells it to load your vmlinuz and initrd and supply any necessary kernel boot options, then build the ISO image out of the bootloader, its configuration file, vmlinuz and initrd. At the genisoimage/mkisofs phase, you'll need to add some options to indicate that the ISO image should be built with the El Torito extension included.

Note that this will give you an ISO image that will be bootable as a real or virtual CD/DVD only.

To also make the ISO image work when written to a USB stick or other HDD-like media, you'll need to add another set of structures to the image file, so it will also be interpretable as a valid bootable HDD image. This process might be called the isohybrid process, by the name of the first tool that made it possible. Newer ISO image creation tools like xorriso now have the functionality for this built-in.

For UEFI, many common UEFI firmware implementations will handle ISO9660 filesystems, so any UEFI bootloader that can load a Linux vmlinuz and initrd files should work. You just need to place that bootloader to the ISO filesystem so that the bootloader file will be at <ISO mountpoint>/EFI/boot/bootx64.efi (assuming you're going to boot a 64-bit x86 system; for other architectures, UEFI has different bootloader file names).

It is also possible to embed a FAT32 filesystem image that contains the UEFI boot files into an ISO image, to satisfy even the older/stricter/minimalist UEFI implementations that only support a FAT32 filesystem type, but can load one from a ISO9660/El Torito bootable CD. Again, your ISO image creator tool will need some options to specify that you want to do this, and you would also need to supply the FAT32 filesystem image.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .