config BR2_TARGET_ROOTFS_ISO9660 bool "iso image" depends on (BR2_i386 || BR2_x86_64) depends on BR2_LINUX_KERNEL depends on BR2_TARGET_GRUB2 || BR2_TARGET_SYSLINUX_ISOLINUX select BR2_LINUX_KERNEL_INSTALL_TARGET \ if (!BR2_TARGET_ROOTFS_ISO9660_INITRD && !BR2_TARGET_ROOTFS_INITRAMFS) help Build a bootable ISO9660 image. By default, the root filesystem is directly packed as the ISO9660 filesystem, which means the root filesystem will be read-only. It requires ISO9660 filesystem support and CDROM support in the kernel. However, if BR2_TARGET_ROOTFS_INITRAMFS or BR2_TARGET_ROOTFS_ISO9660_INITRD have been enabled, the ISO9660 filesystem will only contain a kernel image and optionally an external initrd image. In this case, the filesystem being in RAM, it will be read/write. No ISO9660 or CDROM support is needed in the kernel. if BR2_TARGET_ROOTFS_ISO9660 choice prompt "Bootloader" config BR2_TARGET_ROOTFS_ISO9660_GRUB2 bool "grub2" depends on BR2_TARGET_GRUB2 \ && (BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI) select BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER \ if BR2_TARGET_GRUB2_I386_PC select BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER \ if (BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI) help Use Grub 2 as the bootloader for the ISO9660 image. Make sure to enable the 'iso9660' module in BR2_TARGET_GRUB2_BUILTIN_MODULES_PC and/or BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI. For GRUB on BIOS, use 'cd' as the boot partition in BR2_TARGET_GRUB2_BOOT_PARTITION setting. For GRUB on EFI 'set root=(cd0)' in the configuration file passed to BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_BOOT_MENU, although the default configuration file contains a "search" directive using BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_IDENT_FILE, which works too. config BR2_TARGET_ROOTFS_ISO9660_ISOLINUX bool "isolinux" depends on BR2_TARGET_SYSLINUX_ISOLINUX select BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER help Use ISOLINUX as the bootloader for the ISO9660 image. ISOLINUX is a bootloader for BIOS systems that can boot from CD-ROM or USB devices. config BR2_TARGET_ROOTFS_ISO9660_BOTH bool "both" depends on BR2_TARGET_SYSLINUX_ISOLINUX depends on BR2_TARGET_GRUB2 \ && (BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI) select BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER select BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER help Use both ISOLINUX (for BIOS boot) and GRUB2 (for UEFI boot). This creates an ISO that can boot on both legacy BIOS systems and modern UEFI systems, combined with the hybrid image option this will produce a Debian-style hybrid ISO, as it is commonly shipped alongside modern Linux distros, which can both be flashed to USB and burned to CD/DVD-ROM. endchoice config BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER bool config BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER bool config BR2_TARGET_ROOTFS_ISO9660_ISOLINUX_BOOT_MENU string "Isolinux configuration file" depends on BR2_TARGET_ROOTFS_ISO9660_ISOLINUX || BR2_TARGET_ROOTFS_ISO9660_BOTH default "fs/iso9660/isolinux.cfg" help Use this option to provide a custom ISOLINUX configuration file (isolinux.cfg). Note that the strings __KERNEL_PATH__ and __INITRD_PATH__ will automatically be replaced by the path to the kernel and initrd images respectively (or removed, if not applicable). config BR2_TARGET_ROOTFS_ISO9660_GRUB2_BOOT_MENU string "Grub2 configuration file" depends on BR2_TARGET_ROOTFS_ISO9660_GRUB2 || BR2_TARGET_ROOTFS_ISO9660_BOTH default "fs/iso9660/grub.cfg" help Use this option to provide a custom GRUB2 configuration file (grub.cfg). Note that the strings __KERNEL_PATH__ and __INITRD_PATH__ will automatically be replaced by the path to the kernel and initrd images respectively (or removed, if not applicable). config BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_BOOT_MENU string "Grub2 configuration file (EFI)" depends on (BR2_TARGET_ROOTFS_ISO9660_GRUB2 || BR2_TARGET_ROOTFS_ISO9660_BOTH) \ && BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER default "fs/iso9660/efigrub.cfg" help Use this option to provide a custom GRUB2 configuration file (grub.cfg), embedded both in the EFI partition and the ISO9660 filesystem EFI-structure (for an EFI bootloader to find). It will usually contain a "search" and "source" directive to find the ISO9660 filesystem containing a common (BIOS) GRUB2 configuration. Alternatively, 'set root=(cd0)' and other such quirks are possible here. Note that any string __EFI_ID_FILE__ will automatically be replaced with the BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_IDENT_FILE. config BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_IDENT_FILE string "Grub2 identification file (EFI)" depends on (BR2_TARGET_ROOTFS_ISO9660_GRUB2 || BR2_TARGET_ROOTFS_ISO9660_BOTH) \ && BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER default "/boot/buildroot" help Use this option to provide a custom name for the identification file that is added to the ISO9660 filesystem, so the EFI bootloader can better "search" it among possibly multiple attached boot devices. config BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_PARTITION_SIZE string "Grub2 partition size (EFI)" depends on (BR2_TARGET_ROOTFS_ISO9660_GRUB2 || BR2_TARGET_ROOTFS_ISO9660_BOTH) \ && BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER default "3M" help Use this option to increase the size of the EFI partition. Embedding more GRUB2 modules may require a larger EFI partition size. Beware that sizes above 32M may not be compatible with all systems. xorriso will raise warnings, but not fail partitions larger than 32M. If you exceed 32M, carefully examine your builds and partition layouts. config BR2_TARGET_ROOTFS_ISO9660_INITRD bool "Use initrd" depends on !BR2_TARGET_ROOTFS_INITRAMFS default y select BR2_TARGET_ROOTFS_CPIO help Enable this option to have the root filesystem bundled as an initrd/initramfs rather than directly as the ISO9660 filesystem. With this option enabled, the ISO9660 will only contain a kernel image, an initrd image (unless an initramfs linked into the kernel is used) and the bootloader. config BR2_TARGET_ROOTFS_ISO9660_TRANSPARENT_COMPRESSION bool "transparent compression" depends on !BR2_TARGET_ROOTFS_ISO9660_INITRD depends on !BR2_TARGET_ROOTFS_INITRAMFS help Enables the use of transparent (de)compression. All files are stored compressed and will be decompressed on-the-fly upon access at runtime. config BR2_TARGET_ROOTFS_ISO9660_HYBRID bool "Build hybrid image" depends on BR2_TARGET_ROOTFS_ISO9660_ISOLINUX || BR2_TARGET_ROOTFS_ISO9660_BOTH help Enable this option to build a hybrid image, which is an image that can either be burned to CD/DVD-ROM or flashed onto a device which the BIOS considers as HDD/removable device (e.g. USB stick) endif comment "iso image needs a Linux kernel and either grub2 or isolinux to be built" depends on BR2_i386 || BR2_x86_64 depends on !BR2_LINUX_KERNEL || \ !(BR2_TARGET_GRUB2 || BR2_TARGET_SYSLINUX_ISOLINUX)