[SRU] raspi-config is looking at the wrong directory

Bug #1972982 reported by Dave Jones
This bug affects 2 people
Affects Status Importance Assigned to Milestone
raspi-config (Ubuntu)
Status tracked in Kinetic
Fix Committed
Dave Jones
Fix Released
Dave Jones

Bug Description

[ Impact ]

raspi-config is currently looking at /boot which is where the boot partition is mounted on RaspiOS ... not Ubuntu (where it's /boot/firmware). Which effectively means it's looking at a blank config.txt (because it won't find any) and is writing any changes to /boot/config.txt where they won't work.

[ Test Plan ]

To be performed on the following configurations:

* Pi 4B with Ubuntu Desktop
* Pi 4B with Ubuntu Server
* Pi 2B/3B/3B+/Zero 2W with Ubuntu Server

* Enable proposed (https://wiki.ubuntu.com/Testing/EnableProposed)
* Install raspi-config from -proposed: sudo apt install -t jammy-proposed raspi-config
* sudo raspi-config
* Test as many options as reasonably possible. In particular the following are expected to work (or at least state they're unsupported):
  - 1 / S1 Wireless LAN (this is expected to fail under Server due to LP: #1981071, but should work under Desktop)
  - 1 / S3 Password
  - 1 / S4 Hostname
  - 1 / S7 Splash screen
  - 1 / S8 Power LED
  - 2 / D4 Screen Blanking
  - 2 / D5 VNC Resolution (should just state this is disabled)
  - 2 / D6 Composite (if you have a composite display!)
  - 3 / I1 Legacy Camera
  - 3 / I2 SSH
  - 3 / I3 VNC (should just state this is disabled)
  - 3 / I4 SPI
  - 3 / I5 I2C
  - 3 / I6 Serial Port
  - 3 / I7 1-Wire
  - 4 / P2 GPU Memory
  - 4 / P3 Overlay File System
  - 4 / P4 Fan
  - 5 / L1 Locale
  - 5 / L2 Timezone
  - 5 / L3 Keyboard
  - 5 / L4 WLAN Country
  - 6 / A1 Expand Filesystem (will need to prevent auto-expansion with growpart: mode: off to cloud-init)
  - 6 / A3 Compositor (should just state this is disabled)
  - 6 / A4 Network Interface Names
  - 6 / A5 Network Proxy Settings
  - 6 / A6 Boot Order (Pi 4 only)
  - 6 / A7 Bootloader Version (Pi 4 only)
  - 6 / A9 Wayland (desktop images only)
* Other options can be tested but are not expected to work, though equally they should not actively break important things (like boot / networking)

[ Regression Potential ]

The package as uploaded basically doesn't work on Ubuntu (it runs, but it won't report the current settings correctly and changes it makes go to the wrong place). However, in fixing the package to look at the right location, some of the options become downright dangerous. For example: the overlayfs option (when being disabled) would break boot on Ubuntu by removing the initramfs line from config.txt (perfectly fine under RaspiOS which doesn't rely on an initramfs, but fatal on Ubuntu).

Therefore the regression potential is that we move from "doesn't work" to "actively breaks things". I've patched as much as I reasonably can, and while there are definitely still some pieces that "don't work" I *hope* I've fixed all the "actively breaks" cases.

The options listed in the test plan above should be run through on several different Pi models (in particular a 4B and a non-4B as those are the ones that raspi-config distinguishes) to ensure that nothing breaks horrifically. If certain options merely "don't work", then bugs should be filed, but I don't regard that as a regression as such (because they definitely didn't work before).

However, if any of the options results in the Pi being unable to boot, or connect to the network, etc. (and didn't result in a similar failure under the original version): *that* is a regression and should prevent migration of the package.

Dave Jones (waveform)
Changed in raspi-config (Ubuntu):
assignee: nobody → Dave Jones (waveform)
status: New → Confirmed
importance: Undecided → High
Changed in raspi-config (Ubuntu Jammy):
status: New → Confirmed
assignee: nobody → Dave Jones (waveform)
importance: Undecided → High
summary: - raspi-config is look at the wrong directory
+ raspi-config is looking at the wrong directory
Revision history for this message
Launchpad Janitor (janitor) wrote : Re: raspi-config is looking at the wrong directory

This bug was fixed in the package raspi-config - 20220506-0ubuntu1

raspi-config (20220506-0ubuntu1) kinetic; urgency=medium

  * Convert to quilt packaging for ease of Ubuntu patches
  * Disabled broken and unsupported functions:
    - d/p/no-init-resize.patch: Remove init_resize.sh (never used on Ubuntu)
    - d/p/no-vnc.patch: Disable the VNC options
    - d/p/no-lua.patch: Replace lua calls with awk to remove a dependency
    - d/p/no-xcompmgr.patch: Disable the xcompmgr compositor option
  * Fixed other functions:
    - d/p/boot-mount.patch: Correct the path of the boot partition
      (LP: #1972982)
    - d/p/fix-overlayfs.patch: Use overlayroot for overlayfs handling
    - d/p/deb-ver-check.patch: Remove checks against /etc/debian_version
    - d/p/fix-leds.patch: Fix activity function for the power LED
    - d/p/fix-blanking.patch: Fix screen blanking to work under Ubuntu
    - d/p/fix-wifi.patch: Fix Wifi SSID and regdom selection

 -- Dave Jones <email address hidden> Wed, 29 Jun 2022 14:27:17 +0100

Changed in raspi-config (Ubuntu Kinetic):
status: Confirmed → Fix Released
Dave Jones (waveform)
summary: - raspi-config is looking at the wrong directory
+ [SRU] raspi-config is looking at the wrong directory
Dave Jones (waveform)
description: updated
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

Hello Dave, or anyone else affected,

Accepted raspi-config into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/raspi-config/20220506-0ubuntu1~22.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, what testing has been performed on the package and change the tag from verification-needed-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. 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 raspi-config (Ubuntu Jammy):
status: Confirmed → Fix Committed
tags: added: verification-needed verification-needed-jammy
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

I decided to accept this into jammy-proposed even though it's a new upstream version mainly because the current raspi-config in jammy doesn't work anyway. I also like the very detailed test-case and spot-on regression analysis. I think it would be worthwhile to have this in jammy indeed.

Revision history for this message
Dave Jones (waveform) wrote :

Tested as much as I reasonably can on a Pi3 and a Pi4 running jammy server and jammy desktop releases. Didn't encounter anything that catastrophically broke things, but there were still a few minor cases where the previous version did nothing (because it was reading or writing the wrong file), but the new version did the wrong thing / broke things (e.g. keyboard settings were written, but ignored).

Ultimately though, I didn't manage to break boot / login with anything yet so I'd say this is "good enough" for now.

tags: added: verification-done-jammy
removed: verification-needed-jammy
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers