Skip to content

Feature: _iso ​

Description ​

Produces a hybrid bootable ISO artifact that supports both UEFI and legacy BIOS boot for use on physical hardware, virtual machines, or USB media.

What it does ​

_iso assembles a bootable .iso image containing a live Garden Linux system. The ISO includes a compressed SquashFS root filesystem (/live/squashfs.img), a UEFI boot path using systemd-boot with a Unified Kernel Image (UKI), and a legacy BIOS boot path using syslinux/isolinux. Console autologin is enabled on both tty1 and the serial console, so the live environment is accessible immediately without credentials.

The ISO includes _install so the running live system can install Garden Linux to disk. For fully unattended installation, also add _autoinstall.

The feature uses dracut with the dracut-live module to build the initrd and python3-pefi (and related tools) to produce the UKI. isolinux provides the legacy BIOS boot support.

_iso is incompatible with _selinux because SELinux extended-attribute labeling cannot be applied to the live SquashFS environment at build time.

Files ​

Files present in this feature and their purpose. See the feature file reference for the semantics of each file type.

FilePurpose
file.include.markers.yaml (ref)Maps files in this feature to test-coverage marker IDs.
image.iso (ref)Build script that assembles the final .iso file from the rootfs, bootloader, and live SquashFS.
info.yaml (ref)Declares type: flag, artifact .iso, and included/excluded features.
pkg.include (ref)Installs dracut, dracut-core, dracut-live, binutils, isolinux, python3-pefi, and related tools needed to build the ISO.
file.include/etc/systemd/system/getty@tty1.service.d/autologin.conf (file.include)Configures getty on tty1 for automatic root login in the live environment.
file.include/etc/systemd/system/serial-getty@.service.d/autologin.conf (file.include)Configures the serial getty for automatic root login on the serial console in the live environment.

Includes:

  • _install — Provides /opt/install/install.sh so the live ISO can install Garden Linux to disk.

Excludes (incompatible with):

  • _selinux — SELinux extended-attribute labeling is incompatible with the live SquashFS build process.