1099 Commits

Author SHA1 Message Date
michael.hudson@canonical.com
93c96af216
still publish manifest for ISO builds 2026-04-02 13:55:18 +13:00
michael.hudson@canonical.com
24af8f137c
create_squashfs does not work with relative paths :/ 2026-04-02 12:32:05 +13:00
michael.hudson@canonical.com
94963d8070
no pool for mini iso! 2026-04-02 12:32:03 +13:00
michael.hudson@canonical.com
cd968f5717
do not include squashfs on ubuntu-mini-iso 2026-04-02 12:32:00 +13:00
michael.hudson@canonical.com
51fa2b9b92
auto/build: install kernel into ISO tree for non-layered builds
Non-layered MAKE_ISO=yes builds (e.g. kubuntu) had no equivalent of
the lb_binary_layered kernel placement added in the previous commit:
lb binary_linux-image put the kernel in binary/casper/ but nothing
copied it into the ISO tree (CASPER_DIR).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 20:30:19 +13:00
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
root
cbb597a46c
fix: bake LIVECD_ROOTFS_ROOT into config/functions
Hooks that only source config/functions (not config/common) would fail
with "LIVECD_ROOTFS_ROOT: parameter not set" when calling setup_mountpoint
or any function that transitively calls it. This affected ubuntu, ubuntu-cpc,
and buildd hooks.

Rather than adding `. config/common` to every hook, prepend the
LIVECD_ROOTFS_ROOT assignment to config/functions at config time so it is
available to all callers automatically.
2026-03-20 06:33:06 +13:00
michael.hudson@canonical.com
6e25a58c56
make ubuntu-test-iso project use KERNEL_FLAVOURS to exercise more machinery 2026-03-02 10:50:15 +13:00
michael.hudson@canonical.com
cdd2b7fb01
configure snapd to use a proxy if one is configured 2026-02-27 14:45:56 +13:00
michael.hudson@canonical.com
7620f798f4
an attempt to be able to run from a git checkout 2026-02-27 14:43:34 +13:00
michael.hudson@canonical.com
04e2aea648
Add PROJECT=ubuntu-test-iso for fast end-to-end ISO testing
Builds a real Ubuntu ISO in ~2-3 minutes (vs 30-60 for production)
by keeping the package set minimal (casper + linux-generic only) and
using lz4 squashfs compression.

Design:
- Two-pass layered build (PASSES_TO_LAYERS=true):
  - base: installs casper
  - base.generic (LIVE_PASSES): installs linux-generic, triggers
    update-initramfs with CASPER_GENERATE_UUID=1 to embed UUID
- No package pool (POOL_SEED_NAME=), no universe, amd64 only
- SQUASHFS_COMP=lz4 (~10x faster than xz); create_squashfs() now
  respects ${SQUASHFS_COMP:-xz} so all other projects are unaffected
- Germinate is skipped (only add_package is used, no add_task/pool)

New files:
- live-build/ubuntu-test-iso/hooks/01-test-iso.chroot_early
- live-build/ubuntu-test-iso/hooks/02-test-iso-kernel.binary

Modified:
- live-build/functions: honour $SQUASHFS_COMP in create_squashfs()
- live-build/gen-iso-ids: add ubuntu-test-iso -> Ubuntu-Test-ISO
- live-build/auto/config: IMAGEFORMAT, fs, COMPONENTS, germinate
  skip, SQUASHFS_COMP default + per-project override, project block,
  write SQUASHFS_COMP to config/common, lxd exclusion, hook copying

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 14:42:52 +13:00
michael.hudson@canonical.com
a66fbc54b7
make sure the for-iso squashfs gets created in the right place for kubuntu 2026-02-26 10:13:21 +13:00
Michael Raymond
7e3c74afac feat: Use same keyring for all releases
A change in 2024 [0] was made to debootstrap in which the keyring is now
switched from ubuntu-archive-keyring.gpg to
ubuntu-archive-removed-keys.gpg after a given release goes EOL. This
means that the Release signature cannot be verified after EOL since the
Release is signed with the ubuntu-archive-keyring.gpg. It is expected
that we can continue to build any release even after the suite is
closed.
This change adds a debootstrap configuration to override this behavior
and ensure all of our images are verified against the main archive key.

