RFC: "Crochet" build tool

George Neville-Neil gnn at neville-neil.com
Tue Mar 26 14:15:32 UTC 2013


On Mar 25, 2013, at 1:35 , Tim Kientzle <kientzle at freebsd.org> wrote:

> 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.
> 

Hi Tim,

I think this is some good stuff, but, I am wondering, can we figure out a better way
to integrate this into the main FreeBSD tree?  We have, over the years, had various ways
of building images for embedded FreeBSD, such as pico and nanobsd etc.  The
thing that would really help most is to make all this main stream and "just part of the
build" even if it's just putting the scripts in some simple interior location.  Have
you given much thought to that?

That being said, I'll try this set of scripts out soon.

Thanks,
George




More information about the freebsd-arm mailing list