Booting diskless Raspberry Pi remotely over USB to auto-create a Raspberry Pi cluster

By: (plus.google.com) +David Herron; Date: November 18, 2017

Tags: Raspberry Pi »»»» Raspberry Pi Zero »»»» Diskless Booting

The Raspberry Pi is a cool computer with one flaw - that it runs off an SD card. SD card's aren't terribly reliable, and it's tedious to create individuated SD cards for each Pi in a cluster. This guy came up with a "Cluster Hat" that not only creates a Pi Cluster using Raspberry Pi Zero's, but also has them booting over USB from a master controller Raspberry Pi 3.

Raspberry Pi 3 Model B Motherboard
Raspberry Pi 3 Model B Motherboard:

The Raspberry Pi Zero's are mounted to a "Cluster HAT" ( (clusterhat.com) https://clusterhat.com/). HAT means Hardware Attached on Top, and refers to any of the boards that sit on the Raspberry Pi GPIO header. In this case the HAT contains a small USB hub configured so the Raspberry Pi Zero's mount directly onto the board using their USB OTG connectors. That connector both provides power to the Zero as well as a data connection over USB.

The boot process sets up a virtual network connection between the master controller computer and each Pi Zero. NFS is configured between the master controller and each Pi Zero, so that the master operating system is stored on the controller computer, and the Pi Zero's in the cluster have no local storage of their own.

Diskless workstations have a long history, by the way, going back to Sun Microsystems. NFS was originally developed to support diskless Sun workstations booting over ethernet. It's interesting to see this applied to Raspberry Pi's.

The technique uses usbboot/rpiboot :- (github.com) https://github.com/raspberrypi/usbboot with modifications here https://github.com/burtyb/usbboot

Overview/Guide: (8086.support) https://8086.support/content/23/88/en/guide-to-using-the-rpiboot-test-image-on-the-cluster-hat_zero-stem-or-just-a-usb-cable.html