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