Subject: bug#49550: Enable to boot from emmc on rockpro64

From: Vagrant Cascadian <[email-masked]>
Date: Fri, 16 Jul 2021 06:38:09 -0700

On 2021-07-13, Pierre Langlois wrote:
> 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 definitely tested this on pinebook-pro and probably just assumed it
would also fix the issue on rockpro64...

> 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?

I'll try to test on rockpro64 and see if I can confirm the issue and
your fix...

live well,
  vagrant

> 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