RockPro64 booting w/ u-boot v2019-rc3
John-Mark Gurney
jmg at funkthat.com
Mon Sep 16 22:15:47 UTC 2019
mko wrote this message on Mon, Sep 16, 2019 at 22:06 +1200:
> 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
I received the same panic via the port, which is why I built v2019.10-rc3
of u-boot...
After reviewing the email I sent, realized that I left off what version
of u-boot I built to make it work...
Sorry about that..
> > 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."
More information about the freebsd-arm
mailing list