Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Sep 2015 11:15:03 -0700
From:      Tim Kientzle <tim@kientzle.com>
To:        freebsd-arm <freebsd-arm@freebsd.org>
Subject:   Re: bhyve/arm6/amd64 query
Message-ID:  <023E3382-6F0A-4EDA-9D9A-E0F60AB58FA6@kientzle.com>
In-Reply-To: <20150907150539.GA2959@potato.growveg.org>
References:  <20150907090541.GA54788@potato.growveg.org> <59F1B4A5-CD93-46D2-83D3-F0790CA2FA8E@gmail.com> <20150907150539.GA2959@potato.growveg.org>

next in thread | previous in thread | raw e-mail | index | archive | help

> On Sep 7, 2015, at 8:05 AM, John <freebsd-lists@potato.growveg.org> =
wrote:
>=20
> 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.
>=20
> OK, thanks. You've saved me the work of trying then failing terribly =
:D
>=20
> 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?
>=20
> 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.=20
> Now I can unplug the microSD, dd it to a .img file, on another system, =
to archive it.=20
> What I'm asking is, can I take that image while it's on the other =
system, and=20
> interact with it to the extent that I can update/upgrade it?

In theory, yes.  If you could figure this out there are lots of people =
who might be interested in it.

The basic idea:  cross-compile a new FreeBSD system, mount the arm6 =
image and then cross-install onto it to update it.  This is very similar =
to the process Crochet uses for building a new image, except that =
instead of starting with a new blank system image you would instead =
mount your existing image and install over it.

Roughly speaking, the process should be something like the following =
(you'll need to do some research to fill in the many details):

  $ cd /usr/src
  $ make TARGET_ARCH=3Darm6 buildworld
  $ make TARGET_ARCH=3Darm6 KERNCONF=3DRPI2 buildkernel
  $ # ... mount the img via md loopback
  $ mergemaster <options to target the image instead of the local =
filesystem>
  $ make TARGET_ARCH=3Darm6 KERNCONF=3DRPI2 DESTDIR=3D<img> =
installkernel
  $ make TARGET_ARCH=3Darm6 KERNCONF=3DRPI2 DESTDIR=3D<img> installworld
  $ # ... unmount the image








Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?023E3382-6F0A-4EDA-9D9A-E0F60AB58FA6>