[U-Boot] ROCK64 fails to boot using U-Boot TPL

Matwey V. Kornilov matwey.kornilov at gmail.com
Thu Sep 19 15:48:21 UTC 2019


19.09.2019 11:56, Simon South пишет:
> I've been unable so far to boot NetBSD on my PINE64 ROCK64 (v2.0,
> Rockchip RK3328) using U-Boot built with its own TPL, the default since
> commit ff3dd0a474.
> 
> The same NetBSD image boots fine using the binary TPL supplied by Rockchip.
> 
> The exact failure varies but it always seems memory-related. Typically
> the NetBSD kernel fails right after starting with a panic in its
> virtual-memory system, uvm.
> 
> Also significant may be these messages sometimes output by U-Boot at
> startup, which I haven't seen when the Rockchip TPL is used:
> 
>     libfdt fdt_check_header(): FDT_ERR_BADMAGIC
> 
> I've pasted the output from a typical failed boot below and have
> submitted a problem report (with a bit more detail) to the NetBSD project:
> 
> https://gnats.netbsd.org/54557
> 
> Does anyone know why this might be happening? Is there perhaps some
> additional setup the U-Boot TPL expects from the OS to finish
> configuring the RK3328's memory controller that's currently missing from
> NetBSD?
> 
> How I can diagnose this further?

Hi,

I have no idea what is going on. But are you sure that you tested the
same u-boot binaries with or without binary TPL? u-boot-tpl.bin and
rk3328_ddr_333MHz_v1.16.bin should be fully interchangeable while
deploying the bootloader.

