Monday, April 15, 2024

Unlocking Raspberry Pi Potential: Navigating Network Booting Challenges for Enhanced Performance and Reliability

I've set up several Raspberry Pis around our house for various projects, but one recurring challenge is the potential for SD card failure due to heavy file system writes. To mitigate this, I've transitioned some of my Raspberry Pi 4s to boot from USB drives, but this limits compatible cases.

Backing up these SD cards or USB drives can be cumbersome, yet essential in case of failure. Recognizing that Raspberry Pis since the 3 B model can boot from the network, I decided to utilize my Proxmox server to host the boot server.

Initially, I explored Piserver, the official solution from the Raspberry Pi Foundation. Setting it up involved creating a VM and booting from the Raspbian distribution iso. While it provided a straightforward interface for booting devices from the network and selecting distributions, it fell short of my needs.

Despite its ease of use, Piserver mounts the OS filesystem as read-only, making installing different software on individual Pis impossible. This setup suits scenarios like computer labs where a uniform OS image suffices.

Seeking a solution with writable OS filesystems for each Raspberry Pi, I discovered this guide for configuring a TFTP and NFS server. Implementing this on a Proxmox virtual machine allowed for writable filesystems, but I encountered difficulties booting a Raspberry Pi 3B+. The issue likely stems from DHCP option 43, which Unifi utilizes for controller address specification, hindering net booting.

Currently, Raspberry Pi 4 devices successfully boot from the network server. In the future, I may transition the DHCP server on this VLAN away from the Unifi Controller to better support Raspberry Pi 3 devices.









No comments:

Post a Comment

Seamless Local Control: Integrating WeatherFlow with Home Assistant Across VLANs

I've been pleased with my Home Assistant setup for some time now. One of my main focuses has been achieving local control. This ensures...