Refs: [0] https://git.launchpad.net/ubuntu/+source/debootstrap/commit/?id=4f8b3405097b9f655938528ae7105ec534eb7d1b
2026-02-19 14:48:18 -05:00
michael.hudson@canonical.com
166e83f5d8
Move ubuntu-mini-iso to use isobuilder instead of debian-cd
Set MAKE_ISO=yes so ubuntu-mini-iso uses the standard isobuilder
flow in auto/build. The binary hook is simplified to just creating
kernel/initrd artifacts; isobuilder handles .disk metadata, boot
configuration, and ISO creation.

The mini-iso's custom grub.cfg (single iso-chooser-menu entry) is
generated by a project-specific path in AMD64BootConfigurator.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 10:47:18 +13:00
Utkarsh Gupta
6d954c975d Rename ISO_STATUS to BUILD_TYPE for image builds 2026-02-12 01:41:06 +05:30
michael.hudson@canonical.com
84760de4da
rename the Daily|Release in .disk/info from "official" to "iso_status" 2026-02-11 09:42:44 +13:00
michael.hudson@canonical.com
acd63ee3e4
Make sure the unlayered ISO has a cdrom.sources in as well. 2026-02-11 09:42:38 +13:00
michael.hudson@canonical.com
ab2b82e3c2
a more generic way to make sure all artefacts get a for-iso path 2026-02-11 09:42:37 +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
Michael Hudson-Doyle
9c5d326e56
Bootstrap and install variant packages if ARCH_VARIANT is set. 2026-01-06 21:26:40 +13:00
Valentin Haudiquet
9fdbaf8d6d riscv/server: add grub efi bootloader in netboot tarballs
This allows netboot tarballs to be PXE booted on QEMU; previously, the tarball was missing bootloader.

Signed-off-by: Valentin Haudiquet <valentin.haudiquet@canonical.com>
2025-12-11 09:27:56 +01:00
Michael Hudson-Doyle
c327ab7bd7
Build Ubuntu Server images with the 'restricted' component enabled. 2025-12-09 12:18:25 +13:00
Heinrich Schuchardt
7957008902 server/riscv: remove unsupported boards
Since release 25.10 we require support for the rva23s64 profile.
Remove all code relating for boards that do not match this requirement.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2025-10-14 09:40:52 +02:00
Michael Hudson-Doyle
785c4c53d3 Fix daily-dangerous builds:
* Fix daily-dangerous builds:
  - Copy hooks.
  - Mangle the channel of seeded snaps to use the edge risk of whichever
    track they are taken from.
  - Update the dangerous model to reference tracks that actually exist.
  - Include providers of content plugs when seeding snaps and creating
    TPMFDE system.
  - Do not attempt to build an UEFI boot image or hyperv desktop image for
    this project/subproject combination.
