1108 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
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
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
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
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
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
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
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