[Bug 1846329] [NEW] [FFe] 2019.07 to support Pi4 boot
Dave Jones
dave.jones at canonical.com
Wed Oct 2 11:48:13 UTC 2019
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
Foundations Bugs, which is subscribed to u-boot in Ubuntu.
https://bugs.launchpad.net/bugs/1846329
Title:
[FFe] 2019.07 to support Pi4 boot
Status in u-boot package in Ubuntu:
New
Bug description:
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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/u-boot/+bug/1846329/+subscriptions
More information about the foundations-bugs
mailing list