aboutsummaryrefslogtreecommitdiff
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)
downloadpatches-fc4bc4b6debecf9acc7e86ecb519c03b5b598bc4.tar
patches-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