Subject: [bug#49552] [PATCH] gnu: u-boot: Update to 2021.07.

From: Pierre Langlois <[email-masked]>
Date: Mon, 02 Aug 2021 17:02:13 +0100

Hello,

Pierre Langlois <[email-masked]> writes:

(snip)

>>> That being said, while it works on pinebookpro, I still need an extra
>>> patch on the rockpro64 in order to boot, both on master with u-boot
>>> 2021.07 :-/ (see #49550).
>>>
>>> Were you able to confirm the issue? I see it looks like we have the same
>>> configuration in debian and guix, CONFIG_USE_PREBOOT=y and the
>>> "inno-usb" patch applied, mmmm
>>
>> Seems like you fixed the core of that problem in another commit!
>>
>> Patch looks good to me, thanks for working on it!
>
> Thanks for the review! I've just pushed it as
> eb46c6c5c81695af475f7e1e416d05e51157fe60, with a couple of tweaks to
> make `guix lint' happy (the patch filename was a little too long, as
> well as a line was over the column limit).

It turns out I broke a few u-boot packages :-/ https://ci.guix.gnu.org/eval/70864?status=failed

u-boot-tools failing to build on aarch64 appears to be unrelated, it's
due to libical which builds just fine for me on my rockpro64. However
u-boot-vexpress, u-boot-sifive-fu540 and u-boot-qemu-riscv64-smode are
real issues. Here are a couple of patches for them, they're pretty
trivial so I'll push them soon unless anybody objects:

From bb4f2831531b29194d5de499a52f6bf8aaaf93ad Mon Sep 17 00:00:00 2001
From: Pierre Langlois <[email-masked]>
Date: Mon, 2 Aug 2021 15:05:49 +0100
Subject: [PATCH 1/2] gnu: u-boot-vexpress: Downgrade to 2021.04.

* gnu/packages/bootloaders.scm (u-boot-2021.04): New variable.
(u-boot-vexpress): Downgrade to 2021.04.
---
 gnu/packages/bootloaders.scm | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 504b89f122..c64f5a09d5 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -533,6 +533,20 @@ tree binary files.  These are board description files used by Linux and BSD.")
 also initializes the boards (RAM etc).")
     (license license:gpl2+)))

+(define u-boot-2021.04
+  (package
+    (inherit u-boot)
+    (version "2021.04")
+    (source (origin
+              (patches (list %u-boot-rockchip-inno-usb-patch))
+              (method url-fetch)
+              (uri (string-append
+                    "https://ftp.denx.de/pub/u-boot/"
+                    "u-boot-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "06p1vymf0dl6jc2xy5w7p42mpgppa46lmpm2ishmgsycnldqnhqd"))))))
+
 (define-public u-boot-tools
   (package
     (inherit u-boot)
@@ -714,7 +728,12 @@ board-independent tools.")))
                  #t)))))))))

 (define-public u-boot-vexpress
-  (make-u-boot-package "vexpress_ca9x4" "arm-linux-gnueabihf"))
+  ;; vexpress_ca9x4 support was removed with version 2021.07,
+  ;; see https://lists.denx.de/pipermail/u-boot/2021-February/440803.html.
+  (package
+    (inherit (make-u-boot-package "vexpress_ca9x4" "arm-linux-gnueabihf"))
+    (version (package-version u-boot-2021.04))
+    (source (package-source u-boot-2021.04))))

 (define-public u-boot-malta
   (make-u-boot-package "malta" "mips64el-linux-gnuabi64"))
--
2.32.0

From 26957dac52584457d43d6139e2edc49074c7ca44 Mon Sep 17 00:00:00 2001
From: Pierre Langlois <[email-masked]>
Date: Mon, 2 Aug 2021 15:13:11 +0100
Subject: [PATCH 2/2] gnu: Rename u-boot-sifive-fu540 to sifive-unleashed.

* gnu/packages/bootloaders.scm (u-boot-sifive-fu540): Rename to ...
(u-boot-sifive-unleashed): ... this.  Change board name from sifive_fu540 to
sifive_unleashed.
* gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch: Rename sifive_fu540
to sifive_unleashed.
---
 gnu/packages/bootloaders.scm                           | 4 ++--
 gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index c64f5a09d5..9b1bcf9da6 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -891,8 +891,8 @@ to Novena upstream, does not load u-boot.img from the first partition.")
                 (patches
                  (search-patches "u-boot-riscv64-fix-extlinux.patch")))))))

-(define-public u-boot-sifive-fu540
-  (make-u-boot-package "sifive_fu540" "riscv64-linux-gnu"))
+(define-public u-boot-sifive-unleashed
+  (make-u-boot-package "sifive_unleashed" "riscv64-linux-gnu"))

 (define-public u-boot-sifive-unmatched
   (make-u-boot-package "sifive_unmatched" "riscv64-linux-gnu"))
diff --git a/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch b/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch
index d6c1987718..468024ab00 100644
--- a/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch
+++ b/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch
@@ -30,8 +30,8 @@ Index: u-boot/configs/qemu-riscv64_smode_defconfig
 +CONFIG_PREBOOT="setenv fdt_addr ${fdtcontroladdr}; fdt addr ${fdtcontroladdr};"
 Index: u-boot/configs/sifive_fu540_defconfig
 ===================================================================
---- u-boot.orig/configs/sifive_fu540_defconfig
-+++ u-boot/configs/sifive_fu540_defconfig
+--- u-boot.orig/configs/sifive_unleashed_defconfig
++++ u-boot/configs/sifive_unleashed_defconfig
 @@ -27,3 +27,5 @@ CONFIG_SPL_DM_SEQ_ALIAS=y
  CONFIG_SPL_CLK=y
  CONFIG_DM_MTD=y
--
2.32.0

Thanks,
Pierre