From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:57891) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1idKvR-0004sx-Dp for guix-patches@gnu.org; Fri, 06 Dec 2019 16:14:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1idKvP-0005sG-8b for guix-patches@gnu.org; Fri, 06 Dec 2019 16:14:09 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:41139) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1idKvK-0005qg-P5 for guix-patches@gnu.org; Fri, 06 Dec 2019 16:14:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1idKvK-0001D5-JZ for guix-patches@gnu.org; Fri, 06 Dec 2019 16:14:02 -0500 Subject: [bug#38513] [PATCH] gnu: Remove uses of deprecated Qemu "-nic, model=foo" invokations. Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:54347) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1idKuV-0004eC-Ky for guix-patches@gnu.org; Fri, 06 Dec 2019 16:13:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1idKuU-0003R2-7e for guix-patches@gnu.org; Fri, 06 Dec 2019 16:13:11 -0500 Received: from out3-smtp.messagingengine.com ([66.111.4.27]:56035) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1idKuT-0003FB-Oh for guix-patches@gnu.org; Fri, 06 Dec 2019 16:13:10 -0500 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 3481822860 for ; Fri, 6 Dec 2019 16:13:07 -0500 (EST) Received: from localhost (ti0006q161-0149.bb.online.no [62.16.192.150]) by mail.messagingengine.com (Postfix) with ESMTPA id B6DA530600AB for ; Fri, 6 Dec 2019 16:13:06 -0500 (EST) From: Marius Bakke Date: Fri, 6 Dec 2019 22:13:04 +0100 Message-Id: <20191206211304.2724-1-mbakke@fastmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 38513@debbugs.gnu.org * gnu/build/vm.scm (load-in-linux-vm): Move Qemu network configuration from ARCH-SPECIFIC-FLAGS to the Qemu command line. Use the "-nic" option of Qemu instead of "-device" and "-net". * gnu/system/vm.scm (common-qemu-options): Change "-net nic ..." to "-nic user ...". * doc/guix.texi (Installing Guix in a VM, Running Guix in a VM): Adjust examples accordingly. --- doc/guix.texi | 16 +++++++--------- gnu/build/vm.scm | 10 ++-------- gnu/system/vm.scm | 2 +- 3 files changed, 10 insertions(+), 18 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 7d50f31d20..31f26694fd 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -46,7 +46,7 @@ Copyright @copyright{} 2017, 2018 Carlo Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017 Christopher Allan Webber@* -Copyright @copyright{} 2017, 2018 Marius Bakke@* +Copyright @copyright{} 2017, 2018, 2019 Marius Bakke@* Copyright @copyright{} 2017, 2019 Hartmut Goebel@* Copyright @copyright{} 2017, 2019 Maxim Cournoyer@* Copyright @copyright{} 2017, 2018, 2019 Tobias Geerinckx-Rice@* @@ -2472,7 +2472,7 @@ Boot the USB installation image in an VM: @example qemu-system-x86_64 -m 1024 -smp 1 -enable-kvm \ - -net user -net nic,model=virtio -boot menu=on,order=d \ + -nic user,model=virtio-net-pci -boot menu=on,order=d \ -drive file=guix-system.img \ -drive media=cdrom,file=guix-system-install-@value{VERSION}.@var{system}.iso @end example @@ -26514,7 +26514,7 @@ vm-image} on x86_64 hardware: @example $ qemu-system-x86_64 \ - -net user -net nic,model=virtio \ + -nic user,model=virtio-net-pci \ -enable-kvm -m 1024 \ -device virtio-blk,drive=myhd \ -drive if=none,file=/tmp/qemu-image,id=myhd @@ -26527,14 +26527,12 @@ Here is what each of these options means: This specifies the hardware platform to emulate. This should match the host. -@item -net user +@item -nic user,model=virtio-net-pci Enable the unprivileged user-mode network stack. The guest OS can access the host but not vice versa. This is the simplest way to get the -guest OS online. - -@item -net nic,model=virtio -You must create a network interface of a given model. If you do not -create a NIC, the boot will fail. Assuming your hardware platform is +guest OS online. @code{model} specifies which network device to emulate: +@code{virtio-net-pci} is a special device made for virtualized operating +systems and recommended for most uses. Assuming your hardware platform is x86_64, you can get a list of available NIC models by running @command{qemu-system-x86_64 -net nic,model=help}. diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 89d685b352..9a9e5bd001 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -131,14 +131,7 @@ the #:references-graphs parameter of 'derivation'." ;; The serial port name differs between emulated ;; architectures/machines. " console=" - (if target-arm? "ttyAMA0" "ttyS0")) - - ;; NIC is not supported on ARM "virt" machine, so use a user mode - ;; network stack instead. - ,@(if target-arm? - '("-device" "virtio-net-pci,netdev=mynet" - "-netdev" "user,id=mynet") - '("-net" "nic,model=virtio")))) + (if target-arm? "ttyAMA0" "ttyS0")))) (when make-disk-image? (format #t "creating ~a image of ~,2f MiB...~%" @@ -163,6 +156,7 @@ the #:references-graphs parameter of 'derivation'." ;; CPU with the maximum possible feature set otherwise. "-cpu" "max" "-m" (number->string memory-size) + "-nic" "user,model=virtio-net-pci" "-object" "rng-random,filename=/dev/urandom,id=guixsd-vm-rng" "-device" "virtio-rng-pci,rng=guixsd-vm-rng" "-virtfs" diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 8609bd2ace..5ee9855ae5 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -927,7 +927,7 @@ with '-virtfs' options for the host file systems listed in SHARED-FS." '()) "-no-reboot" - "-net nic,model=virtio" + "-nic" "user,model=virtio-net-pci" "-object" "rng-random,filename=/dev/urandom,id=guixsd-vm-rng" "-device" "virtio-rng-pci,rng=guixsd-vm-rng" -- 2.24.0