Although I have used pxe boot in the past, I don't use netboot with the Pi. That said, AIUI you need to create a bootable image configured as you want, and then lay that out appropriately for netbooting.Hi Raspberry Pi Community,
I’ve been running a bunch of Raspberry Pi 5s as cameras with on‑board image recognition—mainly on our robots—for some time. To avoid SD‑card failures and the drift that creeps in when each robot has its own copy of the OS, I want to move everything to network boot.
Our current approach is… messy: we check the entire operating‑system tree into Git. Unsurprisingly, that’s painful—too many files change constantly, and tracking them clutters the history.
What we really need is much simpler:
- A base Raspberry Pi OS image
- A few additional applications installed in /home
Conceptually, it feels like building a Docker image (base layer → custom layers). But reverse‑mounting a Docker image on a Pi doesn’t sound ideal.
- A handful of systemd services enabled
Has anyone found a cleaner way to manage and version a network‑bootable Raspberry Pi image—ideally one that lets us track meaningful changes (e.g., files under /home) without clogging Git with transient system files? I’d appreciate any pointers, best‑practice tips, or tools that have worked for you.
Thanks!
One way to reliably build an IMG that has exactly the contents you want, configured exactly as you want is to use sdm.
You'll have to wrap a bit of code around it to update your netboot database, but if you want to track changes in github, what you'd end up tracking are text files (config files for sdm) rather than binary file systems.
This is of interest to me as a new use case (and personally for my own netbooting use), so if it piques your interest, open an issue or discussion on the sdm github and let's figure out how to make it work for you.
Statistics: Posted by bls — Sat May 03, 2025 3:35 am