Merge ~edubuntu-dev/ubuntu-images:noble into ubuntu-images:noble

Proposed by Erich Eickmeyer
Status: Merged
Merged at revision: 33ba721894e30fe2194c113916c9a5740de4aa95
Proposed branch: ~edubuntu-dev/ubuntu-images:noble
Merge into: ubuntu-images:noble
Diff against target: 95 lines (+89/-0)
1 file modified
edubuntu-pi-arm64.yaml (+89/-0)
Reviewer Review Type Date Requested Status
Steve Langasek Approve
Paul Mars (community) Needs Fixing
Ubuntu Release Team Pending
Dave Jones Pending
Review via email: mp+456547@code.launchpad.net

Commit message

Add Edubuntu Raspberry Pi image .yaml

Description of the change

This should be the first step to add the Edubuntu raspberry pi image. There's still a few bugs to fix. For instance, ubuntu-image seems to be not adding the Edubuntu-specific seeds (ubuntu-edu-*) despite it working properly in mantic and everything being found by germinate during the process.

To post a comment you must log in.
Revision history for this message
Steve Langasek (vorlon) :
review: Needs Fixing
Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

Comments inline. This was tested successfully and admittedly still has some bugs to iron out prior to starting image builds. The testing environment was on a Rapberry Pi with a clean install of Ubuntu Server 23.10. This was done according to instructions used per Lukasz.

Revision history for this message
Steve Langasek (vorlon) wrote :

Requesting additional reviews from Dave (who has experience configuring the yaml for the Ubuntu pi images) and Paul (who maintains ubuntu-image) so we can figure out what's going on here. I don't want us to just be adding this config as-is and encoding workarounds for ubuntu-image bugs that we don't have reported anywhere. (If these things have to be hard-coded for Edubuntu but not for Ubuntu, then I assert that we do have a bug *somewhere*, and we should get to the bottom of this.)

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

Removed snapd from extra packages, added minimal, standard, and standard-raspi-common to rootfs/seed/names. Working on a test build now, though I do have LP: #2045336 open as the build is currently failing to complete not only on the Edubuntu build but also on the Ubuntu build. However, that doesn't appear to be a failure in the yaml.

Revision history for this message
Paul Mars (upils) :
Revision history for this message
Paul Mars (upils) wrote (last edit ):

I tried to run it and germinate is failing with the following error:

Error: Error opening seed file /home/paul/scratch/edubuntu/germinate/standard-raspi-common.seed: "open /home/paul/scratch/edubuntu/germinate/standard-raspi-common.seed: no such file or directory"

I guess this file being absent is the result of another error germinate encounter earlier in the execution:

* Cloning branch noble of git://git.launchpad.net/~edubuntu-dev/ubuntu-seeds/+git/platform/
Cloning into '/tmp/germinate-d_vkgymr/platform.noble'...
fatal: remote error: Repository '~edubuntu-dev/ubuntu-seeds/+git/platform' not found.

I do not know enough yet about germinate to tell you exactly what is missing but I think a fix in your ubuntu-seed repo is needed.

review: Needs Fixing
Revision history for this message
Steve Langasek (vorlon) wrote :

Paul, the config lists two base urls for seeds:
+ - "git://git.launchpad.net/~edubuntu-dev/ubuntu-seeds/+git/"
+ - "git://git.launchpad.net/~ubuntu-core-dev/ubuntu-seeds/+git/"
This is because the platform seed is common to all flavors and maintained by the Ubuntu core-dev team, the repo should NOT be branched under the edubuntu team but the seed must instead always be picked up from the common repository.

But to get past this issue at all in Erich's local testing, ubuntu-image must already properly support this?

Revision history for this message
Paul Mars (upils) wrote :

u-i already handle several seed URLs, and give them to germinate with the --seed-source option (comma separated values).

Then u-i will try to install the packages listed in the seed named in rootfs.seed.names in the YAML. Here the standard-raspi-common seed is listed but was not "fetched" (I do not know the right term here) during the germinate execution.

So It looks like u-i is working as expected but something is missing in the seeds?

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

Likewise, in my last test yesterday, I ran into the same issue as Paul, which indicates that germinate is not pulling the platform seeds for whatever reason. I'm running this on a Pi Zero 2 W courtesy Dave so my tests are rather slow.

Revision history for this message
Steve Langasek (vorlon) wrote :

Ok you're right, this was a typo in Erich's update to the branch: the correct name is supported-raspi-common, not standard-raspi-common.

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

> Ok you're right, this was a typo in Erich's update to the branch: the correct
> name is supported-raspi-common, not standard-raspi-common.

oops, fixing

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

Latest test with the latest commit of edubuntu-pi-arm64.yaml was a success with the exception of previously mentioned LP: #2045336. Once that bug is resolved I'll be able to build a full test image again.

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote (last edit ):

