GNU bug report logs -
#26339
[PATCH 00/18] wip: Support non grub bootloaders.
Previous Next
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
View this message in rfc822 format
* gnu/system.scm (<boot-parameters>)[device, type]: New fields.
(boot-parameters-boot-device): New exported procedure.
(boot-parameters-boot-type): Ditto.
(operating-system-grub.cfg): Add new fields.
(operating-system-parameters-file): Add new fields and replace GRUB by
bootloader in doctype.
(read-boot-parameters): Ditto.
---
gnu/system.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/gnu/system.scm b/gnu/system.scm
index b947d982d..6d4cbf737 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -104,6 +104,8 @@
boot-parameters?
boot-parameters-label
boot-parameters-root-device
+ boot-parameters-boot-device
+ boot-parameters-boot-type
boot-parameters-store-device
boot-parameters-store-mount-point
boot-parameters-kernel
@@ -772,6 +774,10 @@ kernel arguments for that derivation to <boot-parameters>."
(mlet* %store-monad
((initrd (operating-system-initrd-file os))
(store -> (operating-system-store-file-system os))
+ (boot-device -> (bootloader-configuration-device
+ (operating-system-bootloader os)))
+ (boot-type -> (bootloader-configuration-type
+ (operating-system-bootloader os)))
(label -> (kernel->boot-label (operating-system-kernel os))))
(return (boot-parameters
(label label)
@@ -782,6 +788,8 @@ kernel arguments for that derivation to <boot-parameters>."
(operating-system-kernel-arguments os system.drv root-device)
(operating-system-user-kernel-arguments os)))
(initrd initrd)
+ (boot-device boot-device)
+ (boot-type boot-type)
(store-device (fs->boot-device store))
(store-mount-point (file-system-mount-point store))))))
@@ -807,6 +815,8 @@ being stored into the \"parameters\" file)."
(kernel-arguments
#$(boot-parameters-kernel-arguments params))
(initrd #$(boot-parameters-initrd params))
+ (boot-device #$(boot-parameters-boot-device params))
+ (boot-type #$(boot-parameters-boot-type params))
(store
(device #$(boot-parameters-store-device params))
(mount-point #$(boot-parameters-store-mount-point params))))
@@ -828,6 +838,8 @@ being stored into the \"parameters\" file)."
;; exactly to the device field of the <file-system> object representing the
;; OS's root file system, so it might be a device path like "/dev/sda3".
(root-device boot-parameters-root-device)
+ (boot-device boot-parameters-boot-device)
+ (boot-type boot-parameters-boot-type)
(store-device boot-parameters-store-device)
(store-mount-point boot-parameters-store-mount-point)
(kernel boot-parameters-kernel)
@@ -846,6 +858,16 @@ being stored into the \"parameters\" file)."
(label label)
(root-device root)
+ (boot-device
+ (match (assq 'boot-device rest)
+ ((_ args) args)
+ (#f #f))) ; for compatibility reasons.
+
+ (boot-type
+ (match (assq 'boot-type rest)
+ ((_ args) args)
+ (#f 'grub))) ; for compatibility reasons.
+
;; In the past, we would store the directory name of the kernel instead
;; of the absolute file name of its image. Detect that and correct it.
(kernel (if (string=? linux (direct-store-path linux))
--
2.12.2
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.