[Bug 1936370] Re: u-boot-sifive does not upgrade u-boot on disk
Dimitri John Ledkov
1936370 at bugs.launchpad.net
Fri Jul 16 10:39:33 UTC 2021
> The place to flash U-Boot SPL (sector 34) is hard coded in the boot
ROM.
I don't believe that is true. It is specified by GPT partition type UUID
in FSBL, and it doesn't have to be at sector 34. As per sifive manuals.
Furthermore I don't have access to read jumpers, thus I don't know if
the system booted using u-boot from sdcard, nvme, or from flash.
Symlinks can be racy, and there can be multiple partitions with the same
gpt partition type uuid (i.e. on sdcard and on the nvme drive).
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to u-boot in Ubuntu.
https://bugs.launchpad.net/bugs/1936370
Title:
u-boot-sifive does not upgrade u-boot on disk
Status in u-boot package in Ubuntu:
Fix Released
Status in u-boot source package in Focal:
New
Status in u-boot source package in Hirsute:
New
Status in u-boot source package in Impish:
Fix Released
Bug description:
[Impact]
* u-boot-sifive package currently does not upgrade bootloader on
loader1/loader2 partitions.
* there have now been bugs identified, meaning that upgrading u-boot
is required to upgrade from v5.8 kernel to v5.11 (i.e. either in-
focal, or from focal to hirsute).
* Add maintainer script that identifies if the machine one is running
on is unleashed or unamtched, and appropriately upgrades the
bootloader on loader1/loader2 partitions.
[Test Plan]
* Boot older unleashed or unmatched image
* Check version strings of loader1/loader2 partitions
$ sudo strings /dev/disk/by-partlabel/loader* | grep 202 | grep U-Boot
* Upgrade u-boot-sifive to latest package
* Check version strings of loader1/loader2 partitions, they should
have changed
$ sudo strings /dev/disk/by-partlabel/loader* | grep 202 | grep U-Boot
* Reboot, and observe on the serial console that u-boot version
number is incremented to the latest one.
* Repeat the test twice, once with unleashed board, once with
unmatched board
* Upgrade the package under qemu VM and observe no side-effects / no
attempts to upgrade anything.
[Where problems could occur]
* It is not possible to atomically upgrade loader1 and loader2 simultaniously.
* A backup of loader1 and loader2 partitions is not stored anywhere.
* Thus in case of errors rollback of older u-boot is not performed.
* However if dd of one or the other partition fails, it is unlikely that one can restore the backup.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/u-boot/+bug/1936370/+subscriptions
More information about the foundations-bugs
mailing list