> 
> ----------
> 
> U-Boot TPL 2019.10-rc3-00361-ga9fa70b7b7 (Sep 19 2019 - 03:11:29)
> LPDDR3
> Trying to boot from BOOTROM
> Returning to boot ROM...
> 
> U-Boot SPL 2019.10-rc3-00361-ga9fa70b7b7 (Sep 19 2019 - 03:11:29 -0400)
> Trying to boot from MMC2
> Card did not respond to voltage select!
> spl: mmc init failed with error: -95
> Trying to boot from MMC1
> NOTICE:  BL31: v2.1(release):v2.1-678-g2fc6ffc4-dirty
> NOTICE:  BL31: Built : 12:10:07, Sep 12 2019
> ERROR:   over or zero region, nr=4187432, max=10
> NOTICE:  BL31:Rockchip release version: v1.2
> 
> 
> U-Boot 2019.10-rc3-00361-ga9fa70b7b7 (Sep 19 2019 - 03:12:31 -0400)
> 
> Model: Pine64 Rock64
> DRAM:  4 GiB
> MMC:   rksdmmc at ff500000: 1, rksdmmc at ff520000: 0
> Loading Environment from MMC... *** Warning - bad CRC, using default
> environment
> 
> In:    serial at ff130000
> Out:   serial at ff130000
> Err:   serial at ff130000
> Model: Pine64 Rock64
> Net:
> Warning: ethernet at ff540000 (eth0) using random MAC address -
> da:e0:78:b1:50:d2
> eth0: ethernet at ff540000
> Hit any key to stop autoboot:  0
> Card did not respond to voltage select!
> switch to partitions #0, OK
> mmc1 is current device
> Scanning mmc 1:1...
> 53513 bytes read in 9 ms (5.7 MiB/s)
> Found EFI removable media binary efi/boot/bootaa64.efi
> libfdt fdt_check_header(): FDT_ERR_BADMAGIC
> Scanning disk rksdmmc at ff500000.blk...
> Card did not respond to voltage select!
> Scanning disk rksdmmc at ff520000.blk...
> Disk rksdmmc at ff520000.blk not ready
> Found 3 disks
> BootOrder not defined
> EFI boot manager: Cannot load any image
> 205136 bytes read in 16 ms (12.2 MiB/s)
> libfdt fdt_check_header(): FDT_ERR_BADMAGIC
> -
> 
>>> NetBSD/evbarm EFI Boot (aarch64), Revision 1.11 (Wed Sep 18 15:50:45
> UTC 2019) (from NetBSD 9.99.12)
> Press return to boot now, any other key for boot prompt
> booting netbsd - starting in 0 seconds.
> 6100056+2730512+1985652+1823764+490622=0xec5b00
> [   1.0000000] NetBSD/evbarm (fdt) booting ...
> [   1.0000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002,
> 2003, 2004, 2005,
> [   1.0000000]     2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014,
> 2015, 2016, 2017,
> [   1.0000000]     2018, 2019 The NetBSD Foundation, Inc.  All rights
> reserved.
> [   1.0000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
> [   1.0000000]     The Regents of the University of California.  All
> rights reserved.
> 
> [   1.0000000] NetBSD 9.99.12 (GENERIC64) #16: Wed Sep 18 12:30:03 EDT 2019
> [   1.0000000] 
> ssouth at laptop:/usr/src/sys/arch/evbarm/compile/obj/GENERIC64
> [   1.0000000] total memory = 4064 MB
> [   1.0000000] avail memory = 3918 MB
> [   1.0000000] panic: kernel diagnostic assertion "ucpu ==
> VM_FREE_PAGE_TO_CPU(pg)" failed: file "/usr/src/sys/uvm/uvm_page.c", line
> 852
> [   1.0000000] cpu0: Begin traceback...
> [   1.0000000] trace fp ffffffc000bec8d0
> [   1.0000000] fp ffffffc000bec8f0 vpanic() at ffffffc0004924c0
> netbsd:vpanic+0x198
> [   1.0000000] fp ffffffc000bec950 kern_assert() at ffffffc0005cdf24
> netbsd:kern_assert+0x5c
> [   1.0000000] fp ffffffc000bec9e0 uvm_pagealloc_pgfl() at
> ffffffc00040f388 netbsd:uvm_pagealloc_pgfl+0x5c8
> [   1.0000000] fp ffffffc000beca40 uvm_pagealloc_strat() at
> ffffffc000410034 netbsd:uvm_pagealloc_strat+0x18c
> [   1.0000000] fp ffffffc000becad0 uvm_km_kmem_alloc() at
> ffffffc000403b30 netbsd:uvm_km_kmem_alloc+0x60
> [   1.0000000] fp ffffffc000becb40 pool_page_alloc() at ffffffc00048b0c0
> netbsd:pool_page_alloc+0x28
> [   1.0000000] fp ffffffc000becb60 pool_grow() at ffffffc00048d294
> netbsd:pool_grow+0x35c
> [   1.0000000] fp ffffffc000becbd0 pool_get() at ffffffc00048c5e8
> netbsd:pool_get+0xa0
> [   1.0000000] fp ffffffc000becc30 pool_cache_get_slow() at
> ffffffc00048e8a4 netbsd:pool_cache_get_slow+0x1dc
> [   1.0000000] fp ffffffc000becc80 pool_cache_get_paddr() at
> ffffffc0004901e8 netbsd:pool_cache_get_paddr+0x258
> [   1.0000000] fp ffffffc000becce0 kmem_intr_alloc() at ffffffc0004859f0
> netbsd:kmem_intr_alloc+0x60
> [   1.0000000] fp ffffffc000becd10 kmem_intr_zalloc() at
> ffffffc000485b20 netbsd:kmem_intr_zalloc+0x10
> [   1.0000000] fp ffffffc000becd30 kmem_zalloc() at ffffffc000485dc4
> netbsd:kmem_zalloc+0x84
> [   1.0000000] fp ffffffc000becd50 module_builtin_add() at
> ffffffc0004432a0 netbsd:module_builtin_add+0x98
> [   1.0000000] fp ffffffc000becdf0 module_init() at ffffffc0004437f8
> netbsd:module_init+0xf0
> [   1.0000000] fp ffffffc000bece50 main() at ffffffc0005d0b08
> netbsd:main+0x108
> [   1.0000000] fp 0000000000000000 aarch64_start() at ffffffc00000183c
> netbsd:aarch64_start+0x103c
> [   1.0000000] cpu0: End traceback...
> Stopped in pid 0.1 (system) at  netbsd:cpu_Debugger+0x4:        ret
> db{0}>
> 




More information about the U-Boot mailing list