~ruther/guix-local

dbaef95aabfd8a90f11f513b65a8ebfe8d0b93c2 — Mathieu Othacehe 8 years ago cffaca9
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.
1 files changed, 16 insertions(+), 4 deletions(-)

M gnu/bootloader/extlinux.scm
M gnu/bootloader/extlinux.scm => gnu/bootloader/extlinux.scm +16 -4
@@ 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)))