From 8b22107e5d0bdeb300fb33b5a40aed2057a66b94 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 29 May 2017 14:24:20 +0200 Subject: bootloader: Use menu-entry to define custom bootloader entries. * gnu/bootloader.scm (): New variable. Export associated getters, This record is extracted from grub module. * gnu/bootloader/extlinux.scm (extlinux-configuration-file): Use menu-entry->boot-parameters to convert menu-entry records to boot-parameters. * gnu/bootloader/grub.scm (): Remove. (boot-parameters->menu-entry): Remove. (grub-configuration-file): Use boot-parameters to create configuration entries. * gnu/system.scm (menu-entry->boot-parameters): New exported procedure. --- gnu/bootloader.scm | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'gnu/bootloader.scm') diff --git a/gnu/bootloader.scm b/gnu/bootloader.scm index 4e77974d31..d5fcf30f05 100644 --- a/gnu/bootloader.scm +++ b/gnu/bootloader.scm @@ -23,7 +23,15 @@ #:use-module (guix records) #:use-module (guix ui) #:use-module (srfi srfi-1) - #:export (bootloader + #:export (menu-entry + menu-entry? + menu-entry-label + menu-entry-device + menu-entry-linux + menu-entry-linux-arguments + menu-entry-initrd + + bootloader bootloader? bootloader-name bootloader-package @@ -48,6 +56,22 @@ %bootloaders lookup-bootloader-by-name)) + +;;; +;;; Menu-entry record. +;;; + +(define-record-type* + menu-entry make-menu-entry + menu-entry? + (label menu-entry-label) + (device menu-entry-device ; file system uuid, label, or #f + (default #f)) + (linux menu-entry-linux) + (linux-arguments menu-entry-linux-arguments + (default '())) ; list of string-valued gexps + (initrd menu-entry-initrd)) ; file name of the initrd as a gexp + ;;; ;;; Bootloader record. -- cgit v1.2.3