From: Herman Rimm via Guix-patches via <guix-patches@gnu.org>
To: 72457@debbugs.gnu.org
Cc: "Lilah Tascheter" <lilah@lunabee.space>,
"Florian Pelz" <pelzflorian@pelzflorian.de>,
"Lilah Tascheter" <lilah@lunabee.space>,
"Ludovic Courtès" <ludo@gnu.org>,
"Maxim Cournoyer" <maxim.cournoyer@gmail.com>
Subject: [bug#72457] [PATCH v6 08/12] gnu: bootloader: u-boot: Rewrite completely.
Date: Tue, 24 Sep 2024 20:29:15 +0200 [thread overview]
Message-ID: <3626dc2a7da509eddac416ae644a45e7af202adb.1727201267.git.herman@rimm.ee> (raw)
In-Reply-To: <cover.1727201267.git.herman@rimm.ee>
From: Lilah Tascheter <lilah@lunabee.space>
* gnu/bootloader/u-boot.scm (u-boot-bootloader): Delete variable.
(make-install-u-boot): Add procedure.
(define-u-bootloader): Add macro.
(u-boot-*-bootloader): Use define-u-bootloader.
(install-*u-boot): Remove variables.
* gnu/system/install.scm (os-with-u-boot): Remove procedure.
* doc/guix.texi (System Installation)[Building the Installation Image]:
Use beaglebone as the example.
Change-Id: I3654d160f7306bb45a78b82ea6b249ff4281f739
---
doc/guix.texi | 8 +-
gnu/bootloader/u-boot.scm | 466 +++++++++++++-------------------------
gnu/system/install.scm | 16 +-
3 files changed, 168 insertions(+), 322 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 4168310135..a3338b098a 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -2666,11 +2666,13 @@ Building the Installation Image
includes the bootloader, specifically:
@example
-guix system image --system=armhf-linux -e '((@@ (gnu system install) os-with-u-boot) (@@ (gnu system install) installation-os) "A20-OLinuXino-Lime2")'
+guix system image --system=armhf-linux -e '(@ (gnu system install) beaglebone-black-installation-os)'
@end example
-@code{A20-OLinuXino-Lime2} is the name of the board. If you specify an invalid
-board, a list of possible boards will be printed.
+@code{beaglebone-black} is the name of the board. Similar
+@code{installation-os} variables exist for most other supported boards.
+Otherwise, you can use @code{embedded-installation-os}, passing it a u-boot
+bootloader and the desired console tty.
@c *********************************************************************
diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm
index 7fd7288854..2d351c9dc2 100644
--- a/gnu/bootloader/u-boot.scm
+++ b/gnu/bootloader/u-boot.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2023-2024 Herman Rimm <herman@rimm.ee>
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2024 Lilah Tascheter <lilah@lunabee.space>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -24,12 +25,11 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu bootloader u-boot)
- #:use-module (gnu bootloader extlinux)
#:use-module (gnu bootloader)
+ #:use-module (gnu bootloader extlinux)
#:use-module (gnu packages bootloaders)
#:use-module (guix gexp)
- #:export (u-boot-bootloader
- u-boot-a20-olinuxino-lime-bootloader
+ #:export (u-boot-a20-olinuxino-lime-bootloader
u-boot-a20-olinuxino-lime2-bootloader
u-boot-a20-olinuxino-micro-bootloader
u-boot-bananapi-m2-ultra-bootloader
@@ -55,321 +55,179 @@ (define-module (gnu bootloader u-boot)
u-boot-ts7970-q-2g-1000mhz-c-bootloader
u-boot-wandboard-bootloader))
-(define install-u-boot
- #~(lambda (bootloader root-index image)
- (if bootloader
- (error "Failed to install U-Boot"))))
+(define (make-install-u-boot firmware installers)
+ (lambda* (#:key bootloader-config #:allow-other-keys . args)
+ (with-targets (bootloader-configuration-targets bootloader-config)
+ ('extlinux (apply install-extlinux-config args))
+ (('install => (path :path)) #~(let ((path #$path)) #$firmware))
+ (('disk => (disk :device)) #~(let ((disk #$disk)) #f #$@installers)))))
+
+(define-syntax-rule (define-u-bootloader def-name package firmware
+ (file size doffset) ...)
+ "Defines a U-Boot installer DEF-NAME, using u-boot PACKAGE. Installs
+each given FILE of SIZE (or #f to autodetect) to the targeted disk at
+OFFSET. FIRMWARE is ran on the U-Boot firmware directory to install
+supporting files, with the directory path as the local variable 'path'."
+ (define def-name
+ (bootloader
+ (name 'u-boot)
+ (default-targets (list (bootloader-target
+ (type 'install)
+ (offset 'root)
+ (path "boot"))
+ (bootloader-target
+ (type 'extlinux)
+ (offset 'install)
+ (path "extlinux"))))
+ (installer
+ (make-install-u-boot
+ firmware
+ (list #~(let ((fw #$(file-append package "/libexec/" file)))
+ (write-file-on-device fw
+ #$(or size #~(stat:size (stat fw)))
+ disk #$doffset)) ...))))))
+
+\f
+;;;
+;;; Bootloader definitions.
+;;;
-(define install-beaglebone-black-u-boot
+(define-u-bootloader u-boot-beaglebone-black-bootloader
+ u-boot-am335x-boneblack #f
;; http://wiki.beyondlogic.org/index.php?title=BeagleBoneBlack_Upgrading_uBoot
;; This first stage bootloader called MLO (U-Boot SPL) is expected at
;; 0x20000 by BBB ROM code. The second stage bootloader will be loaded by
;; the MLO and is expected at 0x60000. Write both first stage ("MLO") and
- ;; second stage ("u-boot.img") images, read in BOOTLOADER directory, to the
- ;; specified DEVICE.
- #~(lambda (bootloader root-index image)
- (let ((mlo (string-append bootloader "/libexec/MLO"))
- (u-boot (string-append bootloader "/libexec/u-boot.img")))
- (write-file-on-device mlo (* 256 512)
- image (* 256 512))
- (write-file-on-device u-boot (* 1024 512)
- image (* 768 512)))))
-
-(define install-allwinner-u-boot
- #~(lambda (bootloader root-index image)
- (let ((u-boot (string-append bootloader
- "/libexec/u-boot-sunxi-with-spl.bin")))
- (write-file-on-device u-boot (stat:size (stat u-boot))
- image (* 8 1024)))))
-
-(define install-allwinner64-u-boot
- #~(lambda (bootloader root-index image)
- (let ((spl (string-append bootloader "/libexec/u-boot-sunxi-with-spl.bin"))
- (u-boot (string-append bootloader "/libexec/u-boot-sunxi-with-spl.fit.itb")))
- (write-file-on-device spl (stat:size (stat spl))
- image (* 8 1024))
- (write-file-on-device u-boot (stat:size (stat u-boot))
- image (* 40 1024)))))
-
-(define install-imx-u-boot
- #~(lambda (bootloader root-index image)
- (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))
- image (* 1 1024))
- (write-file-on-device u-boot (stat:size (stat u-boot))
- image (* 69 1024)))))
-
-(define install-nanopi-r4s-rk3399-u-boot
- #~(lambda (bootloader root-index image)
- (let ((spl (string-append bootloader "/libexec/idbloader.img"))
- (u-boot (string-append bootloader "/libexec/u-boot.itb")))
- (write-file-on-device spl (stat:size (stat spl))
- image (* 64 512))
- (write-file-on-device u-boot (stat:size (stat u-boot))
- image (* 16384 512)))))
-
-(define install-orangepi-r1-plus-lts-rk3328-u-boot
- #~(lambda (bootloader root-index image)
- (let ((idb (string-append bootloader "/libexec/idbloader.img"))
- (u-boot (string-append bootloader "/libexec/u-boot.itb")))
- (write-file-on-device idb (stat:size (stat idb))
- image (* 64 512))
- (write-file-on-device u-boot (stat:size (stat u-boot))
- image (* 16384 512)))))
-
-(define install-puma-rk3399-u-boot
- #~(lambda (bootloader root-index image)
- (let ((spl (string-append bootloader "/libexec/idbloader.img"))
- (u-boot (string-append bootloader "/libexec/u-boot.itb")))
- (write-file-on-device spl (stat:size (stat spl))
- image (* 64 512))
- (write-file-on-device u-boot (stat:size (stat u-boot))
- image (* 512 512)))))
-
-(define install-firefly-rk3399-u-boot
- #~(lambda (bootloader root-index image)
- (let ((idb (string-append bootloader "/libexec/idbloader.img"))
- (u-boot (string-append bootloader "/libexec/u-boot.itb")))
- (write-file-on-device idb (stat:size (stat idb))
- image (* 64 512))
- (write-file-on-device u-boot (stat:size (stat u-boot))
- image (* 16384 512)))))
-
-(define install-rock64-rk3328-u-boot
- #~(lambda (bootloader root-index image)
- (let ((idb (string-append bootloader "/libexec/idbloader.img"))
- (u-boot (string-append bootloader "/libexec/u-boot.itb")))
- (write-file-on-device idb (stat:size (stat idb))
- image (* 64 512))
- (write-file-on-device u-boot (stat:size (stat u-boot))
- image (* 16384 512)))))
-
-(define install-rockpro64-rk3399-u-boot
- #~(lambda (bootloader root-index image)
- (let ((idb (string-append bootloader "/libexec/idbloader.img"))
- (u-boot (string-append bootloader "/libexec/u-boot.itb")))
- (write-file-on-device idb (stat:size (stat idb))
- image (* 64 512))
- (write-file-on-device u-boot (stat:size (stat u-boot))
- image (* 16384 512)))))
-
-(define install-pinebook-pro-rk3399-u-boot install-rockpro64-rk3399-u-boot)
-
-(define install-u-boot-ts7970-q-2g-1000mhz-c-u-boot
- #~(lambda (bootloader device mount-point)
- (let ((u-boot.imx (string-append bootloader "/libexec/u-boot.imx"))
- (install-dir (string-append mount-point "/boot")))
- (install-file u-boot.imx install-dir))))
-
-(define install-sifive-unmatched-u-boot
- #~(lambda (bootloader root-index image)
- (let ((spl (string-append bootloader "/libexec/spl/u-boot-spl.bin"))
- (u-boot (string-append bootloader "/libexec/u-boot.itb")))
- (write-file-on-device spl (stat:size (stat spl))
- image (* 34 512))
- (write-file-on-device u-boot (stat:size (stat u-boot))
- image (* 2082 512)))))
-
-(define install-starfive-visionfive2-u-boot
- #~(lambda (bootloader root-index image)
- (let ((spl (string-append
- bootloader "/libexec/spl/u-boot-spl.bin.normal.out"))
- (u-boot (string-append bootloader "/libexec/u-boot.itb")))
- (write-file-on-device spl (stat:size (stat spl))
- image (* 34 512))
- (write-file-on-device u-boot (stat:size (stat u-boot))
- image (* 2082 512)))))
-
-(define install-starfive-visionfive2-uEnv.txt
- #~(lambda (bootloader device mount-point)
- (mkdir-p (string-append mount-point "/boot"))
- (call-with-output-file (string-append mount-point "/boot/uEnv.txt")
+ ;; second stage ("u-boot.img") images to the target.
+ ("MLO" (* 256 512) (* 256 512))
+ ("u-boot.img" (* 1024 512) (* 768 512)))
+
+(define-u-bootloader u-boot-sifive-unmatched-bootloader
+ u-boot-sifive-unmatched #f
+ ("spl/u-boot-spl.bin" #f (* 34 512))
+ ("u-boot.itb" #f (* 2082 512)))
+
+(define-u-bootloader u-boot-starfive-visionfive2-bootloader
+ u-boot-starfive-visionfive2
+ #~(begin (mkdir-p path)
+ (call-with-output-file (string-append path "/uEnv.txt")
(lambda (port)
(format port
- ;; if board SPI use vender's u-boot, will find
- ;; ""starfive/starfive_visionfive2.dtb"", We cannot guarantee
- ;; that users will update this u-boot, so set it.
- "fdtfile=starfive/jh7110-starfive-visionfive-2-v1.3b.dtb~%")))))
+ ;; if board SPI use vender's u-boot, will find
+ ;; ""starfive/starfive_visionfive2.dtb"", We cannot guarantee
+ ;; that users will update this u-boot, so set it.
+ "fdtfile=starfive/jh7110-starfive-visionfive-2-v1.3b.dtb~%"))))
+ ("spl/u-boot-spl.bin.normal.out" #f (* 34 512))
+ ("u-boot.itb" #f (* 2082 512)))
+
+\f
+;;;
+;;; Allwinner bootloader definitions.
+;;;
+(define-syntax-rule (define-u-bootloader-allwinner def-name package)
+ (define-u-bootloader def-name package #f
+ ("u-boot-sunxi-with-spl.bin" #f (* 8 1024))))
+
-(define install-qemu-riscv64-u-boot
- #~(lambda (bootloader device mount-point)
- (let ((u-boot.bin (string-append bootloader "/libexec/u-boot.bin"))
- (install-dir (string-append mount-point "/boot")))
- (install-file u-boot.bin install-dir))))
+(define-u-bootloader-allwinner u-boot-nintendo-nes-classic-edition-bootloader
+ u-boot-nintendo-nes-classic-edition)
+
+(define-u-bootloader-allwinner u-boot-a20-olinuxino-lime-bootloader
+ u-boot-a20-olinuxino-lime)
+
+(define-u-bootloader-allwinner u-boot-a20-olinuxino-lime2-bootloader
+ u-boot-a20-olinuxino-lime2)
+
+(define-u-bootloader-allwinner u-boot-a20-olinuxino-micro-bootloader
+ u-boot-a20-olinuxino-micro)
+
+(define-u-bootloader-allwinner u-boot-bananapi-m2-ultra-bootloader
+ u-boot-bananapi-m2-ultra)
+
+(define-u-bootloader-allwinner u-boot-cubietruck-bootloader u-boot-cubietruck)
+
+(define-u-bootloader-allwinner u-boot-pine64-lts-bootloader u-boot-pine64-lts)
+
+(define-u-bootloader-allwinner u-boot-orangepi-zero2w-bootloader
+ u-boot-orangepi-zero2w)
\f
+;;;
+;;; Allwinner64 bootloader definitions.
+;;;
+(define-syntax-rule (define-u-bootloader-allwinner64 def-name package)
+ (define-u-bootloader def-name package #f
+ ("u-boot-sunxi-with-spl.bin" #f (* 8 1024))
+ ("u-boot-sunxi-with-spl.fit.itb" #f (* 40 1024))))
+(define-u-bootloader-allwinner64 u-boot-pine64-plus-bootloader
+ u-boot-pine64-plus)
+
+(define-u-bootloader-allwinner64 u-boot-pinebook-bootloader u-boot-pinebook)
+
+\f
;;;
-;;; Bootloader definitions.
+;;; IMX bootloader definitions.
;;;
+(define-syntax-rule (define-u-bootloader-imx def-name package)
+ (define-u-bootloader def-name package #f
+ ("SPL" #f (* 8 1024))
+ ("u-boot.img" #f (* 40 1024))))
-(define u-boot-bootloader
- (bootloader
- (inherit extlinux-bootloader)
- (name 'u-boot)
- (package #f)
- (installer #f)
- (disk-image-installer install-u-boot)))
-
-(define u-boot-beaglebone-black-bootloader
- (bootloader
- (inherit u-boot-bootloader)
- (package u-boot-am335x-boneblack)
- (disk-image-installer install-beaglebone-black-u-boot)))
-
-(define u-boot-allwinner-bootloader
- (bootloader
- (inherit u-boot-bootloader)
- (disk-image-installer install-allwinner-u-boot)))
-
-(define u-boot-allwinner64-bootloader
- (bootloader
- (inherit u-boot-bootloader)
- (disk-image-installer install-allwinner64-u-boot)))
-
-(define u-boot-imx-bootloader
- (bootloader
- (inherit u-boot-bootloader)
- (disk-image-installer install-imx-u-boot)))
-
-(define u-boot-nintendo-nes-classic-edition-bootloader
- (bootloader
- (inherit u-boot-allwinner-bootloader)
- (package u-boot-nintendo-nes-classic-edition)))
-
-(define u-boot-a20-olinuxino-lime-bootloader
- (bootloader
- (inherit u-boot-allwinner-bootloader)
- (package u-boot-a20-olinuxino-lime)))
-
-(define u-boot-a20-olinuxino-lime2-bootloader
- (bootloader
- (inherit u-boot-allwinner-bootloader)
- (package u-boot-a20-olinuxino-lime2)))
-
-(define u-boot-a20-olinuxino-micro-bootloader
- (bootloader
- (inherit u-boot-allwinner-bootloader)
- (package u-boot-a20-olinuxino-micro)))
-
-(define u-boot-bananapi-m2-ultra-bootloader
- (bootloader
- (inherit u-boot-allwinner-bootloader)
- (package u-boot-bananapi-m2-ultra)))
-
-(define u-boot-cubietruck-bootloader
- (bootloader
- (inherit u-boot-allwinner-bootloader)
- (package u-boot-cubietruck)))
-
-(define u-boot-firefly-rk3399-bootloader
- ;; SD and eMMC use the same format
- (bootloader
- (inherit u-boot-bootloader)
- (package u-boot-firefly-rk3399)
- (disk-image-installer install-firefly-rk3399-u-boot)))
-
-(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-nanopi-r4s-rk3399-bootloader
- (bootloader
- (inherit u-boot-bootloader)
- (package u-boot-nanopi-r4s-rk3399)
- (disk-image-installer install-nanopi-r4s-rk3399-u-boot)))
-
-(define u-boot-orangepi-r1-plus-lts-rk3328-bootloader
- (bootloader
- (inherit u-boot-bootloader)
- (package u-boot-orangepi-r1-plus-lts-rk3328)
- (disk-image-installer install-orangepi-r1-plus-lts-rk3328-u-boot)))
-
-(define u-boot-orangepi-zero2w-bootloader
- (bootloader
- (inherit u-boot-allwinner-bootloader)
- (package u-boot-orangepi-zero2w)))
-
-(define u-boot-pine64-plus-bootloader
- (bootloader
- (inherit u-boot-allwinner64-bootloader)
- (package u-boot-pine64-plus)))
-
-(define u-boot-pine64-lts-bootloader
- (bootloader
- (inherit u-boot-allwinner-bootloader)
- (package u-boot-pine64-lts)))
-
-(define u-boot-pinebook-bootloader
- (bootloader
- (inherit u-boot-allwinner64-bootloader)
- (package u-boot-pinebook)))
-
-(define u-boot-puma-rk3399-bootloader
- (bootloader
- (inherit u-boot-bootloader)
- (package u-boot-puma-rk3399)
- (disk-image-installer install-puma-rk3399-u-boot)))
-
-(define u-boot-rock64-rk3328-bootloader
- ;; SD and eMMC use the same format
- (bootloader
- (inherit u-boot-bootloader)
- (package u-boot-rock64-rk3328)
- (disk-image-installer install-rock64-rk3328-u-boot)))
-(define u-boot-rockpro64-rk3399-bootloader
- ;; SD and eMMC use the same format
- (bootloader
- (inherit u-boot-bootloader)
- (package u-boot-rockpro64-rk3399)
- (disk-image-installer install-rockpro64-rk3399-u-boot)))
+(define-u-bootloader-imx u-boot-mx6cuboxi-bootloader u-boot-mx6cuboxi)
+
+(define-u-bootloader-imx u-boot-wandboard-bootloader u-boot-wandboard)
+
+(define-u-bootloader-imx u-boot-novena-bootloader u-boot-novena)
-(define u-boot-pinebook-pro-rk3399-bootloader
+\f
+;;;
+;;; Rockchip bootloader definitions.
+;;;
+(define-syntax-rule (define-u-bootloader-rockchip def-name package)
;; SD and eMMC use the same format
- (bootloader
- (inherit u-boot-bootloader)
- (package u-boot-pinebook-pro-rk3399)
- (disk-image-installer install-pinebook-pro-rk3399-u-boot)))
-
-(define u-boot-ts7970-q-2g-1000mhz-c-bootloader
- ;; This bootloader doesn't really need to be installed, as it is read from
- ;; an SPI memory chip, not the SD card. It is copied to /boot/u-boot.imx
- ;; for convenience and should be manually flashed at the U-Boot prompt.
- (bootloader
- (inherit u-boot-bootloader)
- (package u-boot-ts7970-q-2g-1000mhz-c)
- (installer install-u-boot-ts7970-q-2g-1000mhz-c-u-boot)
- (disk-image-installer #f)))
-
-(define u-boot-sifive-unmatched-bootloader
- (bootloader
- (inherit u-boot-bootloader)
- (package u-boot-sifive-unmatched)
- (disk-image-installer install-sifive-unmatched-u-boot)))
-
-(define u-boot-starfive-visionfive2-bootloader
- (bootloader
- (inherit u-boot-bootloader)
- (package u-boot-starfive-visionfive2)
- (installer install-starfive-visionfive2-uEnv.txt)
- (disk-image-installer install-starfive-visionfive2-u-boot)))
-
-(define u-boot-qemu-riscv64-bootloader
- (bootloader
- (inherit u-boot-bootloader)
- (package u-boot-qemu-riscv64)
- (installer install-qemu-riscv64-u-boot)
- (disk-image-installer #f)))
+ (define-u-bootloader def-name package #f
+ ("idbloader.img" #f (* 64 512))
+ ("u-boot.itb" #f (* 16384 512))))
+
+(define-u-bootloader-rockchip u-boot-firefly-rk3399-bootloader
+ u-boot-firefly-rk3399)
+
+(define-u-bootloader-rockchip u-boot-nanopi-r4s-rk3399-bootloader
+ u-boot-nanopi-r4s-rk3399)
+
+(define-u-bootloader-rockchip u-boot-orangepi-r1-plus-lts-rk3328-bootloader
+ u-boot-orangepi-r1-plus-lts-rk3328)
+
+(define-u-bootloader-rockchip u-boot-rock64-rk3328-bootloader
+ u-boot-rock64-rk3328)
+
+(define-u-bootloader-rockchip u-boot-rockpro64-rk3399-bootloader
+ u-boot-rockpro64-rk3399)
+
+(define-u-bootloader-rockchip u-boot-pinebook-pro-rk3399-bootloader
+ u-boot-pinebook-pro-rk3399)
+
+(define-u-bootloader u-boot-puma-rk3399-bootloader u-boot-puma-rk3399 #f
+ ("idbloader.img" #f (* 64 512))
+ ("u-boot.itb" #f (* 512 512)))
+
+\f
+;;;
+;;; Copy-only bootloader definitions.
+;;;
+
+;; These bootloaders don't really need to be installed, as they are read from
+;; an SPI memory chip or directly from the FS, not the disk.
+(define-syntax-rule (define-u-bootloader-copy def-name package file)
+ (define-u-bootloader def-name package
+ #~(install-file #$(file-append package "/libexec/" file) path)))
+
+;; user should manually install this to SPI flash
+;; TODO: write directly to SPI flash? unless wear issues are a problem.
+(define-u-bootloader-copy u-boot-ts7970-q-2g-1000mhz-c-bootloader
+ u-boot-ts7970-q-2g-1000mhz-c "u-boot.imx")
+
+(define-u-bootloader-copy u-boot-qemu-riscv64-bootloader
+ u-boot-qemu-riscv64 "u-boot.bin")
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 2d0c9875fb..82f2c451dd 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -78,8 +78,7 @@ (define-module (gnu system install)
rock64-installation-os
rockpro64-installation-os
rk3399-puma-installation-os
- wandboard-installation-os
- os-with-u-boot))
+ wandboard-installation-os))
;;; Commentary:
;;;
@@ -555,19 +554,6 @@ (define installation-os
%installer-disk-utilities
%base-packages))))
-(define* (os-with-u-boot os board #:key (bootloader-target "/dev/mmcblk0")
- (triplet "arm-linux-gnueabihf"))
- "Given OS, amend it with the u-boot bootloader for BOARD,
-installed to BOOTLOADER-TARGET (a drive), compiled for TRIPLET.
-
-If you want a serial console, make sure to specify one in your
-operating-system's kernel-arguments (\"console=ttyS0\" or similar)."
- (operating-system (inherit os)
- (bootloader (bootloader-configuration
- (bootloader (bootloader (inherit u-boot-bootloader)
- (package (make-u-boot-package board triplet))))
- (targets (list bootloader-target))))))
-
(define* (embedded-installation-os bootloader #:optional
(tty "ttyS0")
(extra-modules '())
--
2.45.2
next prev parent reply other threads:[~2024-09-24 20:20 UTC|newest]
Thread overview: 114+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-04 3:50 [bug#72457] [PATCH 00/15] Rewrite bootloader subsystem Lilah Tascheter via Guix-patches
2024-08-04 3:55 ` [bug#72457] [PATCH 01/15] guix: scripts: Rewrite reinstall-bootloader to use provenance data Lilah Tascheter via Guix-patches
2024-08-04 3:55 ` [bug#72457] [PATCH 02/15] gnu: Add bootloader target infastructure Lilah Tascheter via Guix-patches
2024-08-04 3:55 ` [bug#72457] [PATCH 03/15] guix: scripts: Remove unused code Lilah Tascheter via Guix-patches
2024-08-04 3:55 ` [bug#72457] [PATCH 04/15] gnu: Core bootloader changes Lilah Tascheter via Guix-patches
2024-08-04 3:55 ` [bug#72457] [PATCH 05/15] gnu: system: Remove useless boot parameters Lilah Tascheter via Guix-patches
2024-08-04 3:55 ` [bug#72457] [PATCH 06/15] gnu: bootloader: Add raspberry pi bootloader Lilah Tascheter via Guix-patches
2024-08-04 3:55 ` [bug#72457] [PATCH 07/15] gnu: system: Fix bootloader crypto device recognition Lilah Tascheter via Guix-patches
2024-08-04 9:22 ` Tomas Volf
2024-08-04 3:55 ` [bug#72457] [PATCH 08/15] gnu: packages: Add pesign Lilah Tascheter via Guix-patches
2024-08-04 3:55 ` [bug#72457] [PATCH 09/15] gnu: packages: Add ukify Lilah Tascheter via Guix-patches
2024-08-04 3:55 ` [bug#72457] [PATCH 10/15] gnu: packages: Add systemd-stub Lilah Tascheter via Guix-patches
2024-08-04 3:55 ` [bug#72457] [PATCH 11/15] gnu: bootloaders: Add uki-efi-bootloader Lilah Tascheter via Guix-patches
2024-08-04 3:55 ` [bug#72457] [PATCH 12/15] gnu: system: Update examples Lilah Tascheter via Guix-patches
2024-08-04 3:55 ` [bug#72457] [PATCH 13/15] doc: Update bootloader documentation Lilah Tascheter via Guix-patches
2024-08-04 3:55 ` [bug#72457] [PATCH 14/15] gnu: tests: Update tests to new targets system Lilah Tascheter via Guix-patches
2024-08-04 3:55 ` [bug#72457] [PATCH 15/15] teams: Add bootloading team Lilah Tascheter via Guix-patches
2024-08-04 8:53 ` [bug#72457] [PATCH 00/15] Rewrite bootloader subsystem Sergey Trofimov
2024-08-04 9:19 ` Sergey Trofimov
2024-08-04 18:05 ` [bug#72457] [PATCH v2 " Lilah Tascheter via Guix-patches
2024-08-04 18:06 ` [bug#72457] [PATCH v2 01/15] guix: scripts: Rewrite reinstall-bootloader to use provenance data Lilah Tascheter via Guix-patches
2024-08-04 18:06 ` [bug#72457] [PATCH v2 02/15] gnu: Add bootloader target infastructure Lilah Tascheter via Guix-patches
2024-08-04 18:06 ` [bug#72457] [PATCH v2 03/15] guix: scripts: Remove unused code Lilah Tascheter via Guix-patches
2024-08-04 18:06 ` [bug#72457] [PATCH v2 04/15] gnu: Core bootloader changes Lilah Tascheter via Guix-patches
2024-08-04 18:06 ` [bug#72457] [PATCH v2 05/15] gnu: system: Remove useless boot parameters Lilah Tascheter via Guix-patches
2024-08-04 18:06 ` [bug#72457] [PATCH v2 06/15] gnu: bootloader: Add raspberry pi bootloader Lilah Tascheter via Guix-patches
2024-08-04 18:06 ` [bug#72457] [PATCH v2 07/15] gnu: system: Fix bootloader crypto device recognition Lilah Tascheter via Guix-patches
2024-08-04 18:06 ` [bug#72457] [PATCH v2 08/15] gnu: packages: Add pesign Lilah Tascheter via Guix-patches
2024-08-04 18:06 ` [bug#72457] [PATCH v2 09/15] gnu: packages: Add ukify Lilah Tascheter via Guix-patches
2024-08-04 18:06 ` [bug#72457] [PATCH v2 10/15] gnu: packages: Add systemd-stub Lilah Tascheter via Guix-patches
2024-08-04 18:06 ` [bug#72457] [PATCH v2 11/15] gnu: bootloaders: Add uki-efi-bootloader Lilah Tascheter via Guix-patches
2024-08-04 18:06 ` [bug#72457] [PATCH v2 12/15] gnu: system: Update examples Lilah Tascheter via Guix-patches
2024-08-04 18:06 ` [bug#72457] [PATCH v2 13/15] doc: Update bootloader documentation Lilah Tascheter via Guix-patches
2024-08-04 18:06 ` [bug#72457] [PATCH v2 14/15] gnu: tests: Update tests to new targets system Lilah Tascheter via Guix-patches
2024-08-04 18:06 ` [bug#72457] [PATCH v2 15/15] teams: Add bootloading team Lilah Tascheter via Guix-patches
2024-08-04 19:52 ` [bug#72457] [PATCH v2 00/15] Rewrite bootloader subsystem Sergey Trofimov
2024-08-04 20:31 ` [bug#72457] [PATCH v3 " Lilah Tascheter via Guix-patches
2024-08-04 20:31 ` [bug#72457] [PATCH v3 01/15] guix: scripts: Rewrite reinstall-bootloader to use provenance data Lilah Tascheter via Guix-patches
2024-08-04 20:31 ` [bug#72457] [PATCH v3 02/15] gnu: Add bootloader target infastructure Lilah Tascheter via Guix-patches
2024-08-04 20:31 ` [bug#72457] [PATCH v3 03/15] guix: scripts: Remove unused code Lilah Tascheter via Guix-patches
2024-08-04 20:31 ` [bug#72457] [PATCH v3 04/15] gnu: Core bootloader changes Lilah Tascheter via Guix-patches
2024-08-04 20:31 ` [bug#72457] [PATCH v3 05/15] gnu: system: Remove useless boot parameters Lilah Tascheter via Guix-patches
2024-08-04 20:31 ` [bug#72457] [PATCH v3 06/15] gnu: bootloader: Add raspberry pi bootloader Lilah Tascheter via Guix-patches
2024-08-04 20:31 ` [bug#72457] [PATCH v3 07/15] gnu: system: Fix bootloader crypto device recognition Lilah Tascheter via Guix-patches
2024-08-04 20:31 ` [bug#72457] [PATCH v3 08/15] gnu: packages: Add pesign Lilah Tascheter via Guix-patches
2024-08-04 20:31 ` [bug#72457] [PATCH v3 09/15] gnu: packages: Add ukify Lilah Tascheter via Guix-patches
2024-08-04 20:31 ` [bug#72457] [PATCH v3 10/15] gnu: packages: Add systemd-stub Lilah Tascheter via Guix-patches
2024-08-04 20:31 ` [bug#72457] [PATCH v3 11/15] gnu: bootloaders: Add uki-efi-bootloader Lilah Tascheter via Guix-patches
2024-08-04 20:31 ` [bug#72457] [PATCH v3 12/15] gnu: system: Update examples Lilah Tascheter via Guix-patches
2024-08-04 20:31 ` [bug#72457] [PATCH v3 13/15] doc: Update bootloader documentation Lilah Tascheter via Guix-patches
2024-08-04 20:32 ` [bug#72457] [PATCH v3 14/15] gnu: tests: Update tests to new targets system Lilah Tascheter via Guix-patches
2024-08-04 20:32 ` [bug#72457] [PATCH v3 15/15] teams: Add bootloading team Lilah Tascheter via Guix-patches
2024-08-05 7:00 ` [bug#72457] [PATCH v3 00/15] Rewrite bootloader subsystem Sergey Trofimov
2024-08-06 2:44 ` [bug#72457] [PATCH v4 " Lilah Tascheter via Guix-patches
2024-08-06 2:44 ` [bug#72457] [PATCH v4 01/15] guix: scripts: Rewrite reinstall-bootloader to use provenance data Lilah Tascheter via Guix-patches
2024-08-06 2:44 ` [bug#72457] [PATCH v4 02/15] gnu: Add bootloader target infastructure Lilah Tascheter via Guix-patches
2024-08-06 2:44 ` [bug#72457] [PATCH v4 03/15] guix: scripts: Remove unused code Lilah Tascheter via Guix-patches
2024-08-06 2:44 ` [bug#72457] [PATCH v4 04/15] gnu: Core bootloader changes Lilah Tascheter via Guix-patches
2024-08-06 2:44 ` [bug#72457] [PATCH v4 05/15] gnu: system: Remove useless boot parameters Lilah Tascheter via Guix-patches
2024-08-06 2:44 ` [bug#72457] [PATCH v4 06/15] gnu: bootloader: Add raspberry pi bootloader Lilah Tascheter via Guix-patches
2024-08-06 2:44 ` [bug#72457] [PATCH v4 07/15] gnu: system: Fix bootloader crypto device recognition Lilah Tascheter via Guix-patches
2024-08-06 2:44 ` [bug#72457] [PATCH v4 08/15] gnu: packages: Add pesign Lilah Tascheter via Guix-patches
2024-08-06 2:44 ` [bug#72457] [PATCH v4 09/15] gnu: packages: Add ukify Lilah Tascheter via Guix-patches
2024-08-06 2:44 ` [bug#72457] [PATCH v4 10/15] gnu: packages: Add systemd-stub Lilah Tascheter via Guix-patches
2024-08-06 2:44 ` [bug#72457] [PATCH v4 11/15] gnu: bootloaders: Add uki-efi-bootloader Lilah Tascheter via Guix-patches
2024-08-06 2:44 ` [bug#72457] [PATCH v4 12/15] gnu: system: Update examples Lilah Tascheter via Guix-patches
2024-08-06 2:44 ` [bug#72457] [PATCH v4 13/15] doc: Update bootloader documentation Lilah Tascheter via Guix-patches
2024-08-06 2:44 ` [bug#72457] [PATCH v4 14/15] gnu: tests: Update tests to new targets system Lilah Tascheter via Guix-patches
2024-08-06 2:44 ` [bug#72457] [PATCH v4 15/15] teams: Add bootloading team Lilah Tascheter via Guix-patches
2024-08-06 6:13 ` [bug#72457] [PATCH v4 00/15] Rewrite bootloader subsystem Sergey Trofimov
2024-08-07 0:11 ` [bug#72457] [PATCH v5 " Lilah Tascheter via Guix-patches
2024-08-07 0:11 ` [bug#72457] [PATCH v5 01/15] guix: scripts: Rewrite reinstall-bootloader to use provenance data Lilah Tascheter via Guix-patches
2024-08-07 0:11 ` [bug#72457] [PATCH v5 02/15] gnu: Add bootloader target infastructure Lilah Tascheter via Guix-patches
2024-08-07 0:11 ` [bug#72457] [PATCH v5 03/15] guix: scripts: Remove unused code Lilah Tascheter via Guix-patches
2024-08-07 0:11 ` [bug#72457] [PATCH v5 04/15] gnu: Core bootloader changes Lilah Tascheter via Guix-patches
2024-08-07 0:11 ` [bug#72457] [PATCH v5 05/15] gnu: system: Remove useless boot parameters Lilah Tascheter via Guix-patches
2024-08-07 0:11 ` [bug#72457] [PATCH v5 06/15] gnu: bootloader: Add raspberry pi bootloader Lilah Tascheter via Guix-patches
2024-08-07 0:11 ` [bug#72457] [PATCH v5 07/15] gnu: system: Fix bootloader crypto device recognition Lilah Tascheter via Guix-patches
2024-08-07 0:11 ` [bug#72457] [PATCH v5 08/15] gnu: packages: Add pesign Lilah Tascheter via Guix-patches
2024-08-07 0:11 ` [bug#72457] [PATCH v5 09/15] gnu: packages: Add ukify Lilah Tascheter via Guix-patches
2024-08-07 0:11 ` [bug#72457] [PATCH v5 10/15] gnu: packages: Add systemd-stub Lilah Tascheter via Guix-patches
2024-08-07 0:11 ` [bug#72457] [PATCH v5 11/15] gnu: bootloaders: Add uki-efi-bootloader Lilah Tascheter via Guix-patches
2024-08-07 0:11 ` [bug#72457] [PATCH v5 12/15] gnu: system: Update examples Lilah Tascheter via Guix-patches
2024-08-07 0:11 ` [bug#72457] [PATCH v5 13/15] doc: Update bootloader documentation Lilah Tascheter via Guix-patches
2024-08-07 0:11 ` [bug#72457] [PATCH v5 14/15] gnu: tests: Update tests to new targets system Lilah Tascheter via Guix-patches
2024-08-07 0:11 ` [bug#72457] [PATCH v5 15/15] teams: Add bootloading team Lilah Tascheter via Guix-patches
2024-08-07 4:52 ` [bug#72457] [PATCH v5 00/15] Rewrite bootloader subsystem Sergey Trofimov
2024-09-06 22:15 ` guix-patches--- via
2024-09-07 5:48 ` Sergey Trofimov
2024-09-07 7:15 ` guix-patches--- via
2024-09-12 18:08 ` [bug#72457] [PATCH v5 01/15] guix: scripts: Rewrite reinstall-bootloader to use provenance data Herman Rimm via Guix-patches via
2024-09-13 7:56 ` Herman Rimm via Guix-patches via
2024-09-15 9:11 ` [bug#72457] [PATCH v5 00/15] Rewrite bootloader subsystem Herman Rimm via Guix-patches via
2024-09-17 22:20 ` Lilah Tascheter via Guix-patches
2024-09-19 15:35 ` Herman Rimm via Guix-patches via
2024-09-19 17:38 ` Herman Rimm via Guix-patches via
2024-09-20 4:44 ` Lilah Tascheter via Guix-patches
2024-09-20 4:56 ` Lilah Tascheter via Guix-patches
2024-09-24 18:29 ` [bug#72457] [PATCH v6 00/12] " Herman Rimm via Guix-patches via
2024-09-24 18:29 ` [bug#72457] [PATCH v6 01/12] gnu: bootloader: Remove obsolete bootloader fields Herman Rimm via Guix-patches via
2024-09-24 18:29 ` [bug#72457] [PATCH v6 02/12] gnu: bootloader: grub: Rewrite entirely Herman Rimm via Guix-patches via
2024-09-24 18:29 ` [bug#72457] [PATCH v6 03/12] gnu: bootloader: Update bootloader-configuration targets field Herman Rimm via Guix-patches via
2024-09-24 18:29 ` [bug#72457] [PATCH v6 04/12] gnu: Core bootloader changes Herman Rimm via Guix-patches via
2024-09-24 18:29 ` [bug#72457] [PATCH v6 05/12] gnu: system: image: Reduce subprocedure indentation Herman Rimm via Guix-patches via
2024-09-24 18:29 ` [bug#72457] [PATCH v6 06/12] gnu: bootloader: depthcharge: Rewrite completely Herman Rimm via Guix-patches via
2024-09-24 18:29 ` [bug#72457] [PATCH v6 07/12] gnu: bootloader: extlinux: " Herman Rimm via Guix-patches via
2024-09-24 18:29 ` Herman Rimm via Guix-patches via [this message]
2024-09-24 18:29 ` [bug#72457] [PATCH v6 09/12] gnu: bootloader: Add Raspberry Pi bootloader Herman Rimm via Guix-patches via
2024-09-24 18:29 ` [bug#72457] [PATCH v6 10/12] gnu: tests: Update tests to new targets system Herman Rimm via Guix-patches via
2024-09-24 18:29 ` [bug#72457] [PATCH v6 11/12] gnu: system: Update examples Herman Rimm via Guix-patches via
2024-09-24 18:29 ` [bug#72457] [PATCH v6 12/12] doc: Update bootloader documentation Herman Rimm via Guix-patches via
2024-10-18 10:36 ` [bug#72457] A question about this amano.kenji via Guix-patches via
2024-10-19 1:38 ` [bug#72457] What I mentioned above is verified boot amano.kenji via Guix-patches via
2024-10-21 8:32 ` [bug#72457] After further research amano.kenji via Guix-patches via
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3626dc2a7da509eddac416ae644a45e7af202adb.1727201267.git.herman@rimm.ee \
--to=guix-patches@gnu.org \
--cc=72457@debbugs.gnu.org \
--cc=herman@rimm.ee \
--cc=lilah@lunabee.space \
--cc=ludo@gnu.org \
--cc=maxim.cournoyer@gmail.com \
--cc=pelzflorian@pelzflorian.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.