FreeBSD 10.0-RC3 Now Available

Tim Kientzle kientzle at freebsd.org
Fri Dec 27 03:20:00 UTC 2013


On Dec 26, 2013, at 6:58 PM, Glen Barber <gjb at FreeBSD.org> wrote:

> On Thu, Dec 26, 2013 at 06:51:11PM -0800, Tim Kientzle wrote:
>> On Dec 26, 2013, at 11:59 AM, Warner Losh <imp at bsdimp.com> wrote:
>> 
>>> Can crochet take this the userland tarball and make an image from it?
>> 
>> Easy-peasy.  There are hooks for this already in lib/board.sh that you
>> can override in config.sh.  Something like the following (untested)
>> should do the trick:
>> 
>> # (Optional) Don’t build world.
>> board_default_buildworld ( ) { }
>> 
>> # Replace default installworld with untar
>> board_default_installworld ( ) {
>> 	cd ${BOARD_FREEBSD_MOUNTPOINT}
>> 	tar xf ${WORLD_TARBALL}
>> }
> 
> So, in theory, re@ would need to produce arm userland (using TARGET=arm
> TARGET_ARCH=arm),

armv6, actually.

> run 'make packageworld' to create the base.txz and
> 'make packagekernel' to create kernel.txz, and that should dump the
> world/kernel bits onto a dd(1)-compatible image?

That’s the idea.

You’d have to also override board_default_buildkernel
and/or board_default_installkernel in like fashion if you
want to use a kernel.txz distribution.  There’s less 
point in that on arm, though, since we don’t yet have a
GENERIC kernel.

Caveat:  Overriding board_default_installkernel is straightforward
for boards like RPi and BeagleBone if you’re using the
U-Boot -> ubldr boot chain.  Beyond that, it can get a little
weird.

> Although, if we're already doing buildworld, installworld is inexpensive
> at this point.

I think Warner’s concern was whether there was a way to
ensure that the (release) tarball and the (release) RPi
image had exactly the same bits.

Of course, the really time-consuming part of building a
release image with Crochet is when you add:

  option UsrPorts
  option UsrSrc

;-)

Tim



More information about the freebsd-arm mailing list