[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
03/06: system: hurd: Add hurd-grub-configuration-file.
From: |
guix-commits |
Subject: |
03/06: system: hurd: Add hurd-grub-configuration-file. |
Date: |
Sat, 25 Apr 2020 09:33:28 -0400 (EDT) |
janneke pushed a commit to branch wip-hurd-vm
in repository guix.
commit 94c64262171bed46e9e47a86c04e34baa909b6e2
Author: Jan (janneke) Nieuwenhuizen <address@hidden>
AuthorDate: Sat Apr 25 14:45:54 2020 +0200
system: hurd: Add hurd-grub-configuration-file.
* gnu/system/hurd.scm (hurd-grub-configuration-file): New exported
procedure.
(cross-hurd-image): Use it.
---
gnu/system/hurd.scm | 60 ++++++++++++++++++++++++++++++++---------------------
1 file changed, 36 insertions(+), 24 deletions(-)
diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm
index 5cfb08b..b40aa64 100644
--- a/gnu/system/hurd.scm
+++ b/gnu/system/hurd.scm
@@ -55,6 +55,7 @@
#:use-module (gnu system shadow)
#:use-module (gnu system vm)
#:export (cross-hurd-image
+ hurd-grub-configuration-file
%base-packages/hurd
%base-services/hurd
%hurd-default-operating-system))
@@ -100,6 +101,40 @@
"--disable-deduplication"
"--max-jobs=1"))))))
+(define* (hurd-grub-configuration-file config entries
+ #:key
+ (system (%current-system))
+ (old-entries '()))
+ (pk "hurd-grub-configuration-file")
+ (let ((hurd (if (equal? system (%current-system))
+ hurd
+ (with-parameters ((%current-target-system system))
+ hurd)))
+ (mach (with-parameters ((%current-system "i686-linux"))
+ gnumach))
+ (libc (if (equal? system (%current-system))
+ glibc
+ (cross-libc system))))
+ (computed-file "grub.cfg"
+ #~(call-with-output-file #$output
+ (lambda (port)
+ (format port "
+set timeout=2
+search.file ~a/boot/gnumach
+
+menuentry \"GNU\" {
+ multiboot ~a/boot/gnumach root=device:hd0s1
+ module ~a/hurd/ext2fs.static ext2fs \\
+ --multiboot-command-line='${kernel-command-line}' \\
+ --host-priv-port='${host-port}' \\
+ --device-master-port='${device-port}' \\
+ --exec-server-task='${exec-task}' -T typed '${root}' \\
+ '$(task-create)' '$(task-resume)'
+ module ~a/lib/ld.so.1 exec ~a/hurd/exec '$(exec-task=task-create)'
+}\n"
+ #+mach #+mach #+hurd
+ #+libc #+hurd))))))
+
(define %hurd-default-operating-system
(operating-system
(host-name "guixygnu")
@@ -215,7 +250,6 @@
(scheme-file "shepherd.conf" config)))
-
(define* (cross-hurd-image #:key (hurd hurd) (gnumach gnumach) (os
%hurd-default-operating-system))
"Return a cross-built GNU/Hurd image."
@@ -249,29 +283,7 @@
%bootstrap-glibc))))))
(define grub.cfg
- (let ((hurd (cross-built hurd))
- (mach (with-parameters ((%current-system "i686-linux"))
- gnumach))
- (libc (cross-libc "i586-pc-gnu")))
- (computed-file "grub.cfg"
- #~(call-with-output-file #$output
- (lambda (port)
- (format port "
-set timeout=2
-search.file ~a/boot/gnumach
-
-menuentry \"GNU\" {
- multiboot ~a/boot/gnumach root=device:hd0s1
- module ~a/hurd/ext2fs.static ext2fs \\
- --multiboot-command-line='${kernel-command-line}' \\
- --host-priv-port='${host-port}' \\
- --device-master-port='${device-port}' \\
- --exec-server-task='${exec-task}' -T typed '${root}' \\
- '$(task-create)' '$(task-resume)'
- module ~a/lib/ld.so.1 exec ~a/hurd/exec '$(exec-task=task-create)'
-}\n"
- #+mach #+mach #+hurd
- #+libc #+hurd))))))
+ (hurd-grub-configuration-file #f '() #:system "i586-pc-gnu"))
(define fstab
(plain-file "fstab"
- branch wip-hurd-vm updated (091aceb -> d7353f4), guix-commits, 2020/04/25
- 03/06: system: hurd: Add hurd-grub-configuration-file.,
guix-commits <=
- 02/06: squash! squash! bare-hurd.tmpl, guix-commits, 2020/04/25
- 01/06: squash! bare-hurd.tmpl, guix-commits, 2020/04/25
- 04/06: system: hurd: Add hurd-grub-minimal-bootloader., guix-commits, 2020/04/25
- 05/06: services: shepherd: Cross-compilation fix., guix-commits, 2020/04/25
- 06/06: Revert "HACK use uncompiled .scm for shepherd", guix-commits, 2020/04/25