From 43fe431cce107bd311a68dea59ac0f672ac13615 Mon Sep 17 00:00:00 2001 From: David Craven Date: Tue, 14 Feb 2017 16:28:31 +0100 Subject: [PATCH] vm: Remove hard coded kernel file name. * gnu/system/vm.scm (system-qemu-image/shared-store-script, expression->derivation-in-linux-vm): Use operating-system-kernel-file and system-linux-image-file-name. * gnu/system.scm (system-linux-image-file-name): Add ARM. --- gnu/system.scm | 9 ++++++--- gnu/system/vm.scm | 5 +++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 1006c842c9..c8d4d014ed 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -97,6 +97,8 @@ (define-module (gnu system) operating-system-locale-directory operating-system-boot-script + system-linux-image-file-name + boot-parameters boot-parameters? boot-parameters-label @@ -255,9 +257,10 @@ (define (swap-services os) (define* (system-linux-image-file-name #:optional (system (%current-system))) "Return the basename of the kernel image file for SYSTEM." ;; FIXME: Evaluate the conditional based on the actual current system. - (if (string-prefix? "mips" (%current-system)) - "vmlinuz" - "bzImage")) + (cond + ((string-prefix? "arm" (%current-system)) "zImage") + ((string-prefix? "mips" (%current-system)) "vmlinuz") + (else "bzImage"))) (define (operating-system-kernel-file os) "Return an object representing the absolute file name of the kernel image of diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 8a35f7fbc5..a7203d1690 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -141,7 +141,8 @@ (define builder (gnu build vm)) (let ((inputs '#$(list qemu coreutils)) - (linux (string-append #$linux "/bzImage")) + (linux (string-append #$linux "/" + #$(system-linux-image-file-name))) (initrd (string-append #$initrd "/initrd")) (loader #$loader) (graphs '#$(match references-graphs @@ -487,7 +488,7 @@ (define builder #$@(if full-boot? #~() - #~(" -kernel " #$(operating-system-kernel os) "/bzImage \ + #~(" -kernel " #$(operating-system-kernel-file os) " \ -initrd " #$os-drv "/initrd \ -append \"" #$(if graphic? "" "console=ttyS0 ") "--system=" #$os-drv " --load=" #$os-drv "/boot --root=/dev/vda1 "