diff options
author | Mathieu Othacehe <m.othacehe@gmail.com> | 2017-05-18 12:06:36 +0200 |
---|---|---|
committer | Mathieu Othacehe <m.othacehe@gmail.com> | 2017-06-21 09:57:12 +0200 |
commit | dbaef95aabfd8a90f11f513b65a8ebfe8d0b93c2 (patch) | |
tree | 448ab74f8fbd4d21f7c15cdfc88a481b487d90ce | |
parent | cffaca959a08f7071e5ada7f1ece075823672251 (diff) | |
download | guix-dbaef95aabfd8a90f11f513b65a8ebfe8d0b93c2.tar.gz |
bootloader: extlinux: Add extlinux-bootloader-gpt.
* gnu/bootloader/extlinux.scm (extlinux-bootloader-gpt): New exported variable. (install-extlinux)[mbr]: New argument. (install-extlinux-mbr, install-extlinux-gpt): New variables. (extlinux-bootloader)[installer]: Use install-extlinux-mbr.
-rw-r--r-- | gnu/bootloader/extlinux.scm | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/gnu/bootloader/extlinux.scm b/gnu/bootloader/extlinux.scm index 0a1263aed7..219b058e53 100644 --- a/gnu/bootloader/extlinux.scm +++ b/gnu/bootloader/extlinux.scm @@ -25,7 +25,8 @@ #:use-module (guix monads) #:use-module (guix records) #:use-module (guix utils) - #:export (extlinux-bootloader)) + #:export (extlinux-bootloader + extlinux-bootloader-gpt)) (define* (extlinux-configuration-file config entries #:key @@ -93,7 +94,7 @@ TIMEOUT ~a~%" (string-append "if=" if) (string-append "of=" of))))) -(define install-extlinux +(define (install-extlinux mbr) #~(lambda (bootloader device mount-point) (let ((extlinux (string-append bootloader "/sbin/extlinux")) (install-dir (string-append mount-point "/boot/extlinux")) @@ -103,9 +104,15 @@ TIMEOUT ~a~%" (find-files syslinux-dir "\\.c32$")) (unless (and (zero? (system* extlinux "--install" install-dir)) - (#$dd 440 1 (string-append syslinux-dir "/mbr.bin") device)) + (#$dd 440 1 (string-append syslinux-dir "/" #$mbr) device)) (error "failed to install SYSLINUX"))))) +(define install-extlinux-mbr + (install-extlinux "mbr.bin")) + +(define install-extlinux-gpt + (install-extlinux "gptmbr.bin")) + ;;; @@ -116,6 +123,11 @@ TIMEOUT ~a~%" (bootloader (name 'extlinux) (package syslinux) - (installer install-extlinux) + (installer install-extlinux-mbr) (configuration-file "/boot/extlinux/extlinux.conf") (configuration-file-generator extlinux-configuration-file))) + +(define extlinux-bootloader-gpt + (bootloader + (inherit extlinux-bootloader) + (installer install-extlinux-gpt))) |