1*4882a593Smuzhiyunconfig BR2_TARGET_ROOTFS_ISO9660 2*4882a593Smuzhiyun bool "iso image" 3*4882a593Smuzhiyun depends on (BR2_i386 || BR2_x86_64) 4*4882a593Smuzhiyun depends on BR2_LINUX_KERNEL 5*4882a593Smuzhiyun depends on BR2_TARGET_GRUB2 || BR2_TARGET_SYSLINUX_ISOLINUX 6*4882a593Smuzhiyun select BR2_LINUX_KERNEL_INSTALL_TARGET \ 7*4882a593Smuzhiyun if (!BR2_TARGET_ROOTFS_ISO9660_INITRD && !BR2_TARGET_ROOTFS_INITRAMFS) 8*4882a593Smuzhiyun help 9*4882a593Smuzhiyun Build a bootable ISO9660 image. By default, the root 10*4882a593Smuzhiyun filesystem is directly packed as the ISO9660 filesystem, 11*4882a593Smuzhiyun which means the root filesystem will be read-only. It 12*4882a593Smuzhiyun requires ISO9660 filesystem support and CDROM support in the 13*4882a593Smuzhiyun kernel. 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun However, if BR2_TARGET_ROOTFS_INITRAMFS or 16*4882a593Smuzhiyun BR2_TARGET_ROOTFS_ISO9660_INITRD have been enabled, the 17*4882a593Smuzhiyun ISO9660 filesystem will only contain a kernel image and 18*4882a593Smuzhiyun optionally an external initrd image. In this case, the 19*4882a593Smuzhiyun filesystem being in RAM, it will be read/write. No ISO9660 20*4882a593Smuzhiyun or CDROM support is needed in the kernel. 21*4882a593Smuzhiyun 22*4882a593Smuzhiyunif BR2_TARGET_ROOTFS_ISO9660 23*4882a593Smuzhiyun 24*4882a593Smuzhiyunchoice 25*4882a593Smuzhiyun prompt "Bootloader" 26*4882a593Smuzhiyun 27*4882a593Smuzhiyunconfig BR2_TARGET_ROOTFS_ISO9660_GRUB2 28*4882a593Smuzhiyun bool "grub2" 29*4882a593Smuzhiyun depends on BR2_TARGET_GRUB2 30*4882a593Smuzhiyun select BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER \ 31*4882a593Smuzhiyun if BR2_TARGET_GRUB2_I386_PC 32*4882a593Smuzhiyun select BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER \ 33*4882a593Smuzhiyun if (BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI) 34*4882a593Smuzhiyun help 35*4882a593Smuzhiyun Use Grub 2 as the bootloader for the ISO9660 image. Make 36*4882a593Smuzhiyun sure to enable the 'iso9660' module in 37*4882a593Smuzhiyun BR2_TARGET_GRUB2_BUILTIN_MODULES_PC or 38*4882a593Smuzhiyun BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI. Use 'cd' as the boot 39*4882a593Smuzhiyun partition in BR2_TARGET_GRUB2_BOOT_PARTITION= for GRUB on BIOS 40*4882a593Smuzhiyun or 'set root=(cd0)' in the configuration file passed to 41*4882a593Smuzhiyun BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI for GRUB on EFI. 42*4882a593Smuzhiyun 43*4882a593Smuzhiyunconfig BR2_TARGET_ROOTFS_ISO9660_ISOLINUX 44*4882a593Smuzhiyun bool "isolinux" 45*4882a593Smuzhiyun depends on BR2_TARGET_SYSLINUX_ISOLINUX 46*4882a593Smuzhiyun select BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER 47*4882a593Smuzhiyun 48*4882a593Smuzhiyunendchoice 49*4882a593Smuzhiyun 50*4882a593Smuzhiyunconfig BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER 51*4882a593Smuzhiyun bool 52*4882a593Smuzhiyun 53*4882a593Smuzhiyunconfig BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER 54*4882a593Smuzhiyun bool 55*4882a593Smuzhiyun 56*4882a593Smuzhiyunconfig BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU 57*4882a593Smuzhiyun string "Boot menu config file" 58*4882a593Smuzhiyun default "fs/iso9660/grub.cfg" if BR2_TARGET_ROOTFS_ISO9660_GRUB2 59*4882a593Smuzhiyun default "fs/iso9660/isolinux.cfg" if BR2_TARGET_ROOTFS_ISO9660_ISOLINUX 60*4882a593Smuzhiyun help 61*4882a593Smuzhiyun Use this option to provide a custom bootloader configuration 62*4882a593Smuzhiyun file (grub.cfg for Grub 2, isolinux.cfg for isolinux). 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun Note that the strings __KERNEL_PATH__ and __INITRD_PATH__ 65*4882a593Smuzhiyun will automatically be replaced by the path to the kernel and 66*4882a593Smuzhiyun initrd images respectively. 67*4882a593Smuzhiyun 68*4882a593Smuzhiyunconfig BR2_TARGET_ROOTFS_ISO9660_INITRD 69*4882a593Smuzhiyun bool "Use initrd" 70*4882a593Smuzhiyun default y 71*4882a593Smuzhiyun select BR2_TARGET_ROOTFS_CPIO 72*4882a593Smuzhiyun help 73*4882a593Smuzhiyun Enable this option to have the root filesystem bundled as an 74*4882a593Smuzhiyun initrd/initramfs rather than directly as the ISO9660 75*4882a593Smuzhiyun filesystem. With this option enabled, the ISO9660 will only 76*4882a593Smuzhiyun contain a kernel image, an initrd image (unless an initramfs 77*4882a593Smuzhiyun linked into the kernel is used) and the bootloader. 78*4882a593Smuzhiyun 79*4882a593Smuzhiyunconfig BR2_TARGET_ROOTFS_ISO9660_TRANSPARENT_COMPRESSION 80*4882a593Smuzhiyun bool "transparent compression" 81*4882a593Smuzhiyun depends on !BR2_TARGET_ROOTFS_ISO9660_INITRD 82*4882a593Smuzhiyun depends on !BR2_TARGET_ROOTFS_INITRAMFS 83*4882a593Smuzhiyun help 84*4882a593Smuzhiyun Say 'y' to enable use of transparent (de)compression. Files 85*4882a593Smuzhiyun are stored compressed and will be decompressed on-the-fly 86*4882a593Smuzhiyun upon access at runtime. 87*4882a593Smuzhiyun 88*4882a593Smuzhiyunconfig BR2_TARGET_ROOTFS_ISO9660_HYBRID 89*4882a593Smuzhiyun bool "Build hybrid image" 90*4882a593Smuzhiyun depends on BR2_TARGET_ROOTFS_ISO9660_ISOLINUX 91*4882a593Smuzhiyun help 92*4882a593Smuzhiyun Enable this option to build an hybrid image, i.e an image 93*4882a593Smuzhiyun which can either be booted from a CD-ROM or from a device 94*4882a593Smuzhiyun which BIOS considers a hard disk or ZIP disk, e.g. a USB key 95*4882a593Smuzhiyun or similar. 96*4882a593Smuzhiyun 97*4882a593Smuzhiyunendif 98*4882a593Smuzhiyun 99*4882a593Smuzhiyuncomment "iso image needs a Linux kernel and either grub2 or isolinux to be built" 100*4882a593Smuzhiyun depends on BR2_i386 || BR2_x86_64 101*4882a593Smuzhiyun depends on !BR2_LINUX_KERNEL || \ 102*4882a593Smuzhiyun !(BR2_TARGET_GRUB2 || BR2_TARGET_SYSLINUX_ISOLINUX) 103