Subject: [PATCH] gnu: u-boot-novena: Allow booting from raw device offset.

From: Vagrant Cascadian <[email-masked]>
Date: Wed, 06 Feb 2019 14:35:54 -0800

* gnu/packages/bootloaders.scm (u-boot-novena): Disable loading u-boot.img
  from FAT partition.
---
 gnu/packages/bootloaders.scm | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 5bd784f73c..40b14fcce8 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -624,7 +624,20 @@ 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)
+      (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"))
-- 
2.20.1