RFC: "Crochet" build tool

George Rosamond george at ceetonetechnology.com
Tue Mar 26 14:55:35 UTC 2013


On 03/26/13 10:15, George Neville-Neil wrote:
> 
> 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.
> 

Integrating into base would be nice.

My question would be: just for ARM, or as Tim mentions in his script,
potentially for other architectures also?

If so what would be benefit/difference with NanoBSD if Tim's script was
used for other architectures?

For embedded-type systems on i386, I always built my own and never got
into Nano.

g


More information about the freebsd-arm mailing list