[Bug 1936401] Re: Migrate Pi users away from u-boot in impish
Dave Jones
1936401 at bugs.launchpad.net
Tue Aug 24 09:52:31 UTC 2021
** Description changed:
Currently we have a different boot sequence on the Pi depending on which
release is used:
* Focal images (and prior) all use u-boot
* Groovy images (and onwards) don't
* However, upgraders from Focal to Groovy aren't forced off u-boot;
their boot configuration remains untouched
We should update user's boot configuration to migrate them off u-boot if
they're still on it prior to upgrade to impish. This should be added as
a quirk to do-release-upgrade. The primary complexity is that the Focal
boot configuration is split into three files which should be merged.
Logic from pibootctl's parser can be used for a lot of this.
+
+ The specific changes required (for those that wish to perform the
+ changes manually):
+
+ * Find "include syscfg.txt" and "include usercfg.txt" and include the
+ content of those files directly in "config.txt" instead.
+
+ * Remove/comment out all kernel=uboot_rpi_* lines referring to u-boot
+ (in all conditional sections), and add a kernel=vmlinuz line to the
+ [all] conditional section (adding that section if it's not found).
+
+ * Add an "initramfs initrd.img followkernel" line to the [all]
+ conditional section (using the section added by the prior step if
+ required).
+
+ * Remove any "device_tree_address=" lines from the configuration.
+
+ This switches the sequence from the current one (Pi's native bootloader
+ loads u-boot, which then loads the Linux kernel and the initrd, before
+ passing control to the kernel), to the new one (Pi's native bootloader
+ loads the Linux kernel and the initrd, then passes control to the
+ kernel).
+
+ The inlining of the split configuration files deals with a subtle edge
+ case of the early versions of pibootctl being used to set the kernel
+ and/or initrd, and writing those settings into syscfg.txt where they
+ would override our changes. Releases after Focal removed the split (on
+ new images), so this also helps keep the configuration layout
+ consistent.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ubuntu-release-upgrader in
Ubuntu.
https://bugs.launchpad.net/bugs/1936401
Title:
Migrate Pi users away from u-boot in impish
Status in ubuntu-release-upgrader package in Ubuntu:
New
Status in ubuntu-release-upgrader source package in Impish:
New
Bug description:
Currently we have a different boot sequence on the Pi depending on
which release is used:
* Focal images (and prior) all use u-boot
* Groovy images (and onwards) don't
* However, upgraders from Focal to Groovy aren't forced off u-boot;
their boot configuration remains untouched
We should update user's boot configuration to migrate them off u-boot
if they're still on it prior to upgrade to impish. This should be
added as a quirk to do-release-upgrade. The primary complexity is that
the Focal boot configuration is split into three files which should be
merged. Logic from pibootctl's parser can be used for a lot of this.
The specific changes required (for those that wish to perform the
changes manually):
* Find "include syscfg.txt" and "include usercfg.txt" and include the
content of those files directly in "config.txt" instead.
* Remove/comment out all kernel=uboot_rpi_* lines referring to u-boot
(in all conditional sections), and add a kernel=vmlinuz line to the
[all] conditional section (adding that section if it's not found).
* Add an "initramfs initrd.img followkernel" line to the [all]
conditional section (using the section added by the prior step if
required).
* Remove any "device_tree_address=" lines from the configuration.
This switches the sequence from the current one (Pi's native
bootloader loads u-boot, which then loads the Linux kernel and the
initrd, before passing control to the kernel), to the new one (Pi's
native bootloader loads the Linux kernel and the initrd, then passes
control to the kernel).
The inlining of the split configuration files deals with a subtle edge
case of the early versions of pibootctl being used to set the kernel
and/or initrd, and writing those settings into syscfg.txt where they
would override our changes. Releases after Focal removed the split (on
new images), so this also helps keep the configuration layout
consistent.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1936401/+subscriptions
More information about the foundations-bugs
mailing list