2 Commits

Author SHA1 Message Date
michael.hudson@canonical.com
51624c1b44
Place ISO artifacts directly into the ISO tree
For MAKE_ISO=yes builds, squashfs, kernel, initrd, manifests, and sizes
are now placed directly into config/iso-dir/iso-root/casper/ during the
build rather than creating livecd.* intermediates that get linked as
for-iso.* files and then copied into casper/ by isobuild.

This stops publishing the intermediate livecd.* artifacts so that only
livecd.*.iso and livecd.*.netboot.tar.gz are published for ISO builds.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-30 20:30:10 +13:00
michael.hudson@canonical.com
b3fdc4e615
Add isobuild tool to build installer ISOs
This adds a new tool, isobuild, which replaces the ISO-building
functionality previously provided by live-build and cdimage. It is
invoked from auto/build when MAKE_ISO=yes.

The tool supports:
 - Layered desktop images (Ubuntu Desktop, flavors)
 - Non-layered images (Kubuntu, Ubuntu Unity)
 - Images with package pools (most installers)
 - Images without pools (Ubuntu Core Installer)

The isobuild command has several subcommands:
 - init: Initialize the ISO build directory structure
 - setup-apt: Configure APT for package pool generation
 - generate-pool: Create the package pool from a seed
 - generate-sources: Generate cdrom.sources for the installed system
 - add-live-filesystem: Add squashfs and kernel/initrd to the ISO
 - make-bootable: Add GRUB and other boot infrastructure
 - make-iso: Generate the final ISO image

auto/config is updated to:
 - Set MAKE_ISO=yes for relevant image types
 - Set POOL_SEED_NAME for images that need a package pool
 - Invoke gen-iso-ids to compute ISO metadata

auto/build is updated to:
 - Remove old live-build ISO handling code
 - Invoke isobuild at appropriate points in the build

lb_binary_layered is updated to create squashfs files with
cdrom.sources included for use in the ISO.
2026-02-11 09:41:06 +13:00