FreeBSD 10.0-RC3 Now Available

Glen Barber gjb at FreeBSD.org
Fri Dec 27 03:26:00 UTC 2013


On Thu, Dec 26, 2013 at 07:19:57PM -0800, Tim Kientzle wrote:
> 
> 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.
> 

Yes, Warner pointed this out.  Thanks.

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

Since we don't have GENERIC for arm, I think the path of least
annoyan^Wresistance is doing per-board builds.  The build environments
are cheap - they are zfs datasets, destroyed/created on new build.

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

Well, no. :(  The time-consuming part is the dependency chain for the
build.  Such as, RPI-B needs python, gsed, and world+dog.  BeagleBone
needs cross-gcc, and I'm sure other stuff.

It would be pretty cool if crochet could have a '-D' flag to 'show
missing dependencies for board specified'.

But, I do realize it's a PITA. :)

Glen

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20131226/33fa4673/attachment.sig>


More information about the freebsd-arm mailing list