Public bug reported:

Impact
======

The proposed version supports booting Ubuntu on the Raspberry Pi 4, both
by providing a Pi 4 compatible variant of u-boot (which requires the
version bump to 2019.07), and by detecting and (if required) migrating
the boot configuration to support the Pi 4 (by calling different u-boot
binaries depending upon the host Pi's version).

The package has been built in the following PPA:
https://launchpad.net/~waveform/+archive/ubuntu/ubpi4/+packages

A git-ubuntu branch with the proposed changes is available at:
https://code.launchpad.net/~waveform/ubuntu/+source/u-boot/+git/u-boot/+ref/ubuntu-2019.07-pi4
(the version in this branch is lower than the PPA as the branch has been
rebased for clarity, compressing all the minor modifications done during
testing)


Test Case
==========

Upon installing the new package on a system with the existing u-boot
setup (a single u-boot binary under /boot/firmware and a config.txt that
points to it as the kernel), the postinst script should detect this
scenario and migrate the configuration to one with multiple u-boot
binaries under /boot/firmware and a config.txt with selective sections
pointing to them. After installation, the card should still boot
successfully on all supported models (at present the Pi4 will only get
to the u-boot stage, pending kernel work).

This process has been tested on the Pi 2 (armhf only), 3, 3A+, 3B+, and
4 (under armhf and arm64 on relevant platforms). The scripts for
detecting and migrating the old boot configuration to the new have been
tested with the Eoan and Bionic boot configurations, with a view to
eventual SRU of this package to Bionic (for Pi 4 support on LTS).


Regression Potential
====================

Testing with the older Bionic firmware led to several changes (that led
to re-testing on the Eoan firmware), which has increased confidence in
the low probability of regressions at least as regards the Pi. The
certification team will test other relevant platforms using u-boot to
ensure they are still capable of booting with the 2019.07 version (other
than the pi's postinst script, no other scripts have changed so boot
capability is all that requires testing).

The boot config migration code takes some pains to detect the old and
new states, both by hash checking and (as fallback) by rudimentary
content analysis. It is conservative in choosing when to migrate (only
when both a package version check passes and detection confirms the old
boot configuration is present), and provides a backup of the original
configuration (in fact, an "unmigration" routine is included in the
library, primarily for testing).

At this point, the major concern for regression is other platforms
relying upon u-boot.

** Affects: u-boot (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1846329

Title:
  [FFe] 2019.07 to support Pi4 boot

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/u-boot/+bug/1846329/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to