Building armhf and arm64 Raspberry Pi 3 images

Bug #1805668 reported by Łukasz Zemczak on 2018-11-28
28
This bug affects 3 people
Affects Status Importance Assigned to Milestone
linux-firmware-raspi2 (Ubuntu)
Undecided
Unassigned
Bionic
Undecided
Unassigned
Cosmic
Undecided
Unassigned
livecd-rootfs (Ubuntu)
Undecided
Unassigned
Bionic
Undecided
Unassigned
Cosmic
Undecided
Unassigned
raspi3-firmware (Ubuntu)
Undecided
Unassigned
Bionic
Undecided
Unassigned
Cosmic
Undecided
Unassigned
u-boot (Ubuntu)
Undecided
Unassigned
Bionic
Undecided
Unassigned
Cosmic
Undecided
Unassigned

Bug Description

[Impact]

One of our long-term goals is to support the same set of platforms for both classical Ubuntu and ubuntu-core. We currently provide official images for the Raspberry Pi 3 for both the core16 and core18 bases but do not provide the same for Ubuntu classic.
Since it's a 'feature' we're essentially lacking since long, we want to have the new device also supported in our current LTS (bionic).

[Fix]

For the classic raspi3 support we will be using the ubuntu-image classic image building tool which is specifically designed for creating preinstalled images. The support for that has already been SRUed in the latest ubuntu-image.
For the full image build support to be complete, the following list of changes need to be backported (SRUed) into the respective stable series:

 * livecd-rootfs - all the changes regarding classic image build, gadget tree selection and raspi3 rootfs generation.
 * u-boot - bionic will need to be updated to at least 2018.03+dfsg1-2ubuntu2.
 * raspi3-firmware (bionic only) - needs to be updated to at least the version we have in cosmic. Without this change, the console is flooded with firmware error messages every 2 seconds.
 (vorlon) this should be updated specifically to the version of raspi3-firmware that we are using in the gadget snap - currently 1.20180919 - and not to another.

[Test Case]

 * Run a bionic livefs build of raspi3+armhf with proposed enabled (IMAGEFORMAT=ubuntu-image and PROJECT=ubuntu-cpc), make sure the build succeeds and that the resulting image boots on a raspi3.
 * Run a bionic livefs build of raspi3+arm64 with proposed enabled (IMAGEFORMAT=ubuntu-image and PROJECT=ubuntu-cpc), make sure the build succeeds and that the resulting image boots on a raspi3.
 * Make sure that none of the other bionic daily images fail to build

[Regression Potential]

There is some potential that an invalid backport of livecd-rootfs functionality could result in the inability to create new ubuntu-core images or any of the other existing flavors. But in case of such a regression we would see it instantly after the package lands in bionic-proposed as we are building daily images with -proposed enabled. As for the other packages, there probably is some regression potential, but since the versions are backports from disco/cosmic, the risk is probably very small.

description: updated
Changed in livecd-rootfs (Ubuntu):
status: New → Fix Released
Changed in raspi3-firmware (Ubuntu):
status: New → Fix Released
Changed in u-boot (Ubuntu):
status: New → Fix Released
Changed in livecd-rootfs (Ubuntu Cosmic):
status: New → Won't Fix
Łukasz Zemczak (sil2100) wrote :

I have skipped uploading the livecd-rootfs changes for cosmic as we are not planning on enabling raspi3 images for this distro-series as far as I know. This package is only used during build time so there is no reason to worry about missing functionality.

Adam Smith (adamsmith) wrote :

A bit confused by this bug. Ubuntu doesn't use raspi3-firmware. The package used is linux-firmware-raspi2. I also think there is a high regression potential with the uboot/firmware packages - what happens to the people using Ryan Finnie's unofficial images?

Whilst an image that works with the pi 3 is welcome, Ubuntu should be producing one pi image that works with all boards. See https://bugs.launchpad.net/ubuntu/+source/livecd-rootfs/+bug/1765628

Adam Smith (adamsmith) wrote :

Recently the 3A+ was released https://www.raspberrypi.org/magpi/pi-3a-interview/ so this should be supported too in any new builds.

Adam Smith (adamsmith) wrote :

The raspi3 additions to livecd-rootfs are just wrong. Is the use of raspi3-firmware intentional?
If it is you've got pi2 and pi3 having completely different booting. The config.txt created by livecd-rootfs will be overwritten by raspi3-firmware. Which is not necessarily bad, because the config.txt wouldn't work with arm64 anyway.

