diff options
author | Marius Bakke <mbakke@fastmail.com> | 2018-06-11 23:52:15 +0200 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2018-06-11 23:52:15 +0200 |
commit | a032b4454b3fc67e11e9fc2d8c2345288065fa29 (patch) | |
tree | c208124b79dbd2224b68c52106aa72ff2ebfa7ab /gnu/bootloader | |
parent | b5724230fed2d043206df20d12a45bb962b7ee77 (diff) | |
parent | 6321ce42ab4d9ab788d858cb19bde4aa7a0e3ecc (diff) | |
download | guix-a032b4454b3fc67e11e9fc2d8c2345288065fa29.tar guix-a032b4454b3fc67e11e9fc2d8c2345288065fa29.tar.gz |
Merge branch 'master' into staging
Diffstat (limited to 'gnu/bootloader')
-rw-r--r-- | gnu/bootloader/extlinux.scm | 1 | ||||
-rw-r--r-- | gnu/bootloader/grub.scm | 29 | ||||
-rw-r--r-- | gnu/bootloader/u-boot.scm | 70 |
3 files changed, 80 insertions, 20 deletions
diff --git a/gnu/bootloader/extlinux.scm b/gnu/bootloader/extlinux.scm index f7820a37a4..8b7a95a6fc 100644 --- a/gnu/bootloader/extlinux.scm +++ b/gnu/bootloader/extlinux.scm @@ -64,6 +64,7 @@ corresponding to old generations of the system." (format port "# This file was generated from your GuixSD configuration. Any changes # will be lost upon reconfiguration. UI menu.c32 +MENU TITLE GuixSD Boot Options PROMPT ~a TIMEOUT ~a~%" (if (> timeout 0) 1 0) diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm index 3b01125c78..a131f3b506 100644 --- a/gnu/bootloader/grub.scm +++ b/gnu/bootloader/grub.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> @@ -31,6 +31,7 @@ #:use-module (gnu system) #:use-module (gnu bootloader) #:use-module (gnu system uuid) + #:use-module (gnu system file-systems) #:autoload (gnu packages bootloaders) (grub) #:autoload (gnu packages compression) (gzip) #:autoload (gnu packages gtk) (guile-cairo guile-rsvg) @@ -120,25 +121,14 @@ otherwise." (define* (svg->png svg #:key width height) "Build a PNG of HEIGHT x WIDTH from SVG." - ;; Note: Guile-RSVG & co. are now built for Guile 2.2, so we use 2.2 here. - ;; TODO: Remove #:guile-for-build when 2.2 has become the default. - (mlet %store-monad ((guile (package->derivation guile-2.2 #:graft? #f))) - (gexp->derivation "grub-image.png" - (with-imported-modules '((gnu build svg)) + (gexp->derivation "grub-image.png" + (with-imported-modules '((gnu build svg)) + (with-extensions (list guile-rsvg guile-cairo) #~(begin - ;; We need these two libraries. - (add-to-load-path (string-append #+guile-rsvg - "/share/guile/site/" - (effective-version))) - (add-to-load-path (string-append #+guile-cairo - "/share/guile/site/" - (effective-version))) - (use-modules (gnu build svg)) (svg->png #+svg #$output #:width #$width - #:height #$height))) - #:guile-for-build guile))) + #:height #$height)))))) (define* (grub-background-image config #:key (width 1024) (height 768)) "Return the GRUB background image defined in CONFIG with a ratio of @@ -303,9 +293,10 @@ code." ((? uuid? uuid) (format #f "search --fs-uuid --set ~a" (uuid->string device))) - ((? string? label) - (format #f "search --label --set ~a" label)) - (#f + ((? file-system-label? label) + (format #f "search --label --set ~a" + (file-system-label->string label))) + ((or #f (? string?)) #~(format #f "search --file --set ~a" #$file))))) (define* (grub-configuration-file config entries diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index 21d0aecce2..52b38dd1ab 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -33,7 +33,12 @@ u-boot-a20-olinuxino-micro-bootloader u-boot-banana-pi-m2-ultra-bootloader u-boot-beaglebone-black-bootloader - u-boot-nintendo-nes-classic-edition-bootloader)) + u-boot-mx6cuboxi-bootloader + u-boot-nintendo-nes-classic-edition-bootloader + u-boot-novena-bootloader + u-boot-pine64-plus-bootloader + u-boot-puma-rk3399-bootloader + u-boot-wandboard-bootloader)) (define install-u-boot #~(lambda (bootloader device mount-point) @@ -62,6 +67,33 @@ (write-file-on-device u-boot (stat:size (stat u-boot)) device (* 8 1024))))) +(define install-allwinner64-u-boot + #~(lambda (bootloader device mount-point) + (let ((spl (string-append bootloader "/libexec/spl/sunxi-spl.bin")) + (u-boot (string-append bootloader "/libexec/u-boot.itb"))) + (write-file-on-device spl (stat:size (stat spl)) + device (* 8 1024)) + (write-file-on-device u-boot (stat:size (stat u-boot)) + device (* 40 1024))))) + +(define install-imx-u-boot + #~(lambda (bootloader device mount-point) + (let ((spl (string-append bootloader "/libexec/SPL")) + (u-boot (string-append bootloader "/libexec/u-boot.img"))) + (write-file-on-device spl (stat:size (stat spl)) + device (* 1 1024)) + (write-file-on-device u-boot (stat:size (stat u-boot)) + device (* 69 1024))))) + +(define install-puma-rk3399-u-boot + #~(lambda (bootloader device mount-point) + (let ((spl (string-append bootloader "/libexec/u-boot-spl.rksd")) + (u-boot (string-append bootloader "/libexec/u-boot.itb"))) + (write-file-on-device spl (stat:size (stat spl)) + device (* 64 512)) + (write-file-on-device u-boot (stat:size (stat u-boot)) + device (* 512 512))))) + ;;; @@ -86,6 +118,16 @@ (inherit u-boot-bootloader) (installer install-allwinner-u-boot))) +(define u-boot-allwinner64-bootloader + (bootloader + (inherit u-boot-bootloader) + (installer install-allwinner64-u-boot))) + +(define u-boot-imx-bootloader + (bootloader + (inherit u-boot-bootloader) + (installer install-imx-u-boot))) + (define u-boot-nintendo-nes-classic-edition-bootloader (bootloader (inherit u-boot-allwinner-bootloader) @@ -110,3 +152,29 @@ (bootloader (inherit u-boot-allwinner-bootloader) (package u-boot-banana-pi-m2-ultra))) + +(define u-boot-mx6cuboxi-bootloader + (bootloader + (inherit u-boot-imx-bootloader) + (package u-boot-mx6cuboxi))) + +(define u-boot-wandboard-bootloader + (bootloader + (inherit u-boot-imx-bootloader) + (package u-boot-wandboard))) + +(define u-boot-novena-bootloader + (bootloader + (inherit u-boot-imx-bootloader) + (package u-boot-novena))) + +(define u-boot-pine64-plus-bootloader + (bootloader + (inherit u-boot-allwinner64-bootloader) + (package u-boot-pine64-plus))) + +(define u-boot-puma-rk3399-bootloader + (bootloader + (inherit u-boot-bootloader) + (package u-boot-puma-rk3399) + (installer install-puma-rk3399-u-boot))) |