2391 Commits

Author SHA1 Message Date
michael.hudson@canonical.com
a68ab81199
Merge remote-tracking branch 'arraybolt3/arraybolt3/apparmor' into ubuntu/master 2026-04-16 09:15:24 +12:00
michael.hudson@canonical.com
29baaee6b0
Merge remote-tracking branch 'vhaudiquet/riscv64-restore-vmlinux' into ubuntu/master 2026-04-16 08:09:02 +12:00
michael.hudson@canonical.com
621eb44506
Merge branch 'fix/2146567' into ubuntu/master 2026-04-16 08:07:30 +12:00
Valentin Haudiquet
d7615a2237
Make sure kernel is 'vmlinux' on riscv64
Commit 51624c1b444d034ac06d9d0d6e2c02f73e856aa1 introduced a regression, changing kernel name from vmlinux to vmlinux (default) on riscv64. This fixes the regression and the bug in recent riscv64 iso images (preventing boot).

Fixes: 51624c1b444d ("Place ISO artifacts directly into the ISO tree")

Signed-off-by: Valentin Haudiquet <valentin.haudiquet@canonical.com>
2026-04-15 15:50:46 +02:00
Florent 'Skia' Jacquet
f63cae6452 Revert "Update SEEDMIRROR to point to the new infra"
This reverts commit 9d10c8086541a42ab48799d23765251096c3d7fe.

