Set Up A Headless Raspberry Pi, All From Another Computer’s Command Line

There are differences between setting up a Raspberry Pi and installing an OS on any other computer, but one thing in common is that if you do enough of them, you seek to automate the process any way you can. That is the situation [Peter Lorenzen] found himself in, and his solution is a shell script to install and configure the Raspberry Pi for headless operation, with no need to connect either a keyboard or monitor in the process.

[Peter]’s tool is a script called rpido, and with it the process for setting up a new Raspberry Pi for headless operation is super streamlined. To set up a new Pi, all [Peter] needs to do is:

  1. Plug an SD card into his laptop (which happens to be running Ubuntu.)
  2. Run: rpido -w -h myhostname -s which downloads and installs the newest version of Raspbian lite, does some basic setup (such as setting the hostname), configures for headless operation, and launches a root shell.
  3. Use the root shell to do any further tweaks or checks (like launching raspi-config for additional changes.)
  4. Exit the shell, remove the SD card from his laptop, and install the card into the Raspberry Pi.

There are clear benefits to [Peter]’s script compared to stepping through a checklist of OS install and setup tasks, not to mention the advantage of not needing to plug in a keyboard and monitor. Part of the magic is that [Peter] is mounting the SD card’s filesystem in a chroot environment. Given the right tools, the ARM binaries intended for the Pi run on his (Intel) Ubuntu laptop. It’s far more convenient to make changes to the contents of the SD card in this way, before it goes to its new home in a Pi.

Not everything has to revolve around an SD card, however. [Jonathan Bennet] showed that it’s possible to run a Raspberry Pi without an SD card by using the PXE boot feature, allowing it to boot and load its file system from a server on the same network, instead of a memory card.

Minimalist user interface for headless Raspberry Pi applications


[Jason Birch] just finished building a beautifully simple user interface for the Raspberry Pi. The goal was to keep it small and intuitive while still providing a range of functionality. His add-on hardware gives feedback using several LEDs and a four-line character LCD screen. It provides control using just four momentary press switches.

The base for the add-on hardware is a chunk of protoboard the same size as the Pi itself. This is just slightly wider than the LCD screen, leaving room along the top for the row of buttons with different colors of LEDs in between them. Look closely in that nest of point-to-point wiring and you’ll find the dual pin-socket which mates with the RPi GPIO header. One important note from [Jason] mentions that the LCD screen R/W pin must be tied to ground. This keeps it from going into read mode, which would push 5V over the I/O pins, potentially damaging the 3.3V tolerant header on the RPi.

Throw in a battery and that pretty much covers the hardware. To see how he’s using it you’ll want to view the video clip after the break.

Continue reading “Minimalist user interface for headless Raspberry Pi applications”