Skip to content

Add rpi-preseed support - #1659

Merged
tdewey-rpi merged 3 commits into
mainfrom
dev/tdewey/rpi-preseed
Jul 8, 2026
Merged

Add rpi-preseed support#1659
tdewey-rpi merged 3 commits into
mainfrom
dev/tdewey/rpi-preseed

Conversation

@tdewey-rpi

Copy link
Copy Markdown
Collaborator

To supersede cloud-init.

Serialise wizard customisation to rpi-preseed.toml for OS images whose
manifest declares init_format "rpi-preseed", alongside the existing
systemd / cloud-init paths.

- customization_generator: add generateRpiPreseedToml() emitting
  [system]/[user]/[ssh]/[wlan]/[locale]/[connect]/[interfaces]; carry a
  non-UTF-8 SSID as wlan.ssid_hex so arbitrary 802.11 octets survive
- imagewriter: route the rpi-preseed init_format and stage the TOML;
  add imageSupportsInterfaceCustomisation() so the Interfaces step shows
  for rpi-preseed as well as cloudinit-rpi; append the Wi-Fi regdomain to
  cmdline.txt
- downloadthread/fastbootflashthread: write rpi-preseed.toml to the boot
  partition and preserve it across the secure-boot repack
- oslistmodel + os-list-schema.json: register the rpi-preseed init_format
- docs: document the format in os_customisation_formats.md

Fix isValidUtf8(): QStringDecoder::operator() returns a lazy proxy, so the
result must be materialised or hasError() never trips and arbitrary octets
were wrongly reported as valid UTF-8 (mis-routing exotic SSIDs on the
systemd/cloud-init paths too). Use Flag::Stateless and consume the result;
apply the same fix to the mirrored test helpers.
The manifest-authoring reference enumerated the accepted init_format
values but was missing "rpi-preseed", which the schema, oslistmodel and
customisation generator already support.
@tdewey-rpi
tdewey-rpi force-pushed the dev/tdewey/rpi-preseed branch from c08cb4a to a4abdb8 Compare July 8, 2026 14:50
@tdewey-rpi
tdewey-rpi merged commit 3eee591 into main Jul 8, 2026
@tdewey-rpi
tdewey-rpi deleted the dev/tdewey/rpi-preseed branch July 8, 2026 14:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant