mirror of
https://github.com/PartialVolume/shredos.x86_64.git
synced 2026-02-20 09:35:26 +00:00
177 lines
6.9 KiB
Plaintext
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)
|