Skip to content

Projects

Tim Kientzle edited this page Apr 20, 2014 · 3 revisions

There are still plenty of ways this script could be improved:

  • More boards. Crochet should be able to support any board for which the FreeBSD source tree can build a working kernel. The hardest part is working out the various boot pieces required. Look at board/NewBoardExample for explanations for adding support for a new board.

  • Out-of-tree kernel configuration. Right now, these scripts assume kernel configuration files are in the FreeBSD source tree. I don't think config(8) requires this; it would be nice to be able to include a tweaked kernel configuration as part of a board definition.

  • Package Installation. Pkgng packages can be installed using option PackageInit <repository> and option Package <name> assuming you have a suitable pkgng repository. Cross-installs mostly work but there are subtle bugs that need to be tracked down.

    It should be possible to support pkg_add for same-architecture installs, though this requires tricky chroot games to get right.

  • Swap. The script should allow you to specify a swap size and automatically adjust the disk layout accordingly. For now, we support creating swap files in the FreeBSD partition, which is easy and seems to work well enough.

  • Support for read-only root and other more complex partitioning approaches.

  • Improved VM building. The VMWareGuest configuration can build a VMWare virtual machine (which is more than just the disk image). There are some bugs that might be problems with VMWareGuest setting up the various VM configuration files or might be FreeBSD kernel bugs; I'm not sure. It should also be possible to directly build Bhyve, Parallels, VirtualBox, or OVF VM images.

Clone this wiki locally