2025-09-15 09:09:02 +12:00
Dan Bungert
fddd7b7595 edubuntu: set NEEDS_DRACUT=yes 2025-09-10 09:05:30 -06:00
Dan Bungert
3ced68dee6 desktop: use dracut 2025-09-08 17:01:45 -06:00
Olivier Gayot
a54084218f Build with multipath-tools-boot
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2025-07-24 00:34:44 +02:00
Michael Hudson-Doyle
2ea437c340 Merge branch 'nvidia-kernels' into ubuntu/master 2025-06-17 22:21:14 +12:00
Dan Bungert
4c2baf9e58 server: fix hwe kernel layer having multiple kernels
LP: #2112501
2025-06-13 11:22:39 -06:00
Antoine Lassagne
208d53affc Allow to chose nvidia kernel instead of generic 2025-06-13 09:32:08 +02:00
Dave Jones
8add8daa49
ubuntu-image: Avoid filling tmpfs-based /tmp 2025-03-20 17:22:32 +00:00
Dan Bungert
d2050181d4 subiquity: easier bridge kernel setup
For subiquity installs, make it easier to enable bridge kernel, just a
boolean to set true/false.  Don't enable yet though.
2025-03-04 15:50:15 -07:00
Michael Hudson-Doyle
ff331b2d94 In ubuntu-server builds, install the first kernel in the base layer, not the "ga" kernel (which may not be installed at all, as is the case in e.g. the arm64+largemem builds). 2025-02-27 20:31:38 +13:00
Adriano Cordova
949f980646 riscv: add SUBARCH 'jh7110'
Add SUBARCH 'jh7110' for jh7110-based boards.
2025-02-25 15:28:36 -03:00
Simon Quigley
818af83d4d Add support for multiple pools (/var/lib/{livefs,preinstalled}-pool/). 2025-02-19 02:15:04 -06:00
Simon Quigley
784c7d3060 Make the package completely Lintian-clean except for no-dep5-copyright. 2025-02-18 22:53:52 -06:00
Simon Quigley
29ee4398e8 Move from http://ppa.launchpad.net to https://ppa.launchpadcontent.net when specifying EXTRA_PPAS. 2025-02-18 22:22:10 -06:00
Michael Hudson-Doyle
5fb3d42d36 Pre-emptively include the override to not try to build HWE kernel layer in post .2 server riscv64 ISOs. 2025-02-17 11:17:35 +13:00
Dan Bungert
bf17ce99e1 build: fix FLAVOUR set for lowlatency
similar to: 06fd5dacc34d018142e8fa713b6eba6011ababfc
(cherry picked from commit 2a9992ad7d538567a6449059d998bfc8c6d3103f)
2025-02-13 13:00:16 -07:00
Chris Peterson
03f95a7c04 ubuntu-core-installer: update install-sources.yaml with kernel 2025-02-05 13:58:18 -08:00
Chris Peterson
86506c838d write_kernel_yaml: quote the default argument 2025-02-05 13:58:10 -08:00
Michael Hudson-Doyle
bdd7d035e2 Stop producing a rootfs tarball for the ubuntu-mini-iso builds. 2025-02-05 11:20:18 +13:00
Michael Hudson-Doyle
c59b2165fd fix ubuntu-mini-iso build
replace reliance on cd-boot-images-amd64 with direct use of debian-cd sccripts.
2024-12-04 12:50:25 +13:00
Loïc Minier
9f0bc6a17c Merge remote-tracking branch 'rmartin013/rename-tegra-igx' into ubuntu/master
Fix typo in live-build/auto/config
2024-11-26 13:49:19 +00:00
Simon Quigley
3c39128f16 Add optional Dracut support for installed images, enable it for Lubuntu. 2024-11-23 13:49:04 -06:00
Simon Quigley
c73b51ec43 Switch Lubuntu to stacked squashfses, and split apart the common functionality to avoid Subiquity-specific commands. 2024-11-23 13:48:02 -06:00
Remy MARTIN
a666bf4110
Add tegra-jetson subarch,model,variant
The previous Tegra kernel metapackage implementation (linux-nvidia-tegra-igx)
was initially planned to apply both for Jetson devices and IGX systems. It turned
out recently (LP: #2069179) that we now need to reserve the metapackage name
linux-nvidia-tegra-igx for IGX systems, and use the new linux-nvidia-tegra-jetson
metapackage for Jetson devices. For the sake of clarity, the image name, model,
sub-arch, variant should align with the kernel metapackage name.
2024-11-06 15:47:23 +01:00
Dan Bungert
2f103f886c config: output kernel.yaml fragment 2024-10-16 12:40:44 -06:00
Heinrich Schuchardt
e5977a2e2b riscv: use generic kernel flavor for Nezha D1 and LicheeRV Dock
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-10-04 12:11:47 +02:00
Dan Bungert
db0a0f0462 desktop & many flavors: kernel in minimal layer 2024-09-12 14:24:33 -06:00