As a matter of principle I've always tried to run FreeBSD systems in self-hosting mode, installing from a binary image and then rebuilding world, ports and kernel from sources. Admittedly, the practical benefits are minimal, but the philosophical satisfaction is worth it, for me. On a Pi, that presents increasing challenges. FreeBSD's footprint has grown steadily, both in disk and memory requirements. Pi2 and Pi3, limited to 1GB of RAM, have real trouble compiling llvm. The only remedy is to use -j2 or -j3 to limit memory pressure and make sure that hardware swap in available. An 8GB Pi4 has no trouble. In ports, the norm now is to use tools like poudriere to avoid build conflicts between ports. Simple, CLI-only ports can often be built using make but GUI ports are very likely to fail using make because of the incompatible libraries used in graphics programming. Perhaps more daunting, developers rely on poudriere's environmental consistency to aid debugging build failures. A failed make in /usr/ports is much harder to debug than a failed poudriere build and so a report of trouble is far less prone to attract developer help. Now (20241119) that armv7 is being phased out the most reasonable Raspberry Pi to use is the Pi4. With 8GB it's no problem yet. A Pi3 will work but self-hosting is apt to be more trouble than it's worth for non-experts. There seem to be some subtle problems using small flash storage when running buildworld. After prolonged use microSDs slow down as they have to begin garbage collection. Further, there have been what appear to be cases of file corruption that result in build failures or, worse, corrupted binaries being installed. This is purely anecdotal, not systematic testing. Still, I'd now suggest against hosting on other than conventional mass storage media, meaning mechanical or SSD hard disks. Thumb drives semed to work well to start with, but not long-term. 20250507