Preinstall some new essential raspi packages in the official raspi images
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
livecd-rootfs (Ubuntu) |
Opinion
|
Wishlist
|
Łukasz Zemczak | ||
Focal |
In Progress
|
High
|
Łukasz Zemczak | ||
ubuntu-meta (Ubuntu) |
Opinion
|
Wishlist
|
Łukasz Zemczak | ||
Focal |
In Progress
|
High
|
Łukasz Zemczak |
Bug Description
[Impact]
For 20.04.2, also as part of support for some new Pi variants (CM4, Pi400), we want to preinstall some new essential packages in our raspi images such as rpi-eeprom, raspberrypi-
This can be done in two possible ways. One is the 'old way', with a single change to livecd-rootfs adding the new packages. But what we'd like to propose this time is actually a more proper way, i.e. introducing device-specific raspi seeds and a raspi meta-package that would pull in all the needed dependencies. This way is better for the future, as if we decide we want to add new packages to existing raspi installations, we can do it easily by modifying the seeds and rebuilding meta. Currently we have no way like this.
So the current approach includes changes in the following components:
* The ubuntu and platform seeds (git branches)
* ubuntu-meta package (adding ubuntu-
* livecd-rootfs package (installing the raspi-server task)
[Test Case]
After accepting all the package into -proposed (and making sure the git seed changes are merged), run a raspi arm64 and armhf build. Check if the image boots. Confirm that the new images have the following seeded: rpi-eeprom, libraspberrypi-bin, flash-kernel, pi-bluetooth.
Compare manifests between a normal, previous raspi image build and the one using seeds - check if nothing has been 'dropped'.
Also, check if no other image builds have been affected and still build correctly, compare image manifests.
[Where problems could occur]
In its current form, as the update touches some livecd-rootfs auto/config paths, it's possible that a malformed cut-paste broke some edge case scenario, so it's good if other non-raspi builds are also checked for correctness. Seed changes are less likely to break anything, but manifests should be checked in case something got dropped by accident.
Related branches
- Ubuntu Core Development Team: Pending requested
-
Diff: 32 lines (+15/-0)2 files modifiedSTRUCTURE (+1/-0)
raspi-common (+14/-0)
- Ubuntu Core Development Team: Pending requested
-
Diff: 27 lines (+10/-0)2 files modifiedSTRUCTURE (+1/-0)
server-raspi (+9/-0)
- Iain Lane (community): Needs Information
-
Diff: 85 lines (+26/-23)2 files modifieddebian/changelog (+8/-0)
live-build/auto/config (+18/-23)
Changed in livecd-rootfs (Ubuntu): | |
importance: | High → Wishlist |
Changed in livecd-rootfs (Ubuntu Focal): | |
importance: | Undecided → High |
Changed in ubuntu-meta (Ubuntu Focal): | |
importance: | Undecided → High |
Changed in ubuntu-meta (Ubuntu): | |
importance: | Undecided → Wishlist |
status: | New → Opinion |
Changed in livecd-rootfs (Ubuntu): | |
status: | New → Opinion |
Changed in livecd-rootfs (Ubuntu Focal): | |
status: | New → In Progress |
Changed in ubuntu-meta (Ubuntu Focal): | |
status: | New → In Progress |
Changed in livecd-rootfs (Ubuntu Focal): | |
assignee: | nobody → Łukasz Zemczak (sil2100) |
Changed in ubuntu-meta (Ubuntu): | |
assignee: | nobody → Łukasz Zemczak (sil2100) |
Changed in ubuntu-meta (Ubuntu Focal): | |
assignee: | nobody → Łukasz Zemczak (sil2100) |
All branches ready for review, attaching debdiff for review of the ubuntu-meta package changes as well - would appreciate some feedback.
It's worth mentioning the status for hirsute. So basically in hirsute and groovy we only use the seeds for the raspi desktop images. In hirsute, with as things are right now, adding it would be hard as we'd be generating a lot of component mismatches due to pulling things from restricted, universe etc. It's a problem conceptually and for migration reasons, but for a stable series like focal it's less so. Especially that since ages we've been building raspi images from universe + multiverse packages anyway, so it's already 'bad'.