Date: Mon, 16 Sep 2019 15:15:30 -0700 From: John-Mark Gurney <jmg@funkthat.com> To: mko <me@mko.io> Cc: "freebsd-arm@freebsd.org" <freebsd-arm@FreeBSD.org> Subject: Re: RockPro64 booting w/ u-boot v2019-rc3 Message-ID: <20190916221530.GO96402@funkthat.com> In-Reply-To: <EF2E4FC6-E490-47F0-9BA0-12B652980E94@mko.io> References: <20190916064640.GN96402@funkthat.com> <EF2E4FC6-E490-47F0-9BA0-12B652980E94@mko.io>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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."
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190916221530.GO96402>