Files
shredos.x86_64/fs/iso9660/Config.in
2025-11-18 22:36:50 +01:00

177 lines
6.9 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_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 "/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)