RFC: "Crochet" build tool

Tim Kientzle kientzle at freebsd.org
Mon Mar 25 05:35:08 UTC 2013


I've gone through another non-trivial round of refactoring
for my build tool.  Feedback appreciated.

Most obviously, I've renamed the tool "Crochet" (to remove
any implication that it is BeagleBone specific) and
migrated it to a different github repository:

  https://github.com/kientzle/crochet-freebsd

Config files from the earlier beaglebsd should still work.

The biggest internal change:  I've completely rethought
how partitioning is handled.   Instead of creating and populating
each partition, it's now structured as:
  * Create all partitions
  * Mount all partitions
  * Populate each logical filesystem (boot and freebsd)

In particular, it should be much easier to do complex
partitioning with this structure.  I've also added a few
more customization hooks, refactored some of the board
code, improved error handling, and added a lot more
documentation.

I've spent the last week verifying that this version can
build bootable images for RaspberryPi, BeagleBone,
and Pandaboard ES.  (I don't have any other boards
to try with.)

It also has two special board definitions:
* NewBoardExample is a skeleton that can be cloned
   and used as a (thoroughly-commented) starting point
   for new board definitions.
* BeagleBonePlusRaspberryPi is a proof-of-concept
   for a single image that can boot on more than one board.
   (There's a chunk of kernel work yet to be done before
   this really works.  This just proves out the boot bits.)

Tim

P.S.  The name "crochet" was developed partly by searching
for "<term> FreeBSD" for a bunch of different candidate names.
After only a week, my github repository is already the top three
Google hits for "crochet freebsd," so the name seems to be working.



More information about the freebsd-arm mailing list