Support both armhf and arm64 raspi3 in flash-kernel
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
flash-kernel (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Bionic |
Fix Released
|
Critical
|
Unassigned | ||
Cosmic |
Fix Released
|
Low
|
Unassigned |
Bug Description
[Impact]
Currently the boot.scr provided by flash-kernel for rpi3 uses bootz for booting the kernel, an uboot command that only works for armhf kernels. This means that in case the boot.scr on a pi3 arm64 gets updated on upgrade, the system will stop booting. Easiest way is to support separate bootscripts for arm64 and armhf.
Also, to fully support all the strange cases for arm64, the boot address parameters need to be adjusted for a bigger kernel. The arm64 kernel, in contrast to the armhf one, is not compressed and takes up much more space in memory.
This is basically only needed for bionic as we don't intend to build raspi3 images on cosmic, but SRUs will be provided for all series.
[Test Case]
* Boot up an arm64 based image on a raspi3 and log into it
* Run flash-kernel
* Check for errors
* Check if /boot/firmware/
* Reboot
* Check if system still boots correctly
[Regression Potential]
The only regression potential is in actually making the image not booting, so running the SRU test case should validate that. There's basically no other regression potential I can think of.
Released in disco 3.90ubuntu4.