Actually, the new infra is not completely ready yet. There were concerns
about opening up the firewall/proxy on the builders to a service that is
way less strictly controlled than the current Archive toolbox. We'll
need to address these concerns first, then we can proceed with the move.
2026-04-15 11:34:22 +02:00
michael.hudson@canonical.com
51d2b8b649
source config from the right location in 03-initramfs-enforcement.chroot 2026-04-15 16:09:14 +12:00
michael.hudson@canonical.com
7b5b77ff68
Merge branch 'ubuntu/master' into fix/2146567 2026-04-15 15:38:36 +12:00
michael.hudson@canonical.com
170f595da5
use is_live_layer to detect a live layer in 03-initramfs-enforcement.chroot 2026-04-15 15:29:53 +12:00
michael.hudson@canonical.com
f1df4aeef1
Merge branch 'alfonsosanchezbeato/support-uc26' into ubuntu/master 2026-04-15 15:04:45 +12:00
Florent 'Skia' Jacquet
9d10c80865 Update SEEDMIRROR to point to the new infra 2026-04-14 12:35:06 +02:00
Alfonso Sánchez-Beato
06fe6a52fa Add support for building Ubuntu Core 26 images 2026-04-13 13:34:29 -04:00
Ryan Hill
cbd0149281
feat(apparmor) add missing network_v9_skb to 7.0 kernel tree 2026-04-13 15:44:52 +01:00
Florent 'Skia' Jacquet
da0b48e2bd Pick a better manifest by using the live pass for layered images (LP: #2147921) 2026-04-13 15:16:22 +02:00
Simon Poirier
7ac1f7ceb2 fix(flavors): regen initramfs on live layer for casper (LP: #2146567)
Seed installation diverts initramfs install hooks.
As we move base layers to dracut, casper is still needed
for the live layer.
This regenerates initrds after live layers install initramfs-tools, to
make casper work, in case the base layer was using dracut.
2026-04-10 09:07:34 -04:00
Dan Bungert
5b043a05e2 isobuilder: exclude eltorito.img from md5sum.txt 2026-04-08 16:08:24 -06:00
Florent 'Skia' Jacquet
f340ef5416 Make sure to produce a manifest for all images (LP: #2147522) 2026-04-08 14:34:16 +02:00
Utkarsh Gupta
c563ba5bf2 Switch arm64 mirror from ports to archive 2026-04-02 18:34:07 +05:30
michael.hudson@canonical.com
b156e2c6ad
Merge remote-tracking branch 'rthill91/7.0-kernel' into ubuntu/master 2026-04-02 15:46:27 +13:00
michael.hudson@canonical.com
93c96af216
still publish manifest for ISO builds 2026-04-02 13:55:18 +13:00
michael.hudson@canonical.com
f432528b70
source config/functions in 05-netboot-tarball.binary so CASPER_DIR is defined 2026-04-02 12:32:06 +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
Ryan Hill
6d331d4d0b add 7.0 kernel apparmor features preseeds
Resolute is currently on kernel 7.0 so preseeding fails with a apparmor
feature mismatch given that the live-build/apparmor/generic tree is
used. Adding a 7.0 tree solves this.
2026-03-31 00:30:24 -05:00
Aaron Rainbolt
edec1f4a3f
Disable AppArmor user namespace restrictions on the live ISOs for Kubuntu and Ubuntu Unity 2026-03-30 11:00:42 -04: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
eaef671f74
Move kernel ISO placement from hook into lb_binary_layered
04-kernel-bits.binary only handled ubuntu-server; desktop builds
(ubuntu, ubuntu-budgie, lubuntu, etc.) had no equivalent and so the
kernel never reached the ISO casper directory for MAKE_ISO=yes builds.

Centralise the logic in lb_binary_layered, which already knows which
passes are live passes and is where the kernel is subsequently removed
from the chroot overlay.  The flavor is determined by convention:

 - passes ending in .live (desktop builds) use LB_LINUX_FLAVOURS
 - other live passes (server installer passes such as
   "...installer.generic-hwe") encode the flavor as the final
   dot-separated component of the pass name

The netboot sub-passes (e.g. installer.generic.netboot) are never
added to LIVE_PASSES, so is_live_layer already guards against them;
the explicit exit-0 that 04-kernel-bits.binary needed is not required.

MAKE_ISO is always "yes" when lb_binary_layered runs — every code path
that sets PASSES_TO_LAYERS=true also sets MAKE_ISO=yes — so no
conditional is needed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 20:30:18 +13:00
michael.hudson@canonical.com
816eaed015
Source config/functions in hooks that call iso_install_kernel
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 20:30:17 +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
Didier Roche-Tolomelli
916b693130 Ensure snapd tracks stable and not edge anymore.
We did remove it from multiple places, but this one was left and as a
consequence, the latest iso was still having snapd edge.
2026-03-27 15:30:31 +01: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
5e4e502c76
Merge branch 'better-local-experience' into ubuntu/master 2026-03-16 10:50:17 +13:00
Allen Abraham
bf2eb46fc8 fix: Resolving comments on MP
- Adding parition ordering using imagecraft
- Removing redundant locales install
- Better logging for empty ARCH and SUBPROJECT
- Using mktemp for mountpoint
2026-03-11 15:07:29 -04:00
Allen Abraham
f45429018c feat: Produce a working minimal image using imagecraft in a livcd-rootfs hook
- Added manifest and filelist generation
- Currently, we only produce minimal images for amd64
- Tested the changes by booting an instance on OVH
- Hook was also tested to be run in a local CPC Jenkins pipeline
2026-03-03 16:59:47 -05: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
2b2c057acf
build-livefs-lxd: configure apt proxy and package_update via cloud-init
Read http-proxy from --http-proxy flag or build-livefs.conf and pass it
to the VM at launch time via cloud-init user-data (apt.http_proxy /
apt.https_proxy). Also set package_update: true so cloud-init runs
apt-get update on first boot, removing the need for an explicit call.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 17:57:11 +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
6175dfb3ac
build-livefs-lxd: helper to run build-livefs inside an LXD VM
Creates (or reuses) a per-suite LXD VM, mounts the livecd-rootfs
checkout into it, waits for the VM to be ready, installs dependencies,
and runs build-livefs inside the VM — keeping the host clean.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 14:43:39 +13:00
michael.hudson@canonical.com
0e292ea3f2
Add build-livefs CLI tool
Provides a single command to run a livecd-rootfs build, replacing the
manual setup of auto/ symlinks and env vars that lpbuildd's
build_livefs.py encapsulates. Works from a git checkout, an installed
deb, or via the /usr/bin/build-livefs symlink.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 14:43:38 +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
Tobias Heider
0b30131aae Properly handle non -generic kernel and initramfs flavour
Determine used flavour by looking at the suffix of kernel.
hwe is currently the only one that needs to have a prefix
added so we can hardcode that.
2026-02-26 02:08:26 +01:00
michael.hudson@canonical.com
92e680cc2c
Merge remote-tracking branch 'tobhe/extra_ppas' into ubuntu/master 2026-02-26 10:31:11 +13:00
Tobias Heider
b1c61d8bf1 Fix extra_ppas
ignore launchpad repos in in_release_path because it
can only handle a single repo.
2026-02-25 22:22:51 +01:00
michael.hudson@canonical.com
9c4ce17909
Merge branch 'more-iso-fixes' into ubuntu/master 2026-02-26 10:15:59 +13:00
michael.hudson@canonical.com
31a0c2716c
place kernel at /casper/vmlinux on riscv64
For no very good reason this is what debian-cd does, and what the grub
config isobuilder generates still expects. It probably makes sense to
switch to 'vmlinuz' like every other arch apart from ppc64el does but
for now I want to maintain compatibility with the old ISOs.
2026-02-26 10:13:23 +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
Olivier Gayot
9819eae23c ubuntu: pull model from Launchpad canonical-model git repo
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2026-02-25 10:34:19 +01:00
Didier Roche
39ab3ea113
Update signed ubuntu classic model to ship new nvidia drivers 2026-02-25 08:38:03 +01:00
michael.hudson@canonical.com
92c29ecbf2
Merge branch 'fix-boot-paths' into ubuntu/master 2026-02-20 12:44:49 +13:00