bootloader: Add device-tree-support? option.
In some specific cases where the device tree file is already loaded in RAM, it can be preferable that the bootloader does not try to use a device tree from the Linux kernel tree. * gnu/bootloader.scm (<bootloader-configuration>)[device-tree-support?]: New field. * gnu/bootloader/extlinux.scm (extlinux-configuration-file): Add FDTDIR line based on <device-tree-support?> field of <bootloader-configuration>. * doc/guix.texi (Bootloader Configuration)[device-tree-support?]: Add documentation for the new field.master
parent
e214e87cc5
commit
f126f23b13
|
@ -37439,6 +37439,15 @@ corresponds to COM1 (@pxref{Serial terminal,,, grub,GNU GRUB manual}).
|
||||||
The speed of the serial interface, as an integer. For GRUB, the
|
The speed of the serial interface, as an integer. For GRUB, the
|
||||||
default value is chosen at run-time; currently GRUB chooses
|
default value is chosen at run-time; currently GRUB chooses
|
||||||
9600@tie{}bps (@pxref{Serial terminal,,, grub,GNU GRUB manual}).
|
9600@tie{}bps (@pxref{Serial terminal,,, grub,GNU GRUB manual}).
|
||||||
|
|
||||||
|
@item @code{device-tree-support?} (default: @code{#t})
|
||||||
|
Whether to support Linux @uref{https://en.wikipedia.org/wiki/Devicetree,
|
||||||
|
device tree} files loading.
|
||||||
|
|
||||||
|
This option in enabled by default. In some cases involving the
|
||||||
|
@code{u-boot} bootloader, where the device tree has already been loaded
|
||||||
|
in RAM, it can be handy to disable the option by setting it to
|
||||||
|
@code{#f}.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
;;; Copyright © 2019, 2021 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2019, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
;;; Copyright © 2022 Josselin Poiret <dev@jpoiret.xyz>
|
;;; Copyright © 2022 Josselin Poiret <dev@jpoiret.xyz>
|
||||||
|
;;; Copyright © 2022 Reza Alizadeh Majd <r.majd@pantherx.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -72,6 +73,7 @@
|
||||||
bootloader-configuration-terminal-inputs
|
bootloader-configuration-terminal-inputs
|
||||||
bootloader-configuration-serial-unit
|
bootloader-configuration-serial-unit
|
||||||
bootloader-configuration-serial-speed
|
bootloader-configuration-serial-speed
|
||||||
|
bootloader-configuration-device-tree-support?
|
||||||
|
|
||||||
%bootloaders
|
%bootloaders
|
||||||
lookup-bootloader-by-name
|
lookup-bootloader-by-name
|
||||||
|
@ -232,7 +234,9 @@ instead~%")))
|
||||||
(serial-unit bootloader-configuration-serial-unit ;integer | #f
|
(serial-unit bootloader-configuration-serial-unit ;integer | #f
|
||||||
(default #f))
|
(default #f))
|
||||||
(serial-speed bootloader-configuration-serial-speed ;integer | #f
|
(serial-speed bootloader-configuration-serial-speed ;integer | #f
|
||||||
(default #f)))
|
(default #f))
|
||||||
|
(device-tree-support? bootloader-configuration-device-tree-support?
|
||||||
|
(default #t))) ;boolean
|
||||||
|
|
||||||
(define-deprecated (bootloader-configuration-target config)
|
(define-deprecated (bootloader-configuration-target config)
|
||||||
bootloader-configuration-targets
|
bootloader-configuration-targets
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2017 David Craven <david@craven.ch>
|
;;; Copyright © 2017 David Craven <david@craven.ch>
|
||||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||||
|
;;; Copyright © 2022 Reza Alizadeh Majd <r.majd@pantherx.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -38,6 +39,9 @@ corresponding to old generations of the system."
|
||||||
(define all-entries
|
(define all-entries
|
||||||
(append entries (bootloader-configuration-menu-entries config)))
|
(append entries (bootloader-configuration-menu-entries config)))
|
||||||
|
|
||||||
|
(define with-fdtdir?
|
||||||
|
(bootloader-configuration-device-tree-support? config))
|
||||||
|
|
||||||
(define (menu-entry->gexp entry)
|
(define (menu-entry->gexp entry)
|
||||||
(let ((label (menu-entry-label entry))
|
(let ((label (menu-entry-label entry))
|
||||||
(kernel (menu-entry-linux entry))
|
(kernel (menu-entry-linux entry))
|
||||||
|
@ -46,12 +50,16 @@ corresponding to old generations of the system."
|
||||||
#~(format port "LABEL ~a
|
#~(format port "LABEL ~a
|
||||||
MENU LABEL ~a
|
MENU LABEL ~a
|
||||||
KERNEL ~a
|
KERNEL ~a
|
||||||
FDTDIR ~a/lib/dtbs
|
~a
|
||||||
INITRD ~a
|
INITRD ~a
|
||||||
APPEND ~a
|
APPEND ~a
|
||||||
~%"
|
~%"
|
||||||
#$label #$label
|
#$label #$label
|
||||||
#$kernel (dirname #$kernel) #$initrd
|
#$kernel
|
||||||
|
(if #$with-fdtdir?
|
||||||
|
(string-append "FDTDIR " (dirname #$kernel) "/lib/dtbs")
|
||||||
|
"")
|
||||||
|
#$initrd
|
||||||
(string-join (list #$@kernel-arguments)))))
|
(string-join (list #$@kernel-arguments)))))
|
||||||
|
|
||||||
(define builder
|
(define builder
|
||||||
|
|
Reference in New Issue