From owner-freebsd-arm@freebsd.org Mon Sep 7 22:19:55 2015 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7A5FB9CC33B for ; Mon, 7 Sep 2015 22:19:55 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qg0-f41.google.com (mail-qg0-f41.google.com [209.85.192.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 332E019F3 for ; Mon, 7 Sep 2015 22:19:54 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by qgev79 with SMTP id v79so69561294qge.0 for ; Mon, 07 Sep 2015 15:19:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=JWmzcQYrCgCLBgpuKDN6R/UVBECpo4c9GCbpyJBayC4=; b=iTQkutpxWTzVObd7258aKkLN0mWKlQKFlxwTNIa4V0hy+CWFO7B+NoR+ULCEHKNBfr MfOvYf4uA7RDeQGRtGLmxTgZxryX6QkHz51JAsKzenh6cnji/eEevm/+WRyFtSh2xW1w 4GraipMkHn5AhEvTlSpbCa6vN3vbKoqVcCKzIj8bAqt7TokeD4PGLr7kkU3yoP/nVu8w EdAeqp577SEBV2svy4iZTYRm3JWj3N+skbQV1uohk+R+rWa7Opn3vppU7JE2fSHd8TMZ /E6jkX/rExqqdX1mvFHyJK0XC99ktpqa2RBWPDexqmRMesgeow8NMNL9CGb3Xc4UXzd6 6OLQ== X-Gm-Message-State: ALoCoQneZ5jwva4xryyXK2U460dPZCxVq0D1Ytzvf4EcU01OGxW1GgyZsufQZr7Jsm3dCz2kbO+U MIME-Version: 1.0 X-Received: by 10.140.164.7 with SMTP id k7mr31931758qhk.40.1441664388349; Mon, 07 Sep 2015 15:19:48 -0700 (PDT) Sender: wlosh@bsdimp.com Received: by 10.140.80.164 with HTTP; Mon, 7 Sep 2015 15:19:48 -0700 (PDT) X-Originating-IP: [69.53.245.5] In-Reply-To: <023E3382-6F0A-4EDA-9D9A-E0F60AB58FA6@kientzle.com> References: <20150907090541.GA54788@potato.growveg.org> <59F1B4A5-CD93-46D2-83D3-F0790CA2FA8E@gmail.com> <20150907150539.GA2959@potato.growveg.org> <023E3382-6F0A-4EDA-9D9A-E0F60AB58FA6@kientzle.com> Date: Mon, 7 Sep 2015 16:19:48 -0600 X-Google-Sender-Auth: oVnR2LzF0t9khqjzw5SLx90ajj4 Message-ID: Subject: Re: bhyve/arm6/amd64 query From: Warner Losh To: Tim Kientzle Cc: freebsd-arm Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Sep 2015 22:19:55 -0000 On Mon, Sep 7, 2015 at 12:15 PM, Tim Kientzle wrote: > > > On Sep 7, 2015, at 8:05 AM, John > 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? > > 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=arm6 buildworld > $ make TARGET_ARCH=arm6 KERNCONF=RPI2 buildkernel > $ # ... mount the img via md loopback > $ mergemaster filesystem> > $ make TARGET_ARCH=arm6 KERNCONF=RPI2 DESTDIR= installkernel > $ make TARGET_ARCH=arm6 KERNCONF=RPI2 DESTDIR= installworld > $ # ... unmount the image s/arm6/armv6/g but otherwise that looks good. Warner