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.
We cannot use After=snapd.service as user services cannot synchronize
with system services. Using `snap system wait seed.loaded` should work,
except for the fact that it requires polkit authentication to perform
this operation.
Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
LXD is going to support launching riscv64 virtual machines,
and for riscv64 virtual machines to be usable the console
needs to be properly set. This and other fixes are currently
done in the hook 999-cpc-fixes.chroot, which was disabled for
riscv64 and which this commit enables.
Signed-off-by: Adriano Cordova <adriano.cordova@canonical.com>
We want the firmware updater and security center pointing to edge too.
The model only allow to select it, but we need to invoke them by
default in snap prepare-image
We need edge on the live session too so that subiquity knows about
latest and greatest on TPM FDE support. We will revert that once snapd
is released to the stable channel.
layer construction involves rsync, and that process ignores times to
avoid some of the layers being larger than they would otherwise where
the only difference is times. This saves a small amount of space,
around 14MiB, but results in files in the layers having non-intended
time values. Ensure mtime and atime in the source chroot match what is
found in the destination chroot.
To get 25.10 Desktop ISOs with TPMFDE bits, we need matching pc-kernel
and snapd otherwise we get errors like so when running
`snap prepare-image`:
WARNING: the kernel for the specified UC20+ model does not carry
assertion max formats information, assuming possibly incorrectly the
kernel revision can use the same formats as snapd
error: snapd 2.68+ is not compatible with a kernel containing snapd
prior to 2.68
Use the "dangerous" model, which allows overriding the channel, and pick
up the matching pc-kernel which is not yet on 25.10/stable, where the
non-dangerous model would expect to find it.