[Bug 1850678] Re: flash-kernel only updates the dtb of the Pi it's on
Brian Murray
brian at ubuntu.com
Fri Nov 8 23:15:08 UTC 2019
Hello Dave, or anyone else affected,
Accepted flash-kernel into eoan-proposed. The package will build now and
be available at https://launchpad.net/ubuntu/+source/flash-
kernel/3.98ubuntu5.1 in a few hours, and then in the -proposed
repository.
Please help us by testing this new package. See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how
to enable and use -proposed. Your feedback will aid us getting this
update out to other Ubuntu users.
If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested and change the tag from
verification-needed-eoan to verification-done-eoan. If it does not fix
the bug for you, please add a comment stating that, and change the tag
to verification-failed-eoan. In either case, without details of your
testing we will not be able to proceed.
Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in
advance for helping!
N.B. The updated package will be released to -updates after the bug(s)
fixed by this package have been verified and the package has been in
-proposed for a minimum of 7 days.
** Changed in: flash-kernel (Ubuntu Eoan)
Status: New => Fix Committed
** Tags added: verification-needed verification-needed-eoan
--
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/1850678
Title:
flash-kernel only updates the dtb of the Pi it's on
Status in flash-kernel package in Ubuntu:
Fix Released
Status in flash-kernel source package in Bionic:
New
Status in flash-kernel source package in Eoan:
Fix Committed
Bug description:
[Impact]
When flash-kernel is executed to copy things to the boot partition,
only the dtb of the Pi that it is being executed on is copied. In
order to support moving the SD card between Pi models, flash-kernel
needs to copy *all* dtbs provided by the kernel to the boot partition.
Consider the case of SRUing Pi 4 support to Bionic. Bionic does not
currently support the Pi 4, so a user must necessarily boot their
Bionic image on, say, a Pi 3. If they then upgrade to a kernel
supporting the Pi 4, flash-kernel will only copy the dtb for the Pi 3
to the boot partition. If the card is then moved to a Pi 4 it will
fail to boot due to a missing device-tree.
This would be a very welcome bugfix/feature for eoan as well, since
that's where we had first, proper pi4 support.
[Test Case]
On both armhf and arm64:
1. Flash 19.10 image to an SD card
2. Boot the card on a Pi 2B (armhf only), 3B, or 3B+
3. Upgrade the kernel to Hui's test kernel, fixing the 4B 4Gb USB issue (see https://bugs.launchpad.net/ubuntu/+source/linux-raspi2/+bug/1848790/comments/11); this comes with a new device-tree for the 4B - the device-tree for the 4B shipped with the image will not work with the new kernel
4. Shut down the machine
5. Move the card to a Pi 4B (any RAM amount)
6. Attempt to boot the machine; observe failure (the linux kernel will start, but boot will not complete and serial will not operate)
7. Check the content of the boot partition; only one DTB (the original Pi's) should have a ".bak" copy
In order to test that the fix works repeat the procedure, but before
step 3, upgrade flash-kernel from the PPA mentioned below
(https://launchpad.net/~waveform/+archive/ubuntu/flash-kernel/). Now
in step 6, the boot should work, and in step 7, all dtbs (and *.dtbo
in the overlays dir) should have ".bak" copies.
[Regression Potential]
The fix comes with a fair amount of flash-kernel code cleanup. On one
side, more changes might feel more regression prone, but on the other
- since we are doing a direct backport from focal, this means that
there's no chance of us forgetting a change and making the backport
incomplete.
There is risk involved, as this SRU changes how basically flash-kernel
performs updates for all the pi variants. The test suite however has
been extended, so as to reduce regression potential. Potential
regressions should be looked for in missing DTBs during flash-kernel
updates and broken boot (due to the modifications made to the boot
script). That being said, most of those issues should be instantly
visible during verification.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/flash-kernel/+bug/1850678/+subscriptions
More information about the foundations-bugs
mailing list