Simplify Pi provisioning and maintenance as much as possible.
As a result of this my first stage of the project is figuring out how to PXE boot the Raspberry Pi 4. I want to make provisioning and re-provisioning the cluster nodes easy as pie (pun intended). 10 Pis will be in the cluster for running containerized workloads. I am embarking on an IOT project using Raspberry Pis in a Kubernetes cluster. I provide a troubleshooting guide in this how to.
Troubleshooting tips tended to be lacking.
I aim to provide more insight into the PXE boot process.
Glossing over the underlying technologies assuming knowledge of PXE boot.
However there are subtle differences between PXE booting the Pi 3 and Pi4. So I decided to write a tutorial that addresses the following gaps.
However they all have some gaps I filled in myself.
Configure the /etc/fstab to mount via NFSĭoes the world need another Raspberry Pi PXE boot tutorial? I read many amazing docs, forum posts and blog posts on the topic before starting this project.
Configure the NFS exports on the PXE boot server.
Configure the PXE server to use a static IP.
Create the NFS, tftp boot directories and create our base netboot filesystem.
Update Raspbian and install rpi-eeprom, rsync and dnsmasq.
Phase 2 – Raspberry Pi PXE Boot Server Configuration.
Configure the Rasperry Pi 4 bootloader to PXE boot.
Install Raspbian on an SD card and install needed tools.
Phase 1 – PXE Boot Client Configuration.
Why PXE boot or netboot a Raspberry Pi?.
What does this Raspberry Pi PXE Boot tutorial cover?.
Depending on how the SD card is connected, the location to write data can be different. This page describes how to create a bootable SD card.