[Bug 2007827] Re: flash-kernel failure when upgrading f-k anad kernel in the same cycle
Dave Jones
2007827 at bugs.launchpad.net
Mon Feb 27 22:03:56 UTC 2023
I've prepared a patched version of flash-kernel for lunar in
ppa:waveform/flash-kernel (version 3.106ubuntu13~ppa3 at
https://launchpad.net/~waveform/+archive/ubuntu/flash-kernel), with test
coverage of the new functions. I've tested that this fixes the issue
illustrated on the Pi above which I believe has the same root cause as
on the Xilinx boards but I would be most grateful if the fix could be
tested on the Xilinx platform too.
To test:
* Install a stock lunar preinstalled server image
* sudo add-apt-repository ppa:waveform/flash-kernel
* sudo apt install linux-xilinx-zynqmp flash-kernel
* Ensure that upgrade proceeds without error
* sudo reboot
* Ensure system boots with new kernel version (and initrd!) successfully
As noted, the fix will result in a "redundant" run of flash-kernel
instead of the skip, but this is safe and actually desirable for certain
scenarios. I'll convert this to an SRU if verification on lunar is
successful (and will forward the patch to Debian subsequently).
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to flash-kernel in Ubuntu.
https://bugs.launchpad.net/bugs/2007827
Title:
flash-kernel failure when upgrading f-k anad kernel in the same cycle
Status in flash-kernel package in Ubuntu:
New
Bug description:
[Impact]
In version 3.104ubuntu15 of flash-kernel, when both f-k and the kernel are upgraded in the same cycle, depending on the ordering of dpkg trigger execution, f-k may find the content of /boot "inconsistent" causing it to fail and return error exit status 1.
Erorr message:
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for flash-kernel (3.104ubuntu15) ...
flash-kernel: installing version 5.15.0-1018-xilinx-zynqmp
Initrd required for FIT method
dpkg: error processing package flash-kernel (--configure):
installed flash-kernel package post-installation script subprocess returned error exit status 1
Processing triggers for linux-image-5.15.0-1018-xilinx-zynqmp (5.15.0-1018.20) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-5.15.0-1018-xilinx-zynqmp
flash-kernel gets the latest kernel version by "linux-version list".
When flash-kernel was triggered to generate fitimage, the kernel version is "5.15.0-1018" and the initrd for it wasn't ready. So, flash-kernel failed to generate the fitimage.
A subsequent run of "apt install -f" fixed things because, by that
point, the kernel's own trigger had executed, ensuring that update-
initramfs had been run. In the case that f-k is run "prematurely" and
finds itself in this situation (/boot/kernel-$[ver} exists, but
/boot/initrd-${ver}) doesn't), it should probably bail out silently
under the assumption that whatever is responsible for it will rectify
the situation and trigger f-k again (as happens in the kernel postinst
hooks).
[Test Case]
1. Flash an old image (with an out of date kernel and flash-kernel)
2. sudo apt-get update
3. sudo apt install flash-kernel with the fix and linux packages
4. Upgrade should proceed without issue
[Regression Potential]
As with the previous flash-kernel uploads, it is possible that a breakage in the changed code can lead to issues with upgrading kernels (due to f-k being executed via a trigger at the end) or with Xilinx devices in the field not upgrading correctly. I will test all the changes extensively though.
Related issues:
LP: #1861292 flash-kernel failure during kernel upgrade
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/flash-kernel/+bug/2007827/+subscriptions
More information about the foundations-bugs
mailing list