[Bug 2038098] [NEW] oem-config-prepare needs manual execution

Launchpad Bug Tracker 2038098 at bugs.launchpad.net
Tue Nov 28 15:33:19 UTC 2023


You have been subscribed to a public bug by Dave Jones (waveform):

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/sbin/useradd -d /home/oem -G adm,sudo -m -N -u 29999 oem
    /usr/sbin/oem-config-prepare --quiet
    touch "/var/lib/oem-config/run"
  fi

In the case of ubuntu-image [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/oem-config-prepare"

(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-prepare") that simply depends on the
"oem-config" package, which contains the oem-config-prepare script, but
carries out these steps in its postinst. Thus the ubuntu-image yaml can
simply include this package under "extra-packages" and the livecd-rootfs
hook lines can disappear in favour of a simple "add_package oem-config-
prepare".

Obviously it's too late in the mantic cycle to look at this, but it
should be considered for the 24.04 cycle (assuming we're still intending
to use ubiquity / oem-config for that cycle).

[1]: https://git.launchpad.net/livecd-rootfs/tree/live-
build/ubuntu/hooks/099-ubuntu-image-customization.chroot#n14

[2]: https://git.launchpad.net/ubuntu-images/tree/ubuntu-pi-
arm64.yaml#n68

** Affects: livecd-rootfs (Ubuntu)
     Importance: Undecided
     Assignee: Dave Jones (waveform)
         Status: New

** Affects: ubiquity (Ubuntu)
     Importance: Undecided
     Assignee: Dave Jones (waveform)
         Status: New


** Tags: foundations-todo raspi-image
-- 
oem-config-prepare needs manual execution
https://bugs.launchpad.net/bugs/2038098
You received this bug notification because you are a member of Ubuntu Sponsors, which is subscribed to the bug report.



More information about the Ubuntu-sponsors mailing list