GNU bug report logs - #26339
[PATCH 00/18] wip: Support non grub bootloaders.

Previous Next

Package: guix-patches;

Reported by: Mathieu Othacehe <m.othacehe <at> gmail.com>

Date: Sun, 2 Apr 2017 13:51:01 UTC

Severity: important

Tags: patch

Done: Mathieu Othacehe <m.othacehe <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #504 received at 26339 <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: 26339 <at> debbugs.gnu.org
Cc: Mathieu Othacehe <m.othacehe <at> gmail.com>
Subject: [PATCH] bootloader: extlinux: Add extlinux-bootloader-gpt.
Date: Thu, 18 May 2017 12:13:26 +0200
* 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.
---

Hi,

Here's a patch to add gpt support to extlinux. I will be used
later on system tests based on gpt.

Thanks,

Mathieu

 gnu/bootloader/extlinux.scm | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

diff --git a/gnu/bootloader/extlinux.scm b/gnu/bootloader/extlinux.scm
index 12fa447c3..8f928ff22 100644
--- a/gnu/bootloader/extlinux.scm
+++ b/gnu/bootloader/extlinux.scm
@@ -26,7 +26,7 @@
   #:use-module (guix records)
   #:use-module (guix utils)
   #:export (extlinux-bootloader
-            syslinux-bootloader))
+            extlinux-bootloader-gpt))
 
 (define* (extlinux-configuration-file config entries
                                       #:key
@@ -92,7 +92,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"))
@@ -102,9 +102,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"))
+
 
 
 ;;;
@@ -115,6 +121,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)))
-- 
2.13.0





This bug report was last modified 7 years and 209 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.