Better connectivity when booting from official Debian images

TL;DR
Okidoki; with the caveat that we are talking about development snapshots here, not full featured distros with installers, updates, etc… they come later. (Armbian just announced support!)

Super-security is not needed or welcome, the image has a fixed username and well known passwords. Because of this it’s a good idea to ship with SSH disabled, but this wasn’t done well with the February image, openssh was completely removed. Causing trouble for some. Raspbian struggled with this for some time, so I went and looked at how they solved it…

@Michael.Zhu (or whoever packages this in your team)
Here is a script for use when preparing the next image. It will disable ssh, then install a service to enable ssh at boot on demand. Users just need to create a file in the boot partition after writing the image: /boot/ssh (the contents, if any, are irrelevant, the boot partition is a FAT file-system, so should be easy to mount everywhere).

sbc-image-prep.sh (1.2 KB)
I have tested this on my system and it works as I expect. The operational bit is: (as root)

systemctl disable ssh
curl -o /lib/systemd/system/sshswitch.service https://raw.githubusercontent.com/RPi-Distro/raspberrypi-sys-mods/master/debian/raspberrypi-sys-mods.sshswitch.service
systemctl daemon-reload
systemctl enable sshswitch.service

This disables ssh, installs the sshswitch service and activates it.

The sshswitch.service will look for a file named /boot/ssh during startup.

  • If it is present it will remove it; and run systemctl enable --now ssh.

The sshswitch config file and mechanism was taken from the pi-sys-mods package originally published by the Pi foundation as part of the RPi-Distro at:

under a BSD-3-Clause Licence:

5 Likes

Maybe, sshd is a replacement for X-server. Without X, VF2 cannot work with a display.
GPIO or sshd need to be chosen. Sshd requires a cable. That is easy and cheap.