From 7c1d8146a770d6b37b35cefc0ad8662f4c07df62 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 4 Sep 2013 23:21:37 +0200 Subject: gnu: vm: 'qemu-image' populates /dev on the target root file system. * gnu/system/vm.scm (qemu-image): Use (guix build linux-initrd). Remove 'mknod' calls; use 'make-essential-device-nodes' to populate /dev on the target image. * gnu/packages/linux-initrd.scm (qemu-initrd): When /root/dev exists, don't call 'make-essential-device-nodes'. --- gnu/system/vm.scm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'gnu/system') diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 3bc94f4575..596a697738 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -210,7 +210,8 @@ (define loader `(let () (use-modules (ice-9 rdelim) (srfi srfi-1) - (guix build utils)) + (guix build utils) + (guix build linux-initrd)) (let ((parted (string-append (assoc-ref %build-inputs "parted") "/sbin/parted")) @@ -223,9 +224,7 @@ (define loader (initrd (string-append (assoc-ref %build-inputs "initrd") "/initrd")) (linux (string-append (assoc-ref %build-inputs "linux") - "/bzImage")) - (makedev (lambda (major minor) - (+ (* major 256) minor)))) + "/bzImage"))) (define (read-reference-graph port) ;; Return a list of store paths from the reference graph at PORT. @@ -265,7 +264,6 @@ (define (graph-from-file file) (assoc-ref %build-inputs "gawk") "/bin")) (display "creating partition table...\n") - (mknod "/dev/vda" 'block-special #o644 (makedev 8 0)) (and (zero? (system* parted "/dev/vda" "mklabel" "msdos" "mkpart" "primary" "ext2" "1MiB" ,(format #f "~aB" @@ -273,7 +271,6 @@ (define (graph-from-file file) (* 5 (expt 2 20)))))) (begin (display "creating ext3 partition...\n") - (mknod "/dev/vda1" 'block-special #o644 (makedev 8 1)) (and (zero? (system* mkfs "-F" "/dev/vda1")) (begin (display "mounting partition...\n") @@ -291,6 +288,9 @@ (define (graph-from-file file) thing))) (things-to-copy)) + ;; Populate /dev. + (make-essential-device-nodes #:root "/fs") + (call-with-output-file "/fs/boot/grub/grub.cfg" (lambda (p) (format p " @@ -335,7 +335,8 @@ (define (graph-from-file file) #:make-disk-image? #t #:disk-image-size disk-image-size #:references-graphs (map input->name+derivation inputs-to-copy) - #:modules '((guix build utils)))) + #:modules '((guix build utils) + (guix build linux-initrd)))) ;;; -- cgit v1.2.3