Subject: bug#49550: closed (Re: Enable to boot from emmc on rockpro64)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 31 Jul 2021 11:42:02 +0000

Your bug report

#49550: Enable to boot from emmc on rockpro64

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
49550: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=49550
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: Enable to boot from emmc on rockpro64
From: Pierre Langlois <[email-masked]>
To: [email-masked]
Cc: Vagrant Cascadian <[email-masked]>, Pierre Langlois <[email-masked]>
Date: Sat, 31 Jul 2021 12:38:09 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Guix!

Pierre Langlois <[email-masked]> writes:

> [[PGP Signed Part:Undecided]]
> Hi Vagrant,
>
> I just had a break-through with this! See inline.

(snip)

From 055d1d358c55811cafd4c56b919865b75e59d936 Mon Sep 17 00:00:00 2001
From: Pierre Langlois <[email-masked]>
Date: Tue, 27 Jul 2021 20:15:55 +0100
Subject: [PATCH] gnu: u-boot-rockpro64-rk3399: Enable 'set-environment phase.

* gnu/packages/bootloaders.scm (u-boot-rockpro64-rk3399)[arguments]: Run
'set-environment phase after 'unpack instead of non-existent
'patch-rockpro64-config phase.
---
 gnu/packages/bootloaders.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 742992a119..4f7a8853e8 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -931,7 +931,7 @@ to Novena upstream, does not load u-boot.img from the first partition.")
         (substitute-keyword-arguments (package-arguments base)
           ((#:phases phases)
            `(modify-phases ,phases
-              (add-after 'patch-rockpro64-config 'set-environment
+              (add-after 'unpack 'set-environment
                 (lambda* (#:key inputs #:allow-other-keys)
                   (setenv "BL31" (string-append (assoc-ref inputs "firmware")
                                                 "/bl31.elf"))

Given this turned out to be a simple bug-fix, I just pushed it with
adb84ae8ea95a6f956d81fdac0b5c6508024a541

Closing!

Thanks,
Pierre

Subject: Enable to boot from emmc on rockpro64
From: Pierre Langlois <[email-masked]>
To: Bug guix <[email-masked]>
Cc: Vagrant Cascadian <[email-masked]>
Date: Tue, 13 Jul 2021 20:36:28 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi guix!

I'm afraid since commit 3a851d45576e046d696fcf35b34d57b2cd28ea49 [0]
I've not been able to boot from eMMC on the rockpro64 board, it freezes
before loading the kernel. Re-introducing the work-around fixed the
issue for me (see patch attached).

Did we mean to remove the work-around? I'm wondering if there's
something I'm missing, or if I should instead boot from a USB device.

I've also updated u-boot to 2021.07 but I'm seeing the same boot issue
so it doesn't appear to be fixed upstream :-/

Anybody know of any other work around? If not, are you happy with the
patch attached?

Thanks,
Pierre

>From f3c647bb447706f465a3fb4b8d6e09cd089dbed9 Mon Sep 17 00:00:00 2001
From: Pierre Langlois <[email-masked]>
Date: Sat, 8 May 2021 16:19:23 +0100
Subject: [PATCH 1/3] gnu: u-boot-rockpro64-rk3399: Disable USB boot.

* gnu/packages/bootloaders.scm (u-boot-rockpro64-rk3399)[arguments]: Add
'patch-rockpro64-config phase.
---
 gnu/packages/bootloaders.scm | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 742992a119..75705a27c1 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -12,7 +12,7 @@
 ;;; Copyright © 2019 Mathieu Othacehe <[email-masked]>
 ;;; Copyright © 2020 Björn Höfling <[email-masked]>
 ;;; Copyright © 2018, 2019, 2020 Vagrant Cascadian <[email-masked]>
-;;; Copyright © 2020 Pierre Langlois <[email-masked]>
+;;; Copyright © 2020, 2021 Pierre Langlois <[email-masked]>
 ;;; Copyright © 2021 Vincent Legoll <[email-masked]>
 ;;; Copyright © 2021 Brice Waegeneire <[email-masked]>
 ;;;
@@ -931,11 +931,16 @@ to Novena upstream, does not load u-boot.img from the first partition.")
         (substitute-keyword-arguments (package-arguments base)
           ((#:phases phases)
            `(modify-phases ,phases
+              (add-after 'unpack 'patch-rockpro64-config
+                ;; Fix regression in 2020.10 causing freezes on boot with USB boot enabled.
+                ;; See https://gitlab.manjaro.org/manjaro-arm/packages/core/uboot-rockpro64/-/issues/4
+                (lambda _
+                  (substitute* "configs/rockpro64-rk3399_defconfig"
+                    (("CONFIG_USE_PREBOOT=y") "CONFIG_USE_PREBOOT=n"))))
               (add-after 'patch-rockpro64-config 'set-environment
                 (lambda* (#:key inputs #:allow-other-keys)
                   (setenv "BL31" (string-append (assoc-ref inputs "firmware")
-                                                "/bl31.elf"))
-                  #t))
+                                                "/bl31.elf"))))
               ;; Phases do not succeed on the bl31 ELF.
               (delete 'strip)
               (delete 'validate-runpath)))))
-- 
2.32.0

[0]: https://lists.gnu.org/archive/html/guix-commits/2021-05/msg00085.html