From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#39815: Sharing the store between a host and a guest Date: Sun, 08 Mar 2020 23:16:17 +0100 Message-ID: <87d09m7ary.fsf@gnu.org> References: <87k147epvx.fsf@cassou.me> <87eeufdx2x.fsf@cassou.me> <20200228210753.GA30122@jasmine.lan> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:33549) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jB4EJ-0006nE-7P for bug-guix@gnu.org; Sun, 08 Mar 2020 18:17:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jB4EI-0001kQ-7L for bug-guix@gnu.org; Sun, 08 Mar 2020 18:17:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:43464) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jB4EI-0001kG-3z for bug-guix@gnu.org; Sun, 08 Mar 2020 18:17:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jB4EI-0007KA-06 for bug-guix@gnu.org; Sun, 08 Mar 2020 18:17:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <20200228210753.GA30122@jasmine.lan> (Leo Famulari's message of "Fri, 28 Feb 2020 16:07:53 -0500") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane-mx.org@gnu.org Sender: "bug-Guix" To: Leo Famulari Cc: Damien Cassou , 39815@debbugs.gnu.org Hi! Leo Famulari skribis: > As you found, what you get with `guix system vm` is read-only. Even > though you copied build-vm.sh out of /gnu/store, it is just a shell > script that refers to immutable data in the host /gnu/store. > > In order to share the store with a VM, you would need to also share the > store database =E2=80=94 at least /var/guix/db if not all of /var/guix = =E2=80=94 and > also use the host's guix-daemon. > > It would be great to support your use case but I don't think anyone has > worked on it yet. Unfortunately, the Unix-domain socket in /var/guix/daemon-socket cannot be shared over 9p AFAICS (with =E2=80=98guix system vm --expose=E2=80=99). However, one thing that could work is to: 1. in the guest, set GUIX_DAEMON_SOCKET=3Dguix://localhost:1234; 2. set up QEMU port forwarding such that the guest=E2=80=99s port 1234 is somehow redirected to a port the host guix-daemon listens to (with =E2=80=98--listen=E2=80=99); 3. share /var/guix with the guest. It would be easier if Unix-domain sockets could be forwarded between the host and the guest, but that doesn=E2=80=99t seem to be the case. :-/ Ludo=E2=80=99.