RockPro64 booting w/ u-boot v2019-rc3

mko me at mko.io
Mon Sep 16 10:06:20 UTC 2019


Hi John,
I’m also trying to make a RK3399 board work, in my case I’m using the Rock Pi 4 which is raspberry pi form factor and much cheaper. 

For rockpro64, manu has already submit the uboot for it, it's sysutils/u-boot-rockpro64, and I just make a trivial change to rock pi 4 u-boot config, and  it u-boot’s fine into multi-user mode, then panic.

Here’s the related bug report

Bug 240541 - Generic kernel on Rock Pi 4 RK3399 board panic 

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240541

Bug 240538 - Rock Pi 4 runtime time error panic: clknode_init_parent_idx: Invalid parent index 5 for clock sclk_sdmmc

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240538

mko

> On 16/09/2019, at 6:46 PM, John-Mark Gurney <jmg at funkthat.com> wrote:
> 
> I recently received my RockPro64, and w/ a bit of help from manu, I
> built a new u-boot firmware and get it booting from SD card.  The
> u-boot port firmware will boot, but receives an Unhandled System Error
> shortly after going to multiuser mode.
> 
> It doesn't yet set the PCIe slot.  Is anyone working on this?  If so,
> can you point me to code?  I'd like to get this working.
> 
> Building u-boot isn't hard, but finding the correct part to build took
> some help.
> 
> Possibly imcomplete list of packages used:
> aarch64-none-elf-binutils-2.32_1,1 GNU binutils for bare metal AArch64 cross-development
> aarch64-none-elf-gcc-6.4.0_6   Cross GNU Compiler Collection for aarch64noneelf
> atf-rk3399-v2.1                ARM TF-A for platform rk3399
> bison-3.4.1,1                  Parser generator from FSF, (mostly) compatible with Yacc
> dtc-1.4.7                      Device Tree Compiler
> gmake-4.2.1_3                  GNU version of 'make' utility
> gsed-4.7                       GNU stream editor
> python3-3_3                    The "meta-port" for version 3 of the Python interpreter
> 
> The default sed fails at one point, so used this patch:
> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
> index ef116e0e0a..e0dedf8943 100644
> --- a/scripts/Makefile.lib
> +++ b/scripts/Makefile.lib
> @@ -302,7 +302,7 @@ cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
>                -i $(dir $<) $(DTC_FLAGS) \
>                -d $(depfile).dtc.tmp $(dtc-tmp) ; \
>        cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile) ; \
> -       sed -i "s:$(pre-tmp):$(<):" $(depfile)
> +       gsed -i "s:$(pre-tmp):$(<):" $(depfile)
> 
> $(obj)/%.dtb: $(src)/%.dts FORCE
>        $(call if_changed_dep,dtc)
> 
> 
> There is also a failure on the config step, and needs this patch as
> well:
> diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
> index b18eab1707..3260c472b9 100644
> --- a/scripts/config_whitelist.txt
> +++ b/scripts/config_whitelist.txt
> @@ -3100,6 +3100,7 @@ CONFIG_SYS_MACB2_BASE
> CONFIG_SYS_MACB3_BASE
> CONFIG_SYS_MAIN_PWR_ON
> CONFIG_SYS_MALLOC_BASE
> +CONFIG_SYS_MALLOC_CLEAR_ON_INIT
> CONFIG_SYS_MALLOC_SIMPLE
> CONFIG_SYS_MAMR
> CONFIG_SYS_MAPLE
> 
> 
> And then built using the following commands:
> export BL31=/usr/local/share/atf-rk3399/bl31.elf
> gmake clean
> gmake rockpro64-rk3399_defconfig
> CROSS_COMPILE=aarch64-none-elf- gmake -j 4
> 
> I may have forgotten to include some steps.  After building, I
> installed the parts via:
> dd if=idbloader.img of=/dev/disk4 oseek=64 bs=512
> dd if=u-boot.itb of=/dev/disk4 oseek=16384 bs=512
> 
> I used FreeBSD-13.0-CURRENT-arm64-aarch64-20190906-r351901-memstick.img
> as a base, but it has the UEFI boot partition in this area, so I used
> mdconfig to extract the parts, and then expanded the image, created a
> new freebsd-boot partition to cover the space for the above, and then
> replaced the images...
> 
> =>      3  2111549  mmcsd0  GPT  (30G) [CORRUPT]
>        3    32765       2  freebsd-boot  (16M)
>    32768    67584       1  efi  (33M)
>   100352  2011200       3  freebsd  (982M)
> 
> The corrupt tag is because I haven't expanded the gpt to cover the
> full SD card yet.
> 
> -- 
>  John-Mark Gurney				Voice: +1 415 225 5579
> 
>     "All that I will do, has been done, All that I have, has not."
> _______________________________________________
> freebsd-arm at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"




More information about the freebsd-arm mailing list