Packer Image Building for RaspiOS Bookworm

Raspberry Pi OS changed a bit for the new release based on Debian Bookworm.

First thing is that the username needs to be set on the first start. This is not possible for me in a headless setup so I needed to add a userconf.txt to set the username. I already set the password with an Ansible task, so this was easy to solve.

The second thing that changed was the usage of NetworkManager as default and the deprecation of wpa_supplicant. This info box in the documention and no hint on what to do otherwise is actually a bad move from Raspberry!

/images/raspberry-no-wpa_supplicant.png

A thread in the raspberry pi forum helped: I just need to drop a correct nmconnection file in the correct place. Important thing here, the file needs a uuid set and the correct permissions. So I added the creation of this file to my ansible setup.

Other changes like Wayland instead of Xorg or PipeWire are of no interest to me. I use Raspberry PIs only to run sensors or small services headless.