help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bad parameter to boot GuixSD in a VM


From: Leo Famulari
Subject: Re: Bad parameter to boot GuixSD in a VM
Date: Tue, 11 Apr 2017 21:00:43 -0400
User-agent: Mutt/1.8.0 (2017-02-23)

On Tue, Apr 11, 2017 at 10:38:44PM +0200, Miroslav Rovis wrote:

Hi, thanks for the detailed feedback!

In general, the instructions in the manual related to QEMU are the
simplest QEMU invocations that will work for basic use cases. They are
intended to be something that a person without QEMU experience can use
to boot GuixSD in a virtualized environment. We assume that users will
adapt these examples to their use case if they plan to virtualize GuixSD
in production.

> address@hidden ~# ping www.gnu.org
> ping: unknown host
> address@hidden ~#
>
> Previously I ran "ip a", nothing really shows... And afterwards I tried:
> 
> address@hidden ~# curl https://www.gnu.org
> address@hidden ~# links https://www.gnu.org
> address@hidden ~# elinks https://www.gnu.org
> address@hidden ~# lynx https://www.gnu.org
> 
> but none of those seems to be installed.
> 
> In short, no network in the Guix guest...

There is a built-in network client `guix download` that you could try.

There was (is?) a bug related to name resolution failures being cached
for too long in certain cases:

<https://bugs.gnu.org/22209>

So, I connect to a well-known IP address like 8.8.8.8 in order to test
the network.

As an aside, the unprivileged "user mode" QEMU networking system doesn't
support ICMP, so if you were using that, ping won't work.

> And I was courious, why are you suggesting/recommending (in that manual)
> the old:
>  -net ...
> instead of the new:
>  -netdev ...
> ? The Qemu devs are firm that the new is better, IIUC.

I looked into this previously, and I decided to keep the old '-net user'
syntax in the examples we provide.

My reason is that '-netdev user' requires the user to specify a unique
'id' parameter, while '-net user' does not.

Since both syntaxes provide the same "user mode network stack", I
thought that the older and simpler syntax was better for the examples in
the manual. Remember, these are supposed to be the simplest examples
that will boot GuixSD with a network connection.

Is there some limitation with '-net user' that we should consider for
the examples in the manual?

> Let me try another script:
> 
> =-=--===-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> 
> #!/bin/sh
> exec qemu-system-x86_64 \
>               -machine type=q35,accel=kvm \
>               -enable-kvm \
>               -cpu host \
>               -device virtio-net,netdev=internet \
>               -netdev \
>                       
> bridge,br=br0,id=internet,helper=/usr/libexec/qemu-bridge-helper \
>               -m 4196M \
>               -monitor stdio \
>               -boot menu=on \
>               -drive file=guixsd.img \
>               -drive file=guixsd-usb-install-0.12.0.x86_64-linux 
> 
> =-=--===-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> 
> Oh, yes! This is maybe 10 times faster!

Yes, KVM will do that :)

> But, still no network... Hmmmh!

Hm, I'm not sure what's wrong. I assume that the TAP device is properly
configured in your host system?

The nice thing about the user-mode QEMU networking is that it doesn't
require any special configuration on the host. But of course it's very
limited...

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]