Adam Smith (adamsmith) wrote :

I don't agree with the alterations to u-boot either. Arm64 doesn't need to be called kernel8.img. The config.txt should be changed to tell the pi's bootloader to expect aarch64. That way you can keep the uboot.bin name and it is consistent between armhf and arm64.

This bug fails to address flash-kernel which is the major problem with the ubuntu setup. raspi3-firmware is not the answer - it is awful. What is required is a new package with simplified scripts that replaces Linux-firmware-raspi2. Making big changes to existing packages is very risky.

Before backporting any changes to bionic please be aware of how people are using Ubuntu - https://wiki.ubuntu.com/ARM/RaspberryPi . Different versions of u-boot could be used, requiring different FDT addresses. Or more likely, u-boot is not used at all. Previously updates to u-boot/flash-kernel/Linux-firmware-raspi2 have caused major problems (e.g. https://bugs.launchpad.net/ubuntu/+source/linux-raspi2/+bug/1652270 ). We definitely don't want some packages postinst script messing with config.txt.

Adam Smith (adamsmith) wrote :

One of the good things about Raspbian is it is able to run on any Pi. You can take an SD card out of a Pi2 and it will work in a Pi3B+ or vice versa. This is definitely what Ubuntu should be aiming for and it is not hard to implement.

Adam Smith (adamsmith) wrote :

