aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVagrant Cascadian <vagrant@debian.org>2019-02-06 14:35:54 -0800
committerDanny Milosavljevic <dannym@scratchpost.org>2019-02-11 10:59:23 +0100
commit6e2bad000fb2d509be3fd557313dbd00d8a02a61 (patch)
tree81ad5ae012a00129f6b48347ac5f949832a23e0d
parent8d22f7e31f6fc766af2db845bcd8ea975ba0da6c (diff)
downloadguix-6e2bad000fb2d509be3fd557313dbd00d8a02a61.tar
guix-6e2bad000fb2d509be3fd557313dbd00d8a02a61.tar.gz
gnu: u-boot-novena: Allow booting from raw device offset.
* gnu/packages/bootloaders.scm (u-boot-novena): Disable loading u-boot.img from a partition.
-rw-r--r--gnu/packages/bootloaders.scm20
1 files changed, 19 insertions, 1 deletions
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 5bd784f73c..a566001b07 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -624,7 +624,25 @@ board-independent tools.")))
(make-u-boot-package "mx6cuboxi" "arm-linux-gnueabihf"))
(define-public u-boot-novena
- (make-u-boot-package "novena" "arm-linux-gnueabihf"))
+ (let ((base (make-u-boot-package "novena" "arm-linux-gnueabihf")))
+ (package
+ (inherit base)
+ (description "U-Boot is a bootloader used mostly for ARM boards. It
+also initializes the boards (RAM etc).
+
+This U-Boot is built for Novena. Be advised that this version, contrary
+to Novena upstream, does not load u-boot.img from the first patition.")
+ (arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'patch-novena-defconfig
+ ;; Patch configuration to disable loading u-boot.img from FAT partition,
+ ;; allowing it to be installed at a device offset.
+ (lambda _
+ (substitute* "configs/novena_defconfig"
+ (("CONFIG_SPL_FAT_SUPPORT=y") "# CONFIG_SPL_FAT_SUPPORT is not set"))
+ #t)))))))))
(define-public u-boot-cubieboard
(make-u-boot-package "Cubieboard" "arm-linux-gnueabihf"))