[U-Boot] ROCK64 fails to boot using U-Boot TPL
Simon South
simon at simonsouth.net
Thu Sep 19 08:56:57 UTC 2019
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?
----------
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}>
--
Simon South
simon at simonsouth.net
More information about the U-Boot
mailing list