oem-config-prepare needs manual execution
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
livecd-rootfs (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
ubiquity (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
At present, in pre-installed images that rely on oem-config for their first-boot configuration (the Raspberry Pi Ubuntu desktop images are probably the most obvious of these), it is not enough to simply include oem-config (and an appropriate front-end) in the image. The oem-config-prepare script must also be run, and the appropriate oem user (with the correct UID) must also be created.
Currently this is handled by a series of hacks in either livecd-rootfs or ubuntu-image (whichever is being used to build the image). In the case of livecd-rootfs [1]:
# Create the oem user account only if it doesn't already exist
if ! id "oem" &>/dev/null; then
/usr/
/usr/
touch "/var/lib/
fi
This is doubly pointless since now we use ubuntu-image rather than livecd-rootfs for building these images anyway. Speaking of ubuntu-image, other there we do this [2]:
# FIXME: Temporarily, we also need to make sure that for desktop pi images
# we actually run oem-config-prepare before first boot. Otherwise we won't
# be able to boot into oem-config properly.
# This should be done via a package postinst ideally, so this manual
# customization should be only temporary.
manual:
execute:
- path: "/usr/sbin/
(this is also wrong since it misses the creation of the oem user).
It would be much cleaner in both cases to have an extra package (appropriately named "oem-config-
[2]: https:/
Related branches
- Michael Hudson-Doyle (community): Needs Information
- Ubuntu Release Team: Pending requested
-
Diff: 27 lines (+1/-8)1 file modifiedubuntu-pi-arm64.yaml (+1/-8)
- Canonical Foundations Team: Pending requested
-
Diff: 74 lines (+6/-54)2 files modifieddebian/changelog (+6/-0)
dev/null (+0/-54)
- Steve Langasek: Needs Information
-
Diff: 58 lines (+33/-0)3 files modifieddebian/changelog (+6/-0)
debian/control (+14/-0)
debian/oem-config-prepare.postinst (+13/-0)
Changed in ubiquity (Ubuntu): | |
assignee: | nobody → Dave Jones (waveform) |
Changed in livecd-rootfs (Ubuntu): | |
assignee: | nobody → Dave Jones (waveform) |
tags: | added: foundations-todo raspi-image |
description: | updated |
Okay, now we're in the noble (24.04) series these should be ready to review. I've rebased the branches as needed (and closed the livecd-rootfs merge as that turned out to be redundant at this point anyway).