"Running Guix in a Virtual Machine" documentation unclear/incomplete/wrong

  • Open
  • quality assurance status badge
Details
3 participants
  • Ian Eure
  • 宋文武
  • zamfofex
Owner
unassigned
Submitted by
Ian Eure
Severity
normal

Debbugs page

Ian Eure wrote 2 years ago
(address . bug-guix@gnu.org)
87ilipmruk.fsf@retrospec.tv
I’m trying to explore Guix System by running it in a VM on my
computer which runs Debian. I’m interested in some of the Guix
ideas, but not ready to do a bare-metal install.

I found the download page[1] and got a copy of the QEMU image,
then clicked "Installation instructions"[2]. These instructions
didn’t work, because they’re incomplete and/or unclear and/or
wrong and/or not really installation instructions in the way one
might assume. Since I don’t really know anything about Guix
(which is why I’m reading the documentation and test driving it in
a VM), I’m not sure which one-or-more of these it may be.

Specifically:

Toggle quote (3 lines)
> To enable SSH inside a VM you need to add an SSH server like
> openssh-service-type to your VM (see openssh-service-type).

The documentation doesn’t say *how* to do that. The
openssh-service-type link[3] takes me to a large page of code
documentation for every possible networking service, instead of
the openssh-service-type one specifically. This documentation
describes *what* the service type and its many configuration
options is, but is silent on *how* to make use of it.

It continues:

Toggle quote (5 lines)
> In addition you need to forward the SSH port, 22 by default, to
> the host. You can do this with
> $(guix system vm config.scm) -nic
> user,model=virtio-net-pci,hostfwd=tcp::10022-:22

I’m really not sure what this is supposed to be doing. It can’t
run on my Debian host, since there’s no guix command. It errors
inside the VM, since it can’t find a config.scm file; and I don’t
see an obvious config.scm file anywhere inside the VM that it
might be looking for.

I *suspect* that this documentation is actually targeted at
running a Guix System VM on an existing Guix host. Which is a
chicken-and-egg problem, if I’ve already installed Guix, I don’t
need to follow instructions to install it.

[2]:
[3]:
zamfofex wrote 2 years ago
(name . 59846@debbugs.gnu.org)(address . 59846@debbugs.gnu.org)
884981701.1707758.1670328698183@privateemail.com
Hello! As far as I understand, the QEMU image is not meant to be used for installing Guix System, but rather just trying it out.

You should instead use the “GNU Guix Sytem on Linux” image from https://guix.gnu.org/download/latest/

Here are some quick steps to get started:

- - - - -

% qemu-img create -f qcow2 guix.qcow2 500G

% qemu-system-x86_64 -enable-kvm -m 2G -nic user -cdrom guix.iso guix.qcow2
- - - - -

You can then proceed with the installation using the pseudo‐graphical installer, then later use the installed system by using:

- - - - -
% qemu-system-x86_64 -enable-kvm -m 2G -nic user guix.qcow2
- - - - -

Here is a short video I have coincidentally recorded another day: https://zamfofex.neocities.org/temporary/guix.mp4 (Though I might remove it at some point.)

Here is an even shorter video showing basically the same thing, but that is likely more permanent: https://guix.gnu.org/videos/2020/system-graphical-installer/
宋文武 wrote 2 years ago
Re: bug#59846: "Running Guix in a Virtual Machine" documentation unclear/incomplete/wrong
(name . Ian Eure)(address . ian@retrospec.tv)(address . 59846@debbugs.gnu.org)
874ju64eg5.fsf@envs.net
Ian Eure <ian@retrospec.tv> writes:

Toggle quote (4 lines)
> I’m trying to explore Guix System by running it in a VM on my computer
> which runs Debian. I’m interested in some of the Guix ideas, but not
> ready to do a bare-metal install.

Hello!
Toggle quote (9 lines)
>
> I found the download page[1] and got a copy of the QEMU image, then
> clicked "Installation instructions"[2]. These instructions didn’t
> work, because they’re incomplete and/or unclear and/or wrong and/or
> not really installation instructions in the way one might assume.
> Since I don’t really know anything about Guix (which is why I’m
> reading the documentation and test driving it in a VM), I’m not sure
> which one-or-more of these it may be.

Sorry for the not very helpful documentation, I'd say write good
documentation is very hard...
Toggle quote (13 lines)
>
> Specifically:
>
>> To enable SSH inside a VM you need to add an SSH server like
>> openssh-service-type to your VM (see openssh-service-type).
>
> The documentation doesn’t say *how* to do that. The
> openssh-service-type link[3] takes me to a large page of code
> documentation for every possible networking service, instead of the
> openssh-service-type one specifically. This documentation describes
> *what* the service type and its many configuration options is, but is
> silent on *how* to make use of it.

This openssh-service-type should be added into the system configuration
file, it's /run/current-system/configuration.scm in the pre-built qemu
image or the file passed to 'guix system vm-image' when built your own
image. The configuration file is a scheme (guile) file, the detail is
in the section "10.1 Using the configuration System".

Toggle quote (19 lines)
>
> It continues:
>
>> In addition you need to forward the SSH port, 22 by default, to the
>> host. You can do this with
>> $(guix system vm config.scm) -nic
>> user,model=virtio-net-pci,hostfwd=tcp::10022-:22
>
> I’m really not sure what this is supposed to be doing. It can’t run
> on my Debian host, since there’s no guix command. It errors inside
> the VM, since it can’t find a config.scm file; and I don’t see an
> obvious config.scm file anywhere inside the VM that it might be
> looking for.
>
> I *suspect* that this documentation is actually targeted at running a
> Guix System VM on an existing Guix host. Which is a chicken-and-egg
> problem, if I’ve already installed Guix, I don’t need to follow
> instructions to install it.

Well this 10.16 target both running a pre-built qcow guix system image
and running a 'guix system vm' built one. But it's not self contained,
as the service things lacking commands for the former as you reported,
and the later case assume you already have guix installed (not the guix
system though).

Hope it helps!
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 59846@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 59846
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help