mirror of
https://github.com/PartialVolume/shredos.x86_64.git
synced 2026-02-20 09:35:26 +00:00
243 lines
9.9 KiB
Plaintext
243 lines
9.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"
|
|
depends on BR2_TARGET_ROOTFS_ISO9660
|
|
|
|
config BR2_TARGET_ROOTFS_ISO9660_GRUB2
|
|
bool "grub2"
|
|
depends on BR2_TARGET_ROOTFS_ISO9660
|
|
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
|
|
(when used) BR2_TARGET_GRUB2_BUILTIN_MODULES_PC and (when used)
|
|
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_GRUB2_BUILTIN_CONFIG_EFI, although just an ISO9660
|
|
BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_BOOT_MENU containing a "search"
|
|
using the BR2_TARGET_ROOTFS_ISO9660_GRUB2_EFI_IDENT_FILE also works.
|
|
|
|
config BR2_TARGET_ROOTFS_ISO9660_ISOLINUX
|
|
bool "isolinux"
|
|
depends on BR2_TARGET_ROOTFS_ISO9660
|
|
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_ROOTFS_ISO9660
|
|
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_VOLUME_NAME
|
|
string "iso volume name"
|
|
depends on BR2_TARGET_ROOTFS_ISO9660
|
|
default "ISO9660"
|
|
help
|
|
Set the Volume ID of the ISO image. xorriso accepts any text up to 32
|
|
characters, but according to rarely obeyed specs stricter rules apply:
|
|
Conformant are ASCII characters out of [A-Z0-9_], like: "IMAGE_23". Joliet
|
|
allows 16 UCS-2 characters, like: "Windows name". Be aware that the volume
|
|
ID might get used automatically as name of the mount point when the medium
|
|
is inserted into a playful computer system.
|
|
|
|
config BR2_TARGET_ROOTFS_ISO9660_ISOLINUX_BOOT_MENU
|
|
string "Isolinux configuration file"
|
|
depends on BR2_TARGET_ROOTFS_ISO9660
|
|
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
|
|
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
|
|
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), copied both to 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.
|
|
|
|
This is specifically for directives required for ISO9660 builds, for
|
|
baking an EFI search config into the common GRUB image (often better)
|
|
check out instead the GRUB2 setting: BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI
|
|
|
|
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).
|
|
|
|
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
|
|
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
|
|
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_ISO9660
|
|
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
|
|
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
|
|
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)
|
|
|
|
config BR2_TARGET_ROOTFS_ISO9660_HYBRID_APPEND_PARTITION
|
|
string "Append partition to hybrid image"
|
|
depends on BR2_TARGET_ROOTFS_ISO9660
|
|
depends on BR2_TARGET_ROOTFS_ISO9660_BOTH
|
|
depends on BR2_TARGET_ROOTFS_ISO9660_HYBRID
|
|
default ""
|
|
help
|
|
Enable this option to append a prepared filesystem image
|
|
to the hybrid image, useful when needing a writeable data
|
|
partition for USBs - should be considered as EXPERIMENTAL.
|
|
|
|
The path is expected to be relative to folder "output/images/".
|
|
|
|
You can use e.g. a BR2_ROOTFS_POST_BUILD_SCRIPT for preparing
|
|
the respective filesystem image for your target configuration.
|
|
|
|
config BR2_TARGET_ROOTFS_ISO9660_HYBRID_APPEND_PARTITION_TYPE
|
|
string "Append partition type"
|
|
depends on BR2_TARGET_ROOTFS_ISO9660
|
|
depends on BR2_TARGET_ROOTFS_ISO9660_BOTH
|
|
depends on BR2_TARGET_ROOTFS_ISO9660_HYBRID
|
|
depends on BR2_TARGET_ROOTFS_ISO9660_HYBRID_APPEND_PARTITION != ""
|
|
default "0x0e"
|
|
help
|
|
May be "FAT12", "FAT16", "Linux", or a hexadecimal number between 0x00 and
|
|
0xff. Not all those numbers will yield usable results. For a list of codes
|
|
search the internet for "Partition Types". If the partition appears in GPT
|
|
then 0xef is mapped to the EFI System Partition Type GUID. All others get
|
|
mapped to Basic Data Type GUID. May also be a type GUID as plain hex
|
|
string like a2a0d0ebe5b9334487c068b6b72699c7 or as structured text like
|
|
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7. It will be used if the partition is
|
|
mentioned in GPT. In MBR, C12A7328-F81F-11D2-BA4B-00A0C93EC93B will be
|
|
mapped to 0xef. Any other GUID will be mapped to 0x83.
|
|
|
|
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)
|