freebsd-wifibox
freebsd-wifibox copied to clipboard
Move to 9p-based root file system
Explore if it is possible to load the guest's kernel directly from the host's file system as well as mount the root file system of the guest from there. Potential benefits:
- There would be no need for a virtual disk image: no resizing required, no extra metadata costs, the content is transparent for the host, easier to trust.
- Some of the firmware packages could be installed optionally, depending on the user needs. This can be important for firmware files which cannot be distributed in a prepackaged way due to licensing restrictions.
- Easier management of the guest's file system, the contents can be "built" from sources in a scripted fashion, which can also be version-controlled.
The results of the preliminary study are available at https://github.com/pgj/freebsd-wifibox/tree/9p-root .
I have been using this configuration for a couple of weeks and it works nicely. The only drawback that I experienced was the slowdown in the file system access, which effectively doubles the boot time for the guest. That might be because of some performance bottleneck in the 9P implementation or by design, which might be worth investigating. Independently of this, many improvements have been streamed back to main and utilized in the (re-)creation of the latest disk image.
There has not been that much of a need for this feature hence closing it now. The SquashFS-based images combined with the shared /var file system are working just fine enough.