3e57fa370c
The iso9660 generation for grub2 assumes that grub-eltorito.img is available. However, this image is only available for the i386-pc target (i.e. legacy BIOS). An EFI-bootable iso9660 requires a different layout. Since we currently can't generate the EFI-bootable iso9660 layout, require the i386-pc target to be selected in grub. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reported-by: arnaud.miche@orange.com Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
89 lines
3.0 KiB
Plaintext
89 lines
3.0 KiB
Plaintext
config BR2_TARGET_ROOTFS_ISO9660
|
|
bool "iso image"
|
|
depends on (BR2_i386 || BR2_x86_64)
|
|
depends on BR2_LINUX_KERNEL
|
|
depends on BR2_TARGET_GRUB || \
|
|
BR2_TARGET_GRUB2_I386_PC || \
|
|
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_GRUB
|
|
bool "grub"
|
|
depends on BR2_TARGET_GRUB
|
|
select BR2_TARGET_GRUB_FS_ISO9660
|
|
|
|
config BR2_TARGET_ROOTFS_ISO9660_GRUB2
|
|
bool "grub2"
|
|
depends on BR2_TARGET_GRUB2_I386_PC
|
|
help
|
|
Use Grub 2 as the bootloader for the ISO9660 image. Make
|
|
sure to enable the 'iso9660' module in
|
|
BR2_TARGET_GRUB2_BUILTIN_MODULES and to use 'cd' as the boot
|
|
partition in BR2_TARGET_GRUB2_BOOT_PARTITION=.
|
|
|
|
config BR2_TARGET_ROOTFS_ISO9660_ISOLINUX
|
|
bool "isolinux"
|
|
depends on BR2_TARGET_SYSLINUX_ISOLINUX
|
|
|
|
endchoice
|
|
|
|
config BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU
|
|
string "Boot menu config file"
|
|
default "fs/iso9660/menu.lst" if BR2_TARGET_ROOTFS_ISO9660_GRUB
|
|
default "fs/iso9660/grub.cfg" if BR2_TARGET_ROOTFS_ISO9660_GRUB2
|
|
default "fs/iso9660/isolinux.cfg" if BR2_TARGET_ROOTFS_ISO9660_ISOLINUX
|
|
help
|
|
Use this option to provide a custom bootloader configuration
|
|
file (menu.lst for Grub, grub.cfg for Grub 2, isolinux.cfg for
|
|
isolinux).
|
|
|
|
Note that the strings __KERNEL_PATH__ and __INITRD_PATH__
|
|
will automatically be replaced by the path to the kernel and
|
|
initrd images respectively.
|
|
|
|
config BR2_TARGET_ROOTFS_ISO9660_INITRD
|
|
bool "Use initrd"
|
|
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_HYBRID
|
|
bool "Build hybrid image"
|
|
depends on BR2_TARGET_ROOTFS_ISO9660_ISOLINUX
|
|
help
|
|
Enable this option to build an hybrid image, i.e an image
|
|
which can either be booted from a CD-ROM or from a device
|
|
which BIOS considers a hard disk or ZIP disk, e.g. a USB key
|
|
or similar.
|
|
|
|
endif
|
|
|
|
comment "iso image needs a Linux kernel and one of grub, grub2 i386-pc or isolinux to be built"
|
|
depends on BR2_i386 || BR2_x86_64
|
|
depends on !BR2_LINUX_KERNEL || \
|
|
!(BR2_TARGET_GRUB || BR2_TARGET_GRUB2_I386_PC || BR2_TARGET_SYSLINUX_ISOLINUX)
|