We have a mechanism in place to override a snap when building an image.
Unfortunately, we didn't factor this in when forcing optional components to be
included in the image.
This was okay before because the stable model and the dangerous model had the
same components declared.
But now that pc-kernel has different components in the stable and the dangerous
model, things are broken.
Indeed, when building the stable image, we tried to include the pc-kernel from
the stable model with the pc-kernel components from the dangerous model. But
they are not compatible.
Fixed by including components from the right model. If we're overriding a snap
with a definition from a different model, then pull the components from that
same model.
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
The pc-kernel version in 26.04/beta is kernel 6.17, which uses different
components from what is currently declared in the model.
This used to be necessary when there was no kernel in 26.04/stable, but now
there is a 6.8 version in 26.04/stable. The available components match what's
in the model.
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
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>
Because some snaps are not yet in their respective stable channel in 26.04, the
build fails. When preparing the image we can add --snap options to override the
channel of the different snaps. But we can only do that if we're building with
grade: dangerous. As a workaround this issue, we build with the non-dangerous
ISO with the dangerous model, but keep the snaps on their original channel
defined in the non dangerous model.
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
Update /etc/systemd/system/cloud-init-network.service override to
sync with latest netcat changes in Desktop images.
Resolve traceback:
netcat: /run/cloud-init/share/network.sock: Protocol wrong type for socket
LP: #2128887
To boot initrdless, the kernel supports a limited number of ways to
specify the location of the root filesystem[1]. One of them is to use
the PARTUUID (which will be different for every cloud-image), another is
to use the PARTLABEL (partition name). To allow the use of PARTLABEL in
the kernel command line and make our cloud-images more self-describing,
set the PARTLABEL to cloudimg-rootfs which is the same label we use for
the file system inside this partition.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/block/early-lookup.c#n217
To make our disk images more discoverable, we should use the correct
partition type for the root filesystem. This aligns with the
Discoverable Disk Image (DDI) specification developed by the UAPI
group[1] and makes our images more self-describing, e.g. with fdisk,
before:
Device Start End Sectors Size Type
/dev/nbd0p1 2324480 7339998 5015519 2.4G Linux filesystem
...
and now after:
Device Start End Sectors Size Type
/dev/nbd0p1 2324480 7339998 5015519 2.4G Linux root (x86-64)
...
[1] https://uapi-group.org/specifications/specs/discoverable_partitions_specification/
/etc/default/grub.d/50-cloudimg-settings.cfg is currently overriding our
RISC-V specific configuration. Remove it.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
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>
In the ubuntu-cpc disk-image binary we need to avail of the ever increasing size
of packages. 2.2GB is now just a bit too small leading to `No space
left on device` errors when the binary hits `grub-install`. This commit
increases $imagesize to 2.5GB (in the binary as an override initially
implemented in ecaaf0484).
This commit also runs `df` just after the grub-pc && grub2-common
installs to make for easier debugging in the future.
Refs: LP: #2115811
netplan apply warns about any /etc/netplan/*.yaml file permissions which
are globally readable. Set permissions 600 for
/etc/netplan/01-network-manager.yaml in target chroot.
LP: #2119020
Questing is currently on kernel 6.17 so preseeding fails with a apparmor
feature mismatch given that the live-build/apparmor/generic tree is
used. Adding a 6.17 tree solves this.
* 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.