summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-05-23 22:35:08 +0200
committerLudovic Courtès <ludo@gnu.org>2014-05-23 22:37:24 +0200
commit112440a7b832a3841bf8e8139975b43b78f8a6ab (patch)
treedf6b209d99dd05eb2c6435c53dc48349ed0320b0
parenta68d976b666a5097585cf221f4f8d793f90f3464 (diff)
downloadguix-112440a7b832a3841bf8e8139975b43b78f8a6ab.tar.gz
vm: Disable QEMU networking in the disk image initrd.
* gnu/system/linux-initrd.scm (qemu-initrd): Add #:qemu-networking?
  parameter and honor it.
* gnu/system/vm.scm (system-disk-image): Pass #:qemu-networking #f.
-rw-r--r--gnu/system/linux-initrd.scm6
-rw-r--r--gnu/system/vm.scm6
2 files changed, 10 insertions, 2 deletions
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm
index 03199e0c39..b80ff10f1e 100644
--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -204,12 +204,16 @@ initrd code."
 (define* (qemu-initrd file-systems
                       #:key
                       guile-modules-in-chroot?
+                      (qemu-networking? #t)
                       volatile-root?)
   "Return a monadic derivation that builds an initrd for use in a QEMU guest
 where the store is shared with the host.  FILE-SYSTEMS is a list of
 file-systems to be mounted by the initrd, possibly in addition to the root
 file system specified on the kernel command line via '--root'.
 
+When QEMU-NETWORKING? is true, set up networking with the standard QEMU
+parameters.
+
 When VOLATILE-ROOT? is true, the root file system is writable but any changes
 to it are lost.
 
@@ -267,7 +271,7 @@ exception and backtrace!)."
 
        (boot-system #:mounts '#$(map file-system->spec file-systems)
                     #:linux-modules '#$linux-modules
-                    #:qemu-guest-networking? #t
+                    #:qemu-guest-networking? #$qemu-networking?
                     #:guile-modules-in-chroot? '#$guile-modules-in-chroot?
                     #:volatile-root? '#$volatile-root?))
    #:name "qemu-initrd"
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 18635fd7e9..a15c4c358b 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -271,7 +271,11 @@ to USB sticks meant to be read-only."
             (operating-system-file-systems os)))
 
   (let ((os (operating-system (inherit os)
-              (initrd (cut qemu-initrd <> #:volatile-root? volatile?))
+              ;; Since this is meant to be used on real hardware, don't set up
+              ;; QEMU networking.
+              (initrd (cut qemu-initrd <>
+                           #:volatile-root? volatile?
+                           #:qemu-networking? #f))
 
               ;; Force our own root file system.
               (file-systems (cons (file-system