The good news is the previous issue is now resolved, but I'm blocked by a new bug in LP: #2048922 in my testing.

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

Image now builds and is tested on a Raspberry Pi 5. Slow to initial boot, but that seems par for the course with these images.

Revision history for this message
Steve Langasek (vorlon) wrote :

Thanks, this looks ok now. The only thing I see different between the ubuntu yaml and this latest edubuntu yaml, which was present in the original but I overlooked, is hard-coding squashfs-tools in the list of extra-packages for the image. Why was this needed? It seems a very strange manual addition to an image.

Not blocking on this question, but I think you probably should clean that up (either removing it directly, or filing a bug against whatever is preventing you from removing it, or seeding it in desktop-gnome-raspi)

review: Approve
Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

> Not blocking on this question, but I think you probably should clean that up (either removing it directly, or filing a bug against whatever is preventing you from removing it, or seeding it in desktop-gnome-raspi)

Agreed, especially since my latest test build without it built successfully, which completed as of this comment. In early testing, however, it did require it and errored without the `unsquashfs` command being available to the chroot, so this was a workaround that proved to be temporary. Therefore, a new MP will be coming in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/edubuntu-pi-arm64.yaml b/edubuntu-pi-arm64.yaml
2new file mode 100755
3index 0000000..fd98a75
4--- /dev/null
5+++ b/edubuntu-pi-arm64.yaml
6@@ -0,0 +1,89 @@
7+name: edubuntu-desktop-raspi-arm64
8+display-name: Edubuntu Preinstalled Desktop Raspberry Pi arm64
9+revision: 1
10+architecture: arm64
11+series: noble
12+class: preinstalled
13+kernel: linux-image-raspi
14+gadget:
15+ url: "https://git.launchpad.net/snap-pi"
16+ branch: "classic"
17+ type: "git"
18+ target: "desktop"
19+rootfs:
20+ archive: ubuntu
21+ flavor: edubuntu
22+ components:
23+ - main
24+ - restricted
25+ - universe
26+ - multiverse
27+ mirror: "http://ports.ubuntu.com/ubuntu-ports/"
28+ pocket: updates
29+ seed:
30+ urls:
31+ - "git://git.launchpad.net/~edubuntu-dev/ubuntu-seeds/+git/"
32+ - "git://git.launchpad.net/~ubuntu-core-dev/ubuntu-seeds/+git/"
33+ branch: noble
34+ names:
35+ - raspi-common
36+ - minimal
37+ - standard
38+ - supported-raspi-common
39+ - desktop-gnome-minimal
40+ - desktop-gnome
41+ - desktop-gnome-raspi
42+ - raspi-common
43+ - fonts
44+ - ubuntu-edu-preschool
45+ - ubuntu-edu-primary
46+ - ubuntu-edu-secondary
47+ - ubuntu-edu-tertiary
48+customization:
49+ extra-snaps:
50+ - name: snapd
51+ - name: bare
52+ - name: gnome-42-2204
53+ channel: stable/ubuntu-24.04
54+ - name: gtk-common-themes
55+ channel: stable/ubuntu-24.04
56+ - name: firefox
57+ channel: stable/ubuntu-24.04
58+ - name: snap-store
59+ channel: stable/ubuntu-24.04
60+ - name: snapd-desktop-integration
61+ channel: stable/ubuntu-24.04
62+ extra-packages:
63+ - name: oem-config-gtk
64+ - name: oem-config
65+ - name: ubiquity-frontend-gtk
66+ - name: language-pack-en-base
67+ - name: edubuntu-live-settings
68+ - name: ubiquity-slideshow-edubuntu
69+ - name: squashfs-tools
70+ fstab:
71+ - label: "writable"
72+ mountpoint: "/"
73+ filesystem-type: "ext4"
74+ mount-options: "discard"
75+ dump: false
76+ fsck-order: 1
77+ - label: "system-boot"
78+ mountpoint: "/boot/firmware"
79+ filesystem-type: "vfat"
80+ mount-options: "defaults"
81+ dump: false
82+ fsck-order: 1
83+# FIXME: Temporarily, we also need to make sure that for desktop pi images
84+# we actually run oem-config-prepare before first boot. Otherwise we won't
85+# be able to boot into oem-config properly.
86+# This should be done via a package postinst ideally, so this manual
87+# customization should be only temporary.
88+ manual:
89+ execute:
90+ - path: "/usr/sbin/oem-config-prepare"
91+artifacts:
92+ img:
93+ - name: edubuntu-24.04-preinstalled-desktop-arm64+raspi.img
94+ manifest:
95+ name: edubuntu-24.04-preinstalled-desktop-arm64+raspi.manifest

Subscribers

People subscribed via source and target branches