[U-Boot] ROCK64 fails to boot using U-Boot TPL
Matwey V. Kornilov
matwey.kornilov at gmail.com
Thu Sep 19 16:49:28 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?
>
> ----------
>
> U-Boot TPL 2019.10-rc3-00361-ga9fa70b7b7 (Sep 19 2019 - 03:11:29)
I've just checked this commit: EFI Grub + Linux 5.2 is still booting for me.
> 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