If Ubuntu has to continue with u-boot (and I don't know why it does), then it should implement the recent improvements i.e. you don't have to specify a FDT address.

Steve Langasek (vorlon) on 2018-12-04
description: updated

Hello Łukasz, or anyone else affected,

Accepted livecd-rootfs into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/livecd-rootfs/2.525.11 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in livecd-rootfs (Ubuntu Bionic):
status: New → Fix Committed
tags: added: verification-needed verification-needed-bionic
Adam Smith (adamsmith) wrote :

Not sure why something that is clearly broken should be accepted?

Adam Smith (adamsmith) wrote :

To answer the description update by vorlon: The raspi3-firmware package contains scripts that get run on a kernel update. This creates a new config.txt and makes copies of kernel/dtb etc. Pretty certain this is not how gadget snaps work (the firmware is obtained directly from git is it not?). U-boot will be by-passed by raspi3-firmware.

Oliver Grawert (ogra) wrote :

@steve note that we will have to update to u-boot v2018.11 and rpi firmware tag 1.20180924 to support the recently released pi3b A+, i was planning to land a change for this soon in the gadget.

On Tue, Dec 04, 2018 at 09:49:17AM -0000, Adam Smith wrote:
> To answer the description update by vorlon: The raspi3-firmware package
> contains scripts that get run on a kernel update. This creates a new
> config.txt and makes copies of kernel/dtb etc. Pretty certain this is
> not how gadget snaps work (the firmware is obtained directly from git is
> it not?). U-boot will be by-passed by raspi3-firmware.

The fact that gadget snaps don't use the same scripts as contained in the
raspi3-firmware package is orthogonal to the question of keeping Ubuntu Core
and Ubuntu Classic in sync with respect to the firmware bits being used.

Steve Langasek (vorlon) wrote :

On Tue, Dec 04, 2018 at 10:10:58AM -0000, Oliver Grawert wrote:
> @steve note that we will have to update to u-boot v2018.11 and rpi
> firmware tag 1.20180924 to support the recently released pi3b A+, i was
> planning to land a change for this soon in the gadget.

Ok, but it hasn't landed yet and that's not the version that's been tested
with our kernel yet, so that's not the version we should currently be
SRUing.

Adam Smith (adamsmith) wrote :

Ubuntu core and classic haven't been in sync for over a year. Linux-firmware-raspi2 and the pi2 gadget use different versions of the firmware. The pi2 v1.2 is closer to the pi3b than the original pi2. Pegging the version of firmware for the pi2 makes little sense, stopping usb booting for example.

Adam Smith (adamsmith) wrote :

It's not just me who thinks raspi3-firmware is "useless for many users" - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=848101

Adam Smith (adamsmith) wrote :

Also, raspi3-firmware was intended for use with the generic kernel. The Debian generic kernel can be booted directly by the pi firmware (unlike Ubuntu's which needs the assistance of u-boot/grub2). Consequently the scripts expect different dtb names to those used by the linux-raspi2 kernel.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in raspi3-firmware (Ubuntu Bionic):
status: New → Confirmed
Changed in raspi3-firmware (Ubuntu Cosmic):
status: New → Confirmed
Changed in u-boot (Ubuntu Bionic):
status: New → Confirmed
Changed in u-boot (Ubuntu Cosmic):
status: New → Confirmed
Adam Smith (adamsmith) wrote :

But 1806813 contains results from some early testing.

Adam Smith (adamsmith) wrote :

That should of read bug 1806813 !

DavidT (dtischler) wrote :

As noted by Adam, my experience is documented in #1806813. As a quick summary, I am attempting to boot the new 64-bit Arm Server image located at http://cdimage.ubuntu.com/releases/18.04/beta/ on a Compute Module 3. I know that Ubuntu Core is supported on the Compute Module 3, but, Classic is preferred for this project. I have actually gotten it booting with the changes Adam pointed out in that thread, but it would be nice if the CM3 was supported out-of-the-box with this image. Thank is advance!

Adam Smith (adamsmith) wrote :

For completeness I'll point out some problems with flash-kernel.... The 3B+ is not supported (bug 1764491), nor is the CM3 or new 3A+. Whenever a new revision of a board comes out it breaks.

The unforgiveable thing though is that the pi3 bootscript doesn't work (bug 1791466). This clearly has never been tested by those making the changes to the package. Ubuntu core doesn't use a bootscript with the pi3 which presumably is why this has never been picked up. The beta arm64 classic image contains a uboot.env (like ubuntu core), but this doesn't match what flash-kernel currently does for the pi3.

Finally, flash-kernel doesn't handle overlays which is a pretty big thing on the pi. For example, by default Ubuntu-core currently uses the vc4-fkms overlay.

Steve Langasek (vorlon) on 2019-01-10
Changed in raspi3-firmware (Ubuntu Bionic):
milestone: none → ubuntu-18.04.2
Changed in u-boot (Ubuntu Bionic):
milestone: none → ubuntu-18.04.2
Changed in livecd-rootfs (Ubuntu Bionic):
milestone: none → ubuntu-18.04.2
CodeExecution (code-exec) wrote :

I suggest ditching u-boot or compiling it using rpi_3_32b_config and then enabling BCM2836 support in menuconfig. To boot the official server image on the Pi 3, you have to make a few tweaks first, which include disabling u-boot, updating the bootloader files, and adding additional firmware for WiFi to work. An official image with all of this done beforehand would be more simple. Considering that the original Pi 3 was released in 2016, Ubuntu Server should work on both the Pi 3B and 3B+/3A+ out of the box. It's a pretty easy thing to implement.

First, either the linux-firmware-raspi2 or raspi3-firmware package should be dropped. We don't need two packages that contain the same files. Secondly, whichever package remains should be updated to include bootloader files compatible with the 3B+ and 3A+. Thirdly, the linux-raspi2 kernel should be updated to a version that is still receiving updates because the version included in bionic is past EOL. Fourth, compile future versions of the generic ARM64 kernel with CONFIG_DMA_CMA=y so that this kernel is actually usable on the Pi 3. See https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1803206. That way, people can create Ubuntu images using GRUB2, u-boot, and the generic kernel.

Łukasz Zemczak (sil2100) wrote :

To the SRU team: so the livecd-rootfs changes in 2.525.11 can go in and work as intended, although we're still missing a few additional changes needed for the images to be buildable through cdimage. But there will be a follow up upload with those. I'll be re-using this SRU bug for those.

tags: added: verification-done verification-done-bionic
removed: verification-needed verification-needed-bionic
Adam Smith (adamsmith) wrote :

How on earth do they work as intended? You've ignored everything I've written.

Adam Smith (adamsmith) wrote :

The config.txt generated by livecd-rootfs will not work on arm64 and the fdt address conflicts with the bootscript address used with the pi3. The beta image may boot okay, but that is only because so many mistakes have been made across the pi packages that somehow, miraculously, it actually works. Works as intended? Definitely not. Or at least I hope not.

Hello Łukasz, or anyone else affected,

Accepted raspi3-firmware into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/raspi3-firmware/1.20180919-0ubuntu0.18.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in raspi3-firmware (Ubuntu Bionic):
status: Confirmed → Fix Committed
tags: added: verification-needed verification-needed-bionic
removed: verification-done verification-done-bionic
Łukasz Zemczak (sil2100) wrote :

Adam: we are currently working on base support of the raspi3 boards based on the old work that was done for the raspi2 (and please note those did not get much love since a while anyway). The way they work right now is not perfect, but this is the first 'iteration' we intend to set as a baseline for further work. We're trying to get everything for that 'baseline' landed in bionic right now to make work on this easier (e.g. having daily builds etc). There are some things we could already do better but there's a tight time-frame we need to fit into.

To address some of your concerns: you probably checked an outdated flash-kernel since for the need of the beta images we have added Pi3 B+ support and a modified boot.scr for our uses. Currently both the boot partition and flash-kernel come with compatible bootscripts so there should be no conflict here. I also don't see how you tell that the config.txt generated by livecd-rootfs will not work. The config.txt we use in the boot partition in the current build scheme comes from the pi3 classic gadget tree and has device_tree_address=0x03000000, which is what all of our planned boot.scr for pi3 are using (both in the boot partition during image boot + what flash-kernel uses).

I would for now recommend to wait a bit until the base, surely far from perfect, images are ready and then we can all work together on getting a satisfying, clean raspi2/raspi3 experience. We are aware of the fact that the system architecture here is flawed - and we promise it will be made better. Especially now that Dave's around to help us out exactly with that.

What I would recommend: once we have all the 'beta' work landed, I most certainly recommend posting bugs about things that don't work or seem to work suboptimal and letting us know.

Adam Smith (adamsmith) wrote :

To use arm64 the config.txt should contain arm_64bit=1. You've got kernel=uboot.bin, but there is no uboot.bin on arm64. So what is happening is the pi is falling back to searching for kernel8.img which puts it automatically in arm64 mode. Yes it works, but only because the config.txt contains an error (kernel=uboot.bin).

The pi3 gadget snap doesn't use device_tree_address=0x03000000, nor does the proposed changes to livecd-rootfs last time I checked.

You haven't addressed the use of raspi3-firmware. This is going to overrite any config.txt, bypassing anything flash-kernel does. The two packages are incompatible.

Brian Murray (brian-murray) wrote :

Hello Łukasz, or anyone else affected,

Accepted u-boot into cosmic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/u-boot/2018.07~rc3+dfsg1-0ubuntu1~18.10.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-cosmic to verification-done-cosmic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-cosmic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in u-boot (Ubuntu Cosmic):
status: Confirmed → Fix Committed
tags: added: verification-needed-cosmic
Brian Murray (brian-murray) wrote :

Hello Łukasz, or anyone else affected,

Accepted u-boot into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/u-boot/2018.07~rc3+dfsg1-0ubuntu1~18.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in u-boot (Ubuntu Bionic):
status: Confirmed → Fix Committed
Adam Smith (adamsmith) wrote :

Bug 1811216 should be part of this bug.

CodeExecution (code-exec) wrote :

I don't see the need for separate images for the Pi 2 and 3. I think that there should only be one image that should work on both the Pi 2 and 3. u-boot works on the Pi 3 if setup with rpi_3_defconfig (for 64-bit) or rpi_3_32b_config (for 32-bit). You can enable BCM2836 support (if setup with rpi_3_32b_config) and then compile. This results in one u-boot binary that works on both the Pi 2 and 3).

raspi3-firmware is a script that gets run on every kernel update. It creates a new config.txt file so that the Pi will boot from the new kernel and initramfs. The problem is that it overwrites the existing config.txt instead of just overwriting the kernel and initramfs settings in config.txt.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package livecd-rootfs - 2.525.12

---------------
livecd-rootfs (2.525.12) bionic; urgency=medium

  * Key netplan delegation to NetworkManager on presence of
    /usr/sbin/NetworkManager, not on /usr/lib/NetworkManager which may have
    hooks from other packages (i.e., wpasupplicant).

  [ Cody Shepherd ]
  * Include snaps in image manifests (LP: #1805497)
  * Change call to add grub efi packages using new create_manifests()
    function.

 -- Steve Langasek <email address hidden> Mon, 10 Dec 2018 12:46:46 -0800

Changed in livecd-rootfs (Ubuntu Bionic):
status: Fix Committed → Fix Released
Brian Murray (brian-murray) wrote :

Hello Łukasz, or anyone else affected,

Accepted livecd-rootfs into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/livecd-rootfs/2.525.14 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in livecd-rootfs (Ubuntu Bionic):
status: Fix Released → Fix Committed
Brian Murray (brian-murray) wrote :

Hello Łukasz, or anyone else affected,

Accepted linux-firmware-raspi2 into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/linux-firmware-raspi2/1.20180919-0ubuntu0.18.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in linux-firmware-raspi2 (Ubuntu Bionic):
status: New → Fix Committed
Adam Smith (adamsmith) wrote :

Lukasz, any plans to make Bluetooth work out of the box on the pi 3B/B+? https://wiki.gentoo.org/wiki/Raspberry_Pi#Bluetooth

Could this be added to linux-firmware-raspi2 if that is now being used?

Łukasz Zemczak (sil2100) wrote :

Adam, that's certainly something worth considering - not sure if we'll make it for the bionic .2 point-release though. The problem is that basically linux-firmware-raspi2 is constructed from stripped raspberrypi/firmware tarballs, so including additional binary files from a different project (RPi-Distro/bluez-firmware) might not be well-received - especially for precompiled binaries. We'd probably have to create a separate source package for this and get it into multiverse/restricted. I'll discuss it with more experienced archive admins and check what is the best way forward. We'll want to have this ASAP for sure.

Łukasz Zemczak (sil2100) wrote :

In the meantime: with bionic daily raspi3 images enabled (which are by default ran with PROPOSED=1, so including all the required packages), we can see that the raspi3 rootfs builds are succeeding for both arm64 and armhf. All other daily builds seem to be working correctly as well. Additionally to that, I have confirmed through the manifests that raspi3-firmware is no longer used.

tags: added: verification-done-bionic
removed: verification-needed-bionic
Changed in linux-firmware-raspi2 (Ubuntu Cosmic):
status: New → Won't Fix
Changed in raspi3-firmware (Ubuntu Bionic):
status: Fix Committed → Invalid
Changed in raspi3-firmware (Ubuntu Cosmic):
status: Confirmed → Invalid
Łukasz Zemczak (sil2100) wrote :

I also did a quick sanity-test of the u-boot for the raspi3 on cosmic. I fetched my old pre-alpha cosmic-based arm64 image, mounted its boot partition, updated kernel8.img with the one provided in u-boot-rpi 2018.07~rc3+dfsg1-0ubuntu1~18.10.1 (u-boot.bin), flashed the SD card and powered on the device. The image was still booting successfully. Since we will not use cosmic for pi3 images, I consider this as verification-done.

tags: added: verification-done verification-done-cosmic
removed: verification-needed verification-needed-cosmic
Adam Smith (adamsmith) wrote :

Why are the raspi3 images 120MB bigger than the raspi2 images?

Adam Smith (adamsmith) wrote :

The new Linux-firmware-raspi2 package contains kernel.img and kernel7.img. These definitely shouldn't be included in the package.

Adam Smith (adamsmith) wrote :

Where does the config.txt on the raspi3 images come from? It is not livecd-rootfs.

Adam Smith (adamsmith) wrote :

Inspecting the raspi3 images on another computer /boot/firmware is populated with files. These do not match the files on the system-boot partition. /boot/firmware should be empty until mounted as system-boot.

Brian Murray (brian-murray) wrote :

Hello Łukasz, or anyone else affected,

Accepted linux-firmware-raspi2 into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/linux-firmware-raspi2/1.20180919-0ubuntu0.18.04.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Adam Smith (adamsmith) wrote :

New compute module released today. Flash-kernel/linux-firmware-raspi2/linux-raspi2 will all need updating....

Łukasz Zemczak (sil2100) wrote :

@Adam Thanks for pointing out the kernel*.img files in the firmware package! Fixed that and got the SRU into bionic. As for the new CM, not sure if we'll make it in time for the .2 point release with that one, it's already too close and the kernel cycle always takes a while. As for the config.txt, currently this comes from the pi3-gadget classic branch. In the nearest time both the core18 and classic gadgets will all be integrated into one repository.

Łukasz Zemczak (sil2100) wrote :

As for the new linux-firmware-raspi2 - it was just a cleanup re-release, so I only performed a sanity run of the latest daily image (boot-test, all went fine). I have confirmed it has been built with the latest 1.20180919-0ubuntu0.18.04.2 version.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package livecd-rootfs - 2.525.14

---------------
livecd-rootfs (2.525.14) bionic; urgency=medium

  * More changes for raspi3 build support (LP: #1805668):
    - Fix 100-purge-grub-legacy-ec2-arm.chroot to not gate on ARCH as that's
      not defined in .chroot hooks.
    - Use the new linux-firmware-raspi2 for boot binary blobs as
      raspi3-firmware includes upgrade hooks that conflict with our image
      configuration.

livecd-rootfs (2.525.13) bionic; urgency=medium

  [ Balint Reczey ]
  * Update Vcs-* fields in debian/control to point to git.

  [ Łukasz 'sil2100' Zemczak ]
  * Another batch of cherry-picks for raspi3 support (LP: #1805668)
    - Add wpasupplicant to the additional packages installed for the raspi2 and
      raspi3 targets.
    - Default to IMAGEFORMAT=ubuntu-image for raspi3 ubuntu-cpc builds.
    - Link the resulting raspi3 image to a filename that cdimage expects from a
      preinstalled image build.
  * Add the 100-purge-grub-legacy-ec2-arm.chroot hook to remove
    grub-legacy-ec2 from any ARM based ubuntu-cpc images we create. The package
    is no longer in the server seed of newer series anyway.

 -- Łukasz 'sil2100' Zemczak <email address hidden> Fri, 18 Jan 2019 16:56:58 +0100

Changed in livecd-rootfs (Ubuntu Bionic):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for livecd-rootfs has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package u-boot - 2018.07~rc3+dfsg1-0ubuntu1~18.10.1

---------------
u-boot (2018.07~rc3+dfsg1-0ubuntu1~18.10.1) cosmic; urgency=medium

  * Backport to cosmic (LP: #1805668).
  * New interim upstream release .
    - We pull in an rc version because that's the u-boot version we use in
      our current core18 images and we want to provide 'feature parity'.
  * debian/control:
    - Added missing build-deps bison and flex.
  * debian/patches:
    - Refresh am57xx/omap5_distro_bootcmd.
    - Refreshed patches.
    - Removed odroid-xu3/bootdelay which was applied upstream.
    - Add lzo-to-lzno.patch to use gzip instead of lzo compression for FIT
      images as lzop in Ubuntu is in universe. This should be temporary and
      in the next releases ideally we should follow what Debian does.

 -- Dave Jones <email address hidden> Fri, 11 Jan 2019 16:43:27 +0000

Changed in u-boot (Ubuntu Cosmic):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package u-boot - 2018.07~rc3+dfsg1-0ubuntu1~18.04.1

---------------
u-boot (2018.07~rc3+dfsg1-0ubuntu1~18.04.1) bionic; urgency=medium

  * Backport to bionic (LP: #1805668).
  * New interim upstream release .
    - We pull in an rc version because that's the u-boot version we use in
      our current core18 images and we want to provide 'feature parity'.
  * debian/control:
    - Added missing build-deps bison and flex.
  * debian/patches:
    - Refresh am57xx/omap5_distro_bootcmd.
    - Refreshed patches.
    - Removed odroid-xu3/bootdelay which was applied upstream.
    - Add lzo-to-lzno.patch to use gzip instead of lzo compression for FIT
      images as lzop in Ubuntu is in universe. This should be temporary and
      in the next releases ideally we should follow what Debian does.

 -- Dave Jones <email address hidden> Fri, 11 Jan 2019 16:43:27 +0000

Changed in u-boot (Ubuntu Bionic):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-firmware-raspi2 - 1.20180919-0ubuntu0.18.04.2

---------------
linux-firmware-raspi2 (1.20180919-0ubuntu0.18.04.2) bionic; urgency=medium

  * Do not install the kernel*.img binaries as they're not needed.

linux-firmware-raspi2 (1.20180919-0ubuntu0.18.04.1) bionic; urgency=medium

  * Update to release 1.20180919 to match what is used in our official core18
    images. (LP: #1805668)
  * Add debian/patches/brcm_firmware patch from raspi3-firmware as the newer
    upstream firmware tarballs do not include all the required files for WiFi
    to be active on the raspi3.

 -- Łukasz 'sil2100' Zemczak <email address hidden> Mon, 28 Jan 2019 10:23:26 +0100

Changed in linux-firmware-raspi2 (Ubuntu Bionic):
status: Fix Committed → Fix Released
Adam Smith (adamsmith) wrote :

Expanding comment #46 above...

On the raspi3 armhf image the config.txt in the unmounted /boot/firmware is from livecd-rootfs (so doesn't have the correct fdt address). The uboot.bin is the pi2 version.

Investigating where these files came from I noticed that both livecd-rootfs and u-boot-rpi use mkknlimg to copy uboot.bin to /boot/firmware. However, they use different settings with the command.

The pi3 classic snap gadget does not to use mkknlimg.

mkknlimg should be used consistently across the packages/snaps.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.