bhyve/arm6/amd64 query

Paul Mather paul at gromit.dlib.vt.edu
Tue Sep 8 13:16:20 UTC 2015


On Sep 7, 2015, at 11:05 AM, John <freebsd-lists at potato.growveg.org> wrote:

> On Mon, Sep 07, 2015 at 03:33:24PM +0300, Jukka Ukkonen wrote:
>> AFAIK no. Bhyve is a plain hardware type of container,
>> not a hardware emulator like qemu, nor a jail type
>> container.
>> You should be looking for qemu or something similar.
>> Bhyve can be used for hosting other operating systems
>> on the same type of HW as the vanilla system.
> 
> OK, thanks. You've saved me the work of trying then failing terribly :D
> 
> It doesn't have to be hosted. The reason for me asking is, basically can I take
> the image and (as an image, not as an OS) can it be updated/recompiled on different,
> higher spec hardware, then returned to the Pi?
> 
> Hopefully I'm describing this right. You know on say amd64, an arm6 system can be
> cross-compiled as an installable system. That system is running. I have updated it
> (while installed on RPI2 hardware) and installed my configs, it works great. 
> Now I can unplug the microSD, dd it to a .img file, on another system, to archive it. 
> What I'm asking is, can I take that image while it's on the other system, and 
> interact with it to the extent that I can update/upgrade it?
> 
> *the other system is also freebsd11, but amd64*


I do something similar to what you describe for my Raspberry Pi and BeagleBone Black except I don't deal with it as a complete image.  I just work with the file systems on the SD card.

I cross build the system on my FreeBSD/amd64 system using this guide: https://wiki.freebsd.org/FreeBSD/arm/crossbuild.  When I'm ready to update the SD card on the Pi or BBB, I shut them down and then mount the UFS2 file system on the FreeBSD/amd64 system.  I run make installkernel and installworld to the mounted SD card file system (mounted, e.g., at /build/sys/bbb) and also run mergemaster (e.g., mergemaster -i -F -m /build/src/head -A armv6 -D /build/sys/bbb).  All this is really just using the standard build tools, but with some extra option specified due to the cross-build nature of the process.

After unmounting the SD card, I put it back in the Pi or BBB and start it up again.  This method has worked without problems for me for a while, and I can build a new kernel and world on my FreeBSD/amd64 system in under 30 minutes, as opposed to the many many hours it takes to do it natively on the Pi or BBB.

Cheers,

Paul.


More information about the freebsd-arm mailing list