fix: Enable snap preseeding with ppc64el images where /boot/vmlinux is used instead of /boot/vmlinuz. (LP: #2038957)

ppc64el still uses /boot/vmlinux so we need to determine the boot file name as non ppc64el use /boot/vmlinuz. This
is then used to determine the kernel major minor version installed so that the correct apparmor features can be used
during snap preseeding. This preseeding was failing for ppc64el for the mantic 6.5 kernel as the /boot/vmlinuz
being checked did not exist.
ubuntu/mantic
Philip Roche 1 year ago
parent 14778d8aa8
commit 07f26cb78e

7
debian/changelog vendored

@ -1,3 +1,10 @@
livecd-rootfs (23.10.56) mantic; urgency=medium
* Enable snap preseeding with ppc64el images where /boot/vmlinux is used
instead of /boot/vmlinuz. (LP: #2038957)
-- Philip Roche <phil.roche@canonical.com> Wed, 11 Oct 2023 11:41:00 +0100
livecd-rootfs (23.10.55) mantic; urgency=medium
* fix: add 6.5 kernel appamor features to livecd-rootfs based on

@ -768,9 +768,18 @@ snap_preseed() {
snap_validate_seed() {
local CHROOT_ROOT=$1
local kern_major_min=undefined
local boot_filename=undefined
# ppc64el still uses /boot/vmlinux so we need to determine the boot file name as non ppc64el use /boot/vmlinuz
# We don't need to query the arch as we can use existence of the file to determine the boot file name. Both
# will never be present at the same time.
if [ -e ${CHROOT_ROOT}/boot/vmlinuz ]; then
kern_major_min=$(readlink --canonicalize --no-newline ${CHROOT_ROOT}/boot/vmlinuz | grep --extended-regexp --only-matching --max-count 1 '[0-9]+\.[0-9]+')
boot_filename=vmlinuz
elif [ -e ${CHROOT_ROOT}/boot/vmlinux ]; then
boot_filename=vmlinux
fi
if [ ${boot_filename} != undefined ]; then # we have a known boot file so we can proceed with checking for features to mount
kern_major_min=$(readlink --canonicalize --no-newline ${CHROOT_ROOT}/boot/${boot_filename} | grep --extended-regexp --only-matching --max-count 1 '[0-9]+\.[0-9]+')
if [ -d /usr/share/livecd-rootfs/live-build/apparmor/${kern_major_min} ]; then
# if an Ubuntu version has different kernel apparmor features between LTS and HWE kernels
# a snap pre-seeding issue can occur, where the incorrect apparmor features are reported

Loading…
Cancel
Save