There are actually 2 reasons. The lesser reason is that sdm inherently supports burning multiple disks from a single customized IMG, each with their own customizations applied at burn time. If the disks are to be deployed in different worldwide locations, the L10n (localization) settings will be different. This means you can't set the L10n settings during customization.Oh - I was referring to the line in the video, @4:54:sdm of course handles the localization for you. Without knowing what exact keyboard configuration issue you're having it'll be a bit difficult to ELI5 it. I've never had an issue with either sdm (of course!) or rpi-imager. Maybe I've just been lucky with imager?
it will perform some last-minute configuration, including some settings that must be completed on the actual running system, such as setting the keyboard configuration and unblocking WiFi
The ELI5 part I'd love to hear is, why that has to be done on the actual running system.
There is no firmware on the Pi - we're just talking about modifying files on the SD card here - so it baffles me that this task cannot possible be done either inside the image before we burn it, or on the filesystem while it's still plugged into another device (i.e. not the runtime system).
Especially since I"m not picking anything exotic here. Standard US keyboard layout (101 key). Standard US English.
Secondly, and the real reason it has to wait until boot time...In Bookworm, the keyboard-setup service changed in such a way that running it in the sdm container as part of the customization or burn process elicited an error. (don't recall the exact error however
I'm curious what you perceive to be the issue with deferring the keyboard setup to the system First Boot?
It's always good to ask questions when things don't make sense. And there are plenty of old men like us in these forums, sometimes shouting at the skyBut I'm just an old man shouting at the sky here. It's not a problem I expect anyone to actually solve.
I just tested sdm pre-configuring a WiFi that begins with a hyphen, and the .nmconnection file is properly created. The plugin invocation wasIf I'm going to open a ticket anywhere, it would going to be for the official Pi Imager tool:Also, it drives me nuts that they keep making the network configuration wizards smarter (but also dumber), when it was so easy to specify exactly what you wanted with dhcpcd.conf and wpa_supplicant.conf. But since that's a pointless complaint, I'll just go outside yell at kids to get off my lawn and pull their pants up.
- If you pre-configure a WiFi SSID that begins with dashes, it appears to fail.
- It does not give you the option of pre-configuring static network parameters.
- Not all of the localization choices in the tool are actually applied.
Code:
--plugin network:"ifname=wlan0|cname=foobar|wifissid=-foobar|wifipassword=------"Code:
[connection]id=foobaruuid=01ce560f-7589-460c-a72e-46c5933c0787type=wifiinterface-name=wlan0 [wifi]mode=infrastructuressid=-foobar [wifi-security]key-mgmt=wpa-pskpsk=------ [ipv4]method=auto [ipv6]addr-gen-mode=defaultmethod=auto [proxy]WRT to the network configuration wizards, sdm makes it super-simple to disable cloud-init, which also disables netplan (the network configuration "wizard" that you referred to). Along with several other forum participants, I prefer to fully control my network configuration and most definitely want my nmconnection files to be in /etc/NetworkManager/system-connections and configured EXACTLY as I want them.
You live in an interesting neighborhood if you have kids playing on your lawn with their pants down!
Statistics: Posted by bls — Fri Jun 05, 2026 7:38 pm





