[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