summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-01-31 01:43:16 +0100
committerLudovic Courtès <ludo@gnu.org>2014-01-31 01:43:16 +0100
commitfc4bc4b6debecf9acc7e86ecb519c03b5b598bc4 (patch)
treec70eaa5b91f85fa9d13d18684caacb4a22bfee93
parent83b9e6a1854d4fb86f0269afac33200dce996f06 (diff)
downloadguix-fc4bc4b6debecf9acc7e86ecb519c03b5b598bc4.tar.gz
gnu: linux-initrd: Properly distinguish between /dev/sda* and /dev/vda*.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Rename
  devices with major = 8 to /dev/sda*.  Make /dev/vda* devices.
* gnu/system/vm.scm (qemu-image): Change '/dev/vda' to '/dev/sda'.
* gnu/system.scm (operating-system-derivation): Likewise.
-rw-r--r--gnu/system.scm2
-rw-r--r--gnu/system/vm.scm8
-rw-r--r--guix/build/linux-initrd.scm13
3 files changed, 14 insertions, 9 deletions
diff --git a/gnu/system.scm b/gnu/system.scm
index 5fb4a7483e..e9ecfd2732 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -330,7 +330,7 @@ alias ll='ls -l'
                                    (package-full-name kernel)
                                    " (technology preview)"))
                            (linux kernel)
-                           (linux-arguments `("--root=/dev/vda1"
+                           (linux-arguments `("--root=/dev/sda1"
                                               ,(string-append "--load=" boot)))
                            (initrd initrd-file))))
        (grub.cfg (grub-configuration-file entries))
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index bd7718a14a..5407522652 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -294,18 +294,18 @@ such as /etc files."
                                 (assoc-ref %build-inputs "gawk") "/bin"))
 
          (display "creating partition table...\n")
-         (and (zero? (system* parted "/dev/vda" "mklabel" "msdos"
+         (and (zero? (system* parted "/dev/sda" "mklabel" "msdos"
                               "mkpart" "primary" "ext2" "1MiB"
                               ,(format #f "~aB"
                                        (- disk-image-size
                                           (* 5 (expt 2 20))))))
               (begin
                 (display "creating ext3 partition...\n")
-                (and (zero? (system* mkfs "-F" "/dev/vda1"))
+                (and (zero? (system* mkfs "-F" "/dev/sda1"))
                      (let ((store (string-append "/fs" ,%store-directory)))
                        (display "mounting partition...\n")
                        (mkdir "/fs")
-                       (mount "/dev/vda1" "/fs" "ext3")
+                       (mount "/dev/sda1" "/fs" "ext3")
                        (mkdir-p "/fs/boot/grub")
                        (symlink grub.cfg "/fs/boot/grub/grub.cfg")
 
@@ -379,7 +379,7 @@ such as /etc files."
                        (and (zero?
                              (system* grub "--no-floppy"
                                       "--boot-directory" "/fs/boot"
-                                      "/dev/vda"))
+                                      "/dev/sda"))
                             (zero? (system* umount "/fs"))
                             (reboot))))))))
     #:system system
diff --git a/guix/build/linux-initrd.scm b/guix/build/linux-initrd.scm
index 69cb58763f..b9fc9b1523 100644
--- a/guix/build/linux-initrd.scm
+++ b/guix/build/linux-initrd.scm
@@ -81,10 +81,15 @@
   (unless (file-exists? (scope "dev"))
     (mkdir (scope "dev")))
 
-  ;; Make the device nodes for QEMU's hard disk and partitions.
-  (mknod (scope "dev/vda") 'block-special #o644 (device-number 8 0))
-  (mknod (scope "dev/vda1") 'block-special #o644 (device-number 8 1))
-  (mknod (scope "dev/vda2") 'block-special #o644 (device-number 8 2))
+  ;; Make the device nodes for SCSI disks.
+  (mknod (scope "dev/sda") 'block-special #o644 (device-number 8 0))
+  (mknod (scope "dev/sda1") 'block-special #o644 (device-number 8 1))
+  (mknod (scope "dev/sda2") 'block-special #o644 (device-number 8 2))
+
+  ;; The virtio (para-virtualized) block devices, as supported by QEMU/KVM.
+  (mknod (scope "dev/vda") 'block-special #o644 (device-number 252 0))
+  (mknod (scope "dev/vda1") 'block-special #o644 (device-number 252 1))
+  (mknod (scope "dev/vda2") 'block-special #o644 (device-number 252 2))
 
   ;; TTYs.
   (mknod (scope "dev/tty") 'char-special #o600