Problems with NSLU2 and U-Boot
Bruce M. Simpson
bms at incunabulum.net
Sat Oct 11 12:41:25 UTC 2008
Stanislav Sedov wrote:
> Are you sure that u-boot loads your kernel to correct address. Have
> you tryed loading a plain ELF image (or binary) and jumping to entry
> point?
>
I just tried booting kernel.bin on the NSLU2, as a raw memory image, via
tftp, and got exactly the same result.
I repeated it with U-Boot. It appears as though it relocates the
embedded ELF image to the correct address during load and execution, but
I can't be sure because I don't have any OCD capability just now.
Again, the hang happens right after init_turnstile0() appears to have
been called:
%%%
DHCP client bound to address 192.168.123.151
Using NPE0 device
TFTP from server 192.168.123.17; our IP address is 192.168.123.151
Filename 'kernel.nslu2.ub'.
Load address: 0x400000
Loading: #################################################################
#################################################################
#################################################################
###########
done
Bytes transferred = 3013309 (2dfabd hex)
=> bootm
## Booting kernel from Legacy Image at 00400000 ...
Image Name: kernel
Image Type: ARM Unknown OS Kernel Image (uncompressed)
Data Size: 3013245 Bytes = 2.9 MB
Load Address: 00200000
Entry Point: 00200100
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
GDB: no debug ports present
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 8.0-CURRENT #24: Sat Oct 11 13:13:24 BST 2008
root at anglepoise.lon.incunabulum.net:/home/obj/nanobsd.testusb/arm/home/bms/svn/head/sys/MY_NSLU
subsystem 900000
0xc028127c(0)... done.
subsystem 1000000
0xc0375120(0)... done.
0xc0389700(0)... done.
subsystem 1800000
0xc027ecd8(0)... done.
0xc027f0d8(0xc041ca90)... done.
0xc027f0d8(0xc041cc44)... done.
0xc027f0d8(0xc0415c4c)... done.
0xc027f0d8(0xc0416008)... done.
0xc027f0d8(0xc041ce8c)... done.
0xc027f0d8(0xc0416904)... done.
0xc027f0d8(0xc041cfb8)... done.
0xc027f0d8(0xc041d510)... done.
0xc027f0d8(0xc041d96c)... done.
0xc027f0d8(0xc04168c0)... done.
0xc027f0d8(0xc041d6a0)... done.
0xc027f0d8(0xc041d65c)... done.
0xc027f0d8(0xc041d618)... done.
0xc027f0d8(0xc041d5d4)... done.
0xc027f0d8(0xc041d590)... done.
0xc027f0d8(0xc041d9b0)... done.
0xc027f0d8(0xc041687c)... done.
0xc027f0d8(0xc041eb98)... done.
0xc027f0d8(0xc0416dd4)... done.
0xc027f0d8(0xc041ec24)... done.
0xc027f0d8(0xc0416e18)... done.
0xc027f0d8(0xc041f15c)... done.
0xc027f0d8(0xc041f1a4)... done.
0xc027f0d8(0xc041f118)... done.
0xc027f0d8(0xc041f0d4)... done.
0xc027f0d8(0xc041f728)... done.
0xc027f0d8(0xc041f868)... done.
0xc027f0d8(0xc041f8ac)... done.
0xc027f0d8(0xc0416e5c)... done.
0xc027f0d8(0xc04201ac)... done.
0xc027f0d8(0xc04201f0)... done.
0xc027f0d8(0xc0420234)... done.
0xc027f0d8(0xc0420b2c)... done.
0xc027f0d8(0xc0420c50)... done.
0xc027f0d8(0xc0420ec8)... done.
0xc027f0d8(0xc0421614)... done.
0xc027f0d8(0xc0417018)... done.
0xc027f0d8(0xc0421690)... done.
0xc027f0d8(0xc04216d4)... done.
0xc027f0d8(0xc0421964)... done.
0xc027f0d8(0xc0421a68)... done.
0xc027f0d8(0xc0421c48)... done.
0xc027f0d8(0xc0421ea4)... done.
0xc027f0d8(0xc04170ac)... done.
0xc027f0d8(0xc04171c4)... done.
0xc027f0d8(0xc04223e8)... done.
0xc027f0d8(0xc04175d4)... done.
0xc027f0d8(0xc0422590)... done.
0xc027f0d8(0xc04176ec)... done.
0xc027f0d8(0xc0410388)... done.
0xc027f0d8(0xc04137c4)... done.
0xc027f0d8(0xc04227e0)... done.
0xc027f0d8(0xc0422844)... done.
0xc027f0d8(0xc0422a58)... done.
0xc027f0d8(0xc0422ae8)... done.
0xc027f0d8(0xc0422b2c)... done.
0xc027f0d8(0xc0422b70)... done.
0xc027f0d8(0xc0422dc0)... done.
0xc027f0d8(0xc0423298)... done.
0xc027f0d8(0xc0423780)... done.
0xc027f0d8(0xc0423c5c)... done.
0xc027f0d8(0xc0423e58)... done.
0xc027f0d8(0xc04240e4)... done.
0xc027f0d8(0xc042437c)... done.
0xc027f0d8(0xc042469c)... done.
0xc027f0d8(0xc0424700)... done.
0xc027f0d8(0xc0417cdc)... done.
0xc027f0d8(0xc0424898)... done.
0xc027f0d8(0xc0424854)... done.
0xc027f0d8(0xc0424ed4)... done.
0xc027f0d8(0xc04254a0)... done.
0xc027f0d8(0xc0425aa4)... done.
0xc027f0d8(0xc0425c38)... done.
0xc027f0d8(0xc0425c9c)... done.
0xc027f0d8(0xc0425d10)... done.
0xc027f0d8(0xc0414728)... done.
0xc027f0d8(0xc0425e1c)... done.
0xc027f0d8(0xc0425dd8)... done.
0xc027f0d8(0xc0414844)... done.
0xc027f0d8(0xc04264dc)... done.
0xc027f0d8(0xc04269e0)... done.
0xc027f0d8(0xc0426c68)... done.
0xc027f0d8(0xc0426c24)... done.
0xc027f0d8(0xc0426be0)... done.
0xc027f0d8(0xc0426e3c)... done.
0xc027f0d8(0xc0426ea0)... done.
0xc027f0d8(0xc0414888)... done.
0xc027f0d8(0xc04101a4)... done.
0xc027f0d8(0xc04103ec)... done.
0xc027f0d8(0xc0427470)... done.
0xc027f0d8(0xc0427848)... done.
0xc027f0d8(0xc0427934)... done.
0xc027f0d8(0xc0427a48)... done.
0xc027f0d8(0xc0427a8c)... done.
0xc027f0d8(0xc0427ad0)... done.
0xc027f0d8(0xc042845c)... done.
0xc027f0d8(0xc0428b50)... done.
0xc027f0d8(0xc04102e4)... done.
0xc027f0d8(0xc0429330)... done.
0xc027f0d8(0xc04296f4)... done.
0xc027f0d8(0xc042a174)... done.
0xc027f0d8(0xc042a1b8)... done.
0xc027f0d8(0xc042a1fc)... done.
0xc027f0d8(0xc042a240)... done.
0xc027f0d8(0xc042a284)... done.
0xc027f0d8(0xc042a2c8)... done.
0xc027f0d8(0xc042a30c)... done.
0xc027f0d8(0xc042a350)... done.
0xc027f0d8(0xc042a394)... done.
0xc027f0d8(0xc042a3d8)... done.
0xc027f0d8(0xc042a41c)... done.
0xc027f0d8(0xc042a460)... done.
0xc027f0d8(0xc042a4a4)... done.
0xc027f0d8(0xc042a4e8)... done.
0xc027f0d8(0xc042a52c)... done.
0xc027f0d8(0xc042b1c0)... done.
0xc027f0d8(0xc042b32c)... done.
0xc027f0d8(0xc042b3c0)... done.
0xc027f0d8(0xc042b800)... done.
0xc027f0d8(0xc041c084)... done.
0xc027f0d8(0xc04131dc)... done.
0xc027f0d8(0xc04102a0)... done.
0xc027f0d8(0xc042ca28)... done.
0xc027f0d8(0xc041c338)... done.
0xc027f0d8(0xc041c37c)... done.
0xc027f0d8(0xc042d01c)... done.
0xc027f0d8(0xc042d080)... done.
0xc027f0d8(0xc042d1a0)... done.
0xc027f0d8(0xc041c3c0)... done.
0xc027f0d8(0xc041c634)... done.
0xc027f0d8(0xc041c6bc)... done.
0xc027f0d8(0xc041c8a4)... done.
0xc027f0d8(0xc041c9bc)... done.
0xc027f0d8(0xc041025c)... done.
0xc029562c(0)... done.
0xc026b04c(0)... done.
subsystem 1a00000
0xc037aa30(0)... done.
subsystem 1ac0000
0xc0281388(0)... done.
subsystem 1b00000
0xc0266bdc(0)... done.
0xc027cab4(0)... done.
0xc02816e0(0xc042aa2c)... done.
0xc02816e0(0xc0422adc)... done.
0xc02816e0(0xc0421608)... done.
0xc0293110(0xc0413964)... done.
0xc02816e0(0xc0425f14)... done.
0xc02816e0(0xc041745c)... done.
0xc0293110(0xc0417468)... done.
0xc0293110(0xc041bfe8)... done.
0xc02816e0(0xc0417470)... done.
0xc02816e0(0xc041c880)... done.
0xc0293110(0xc0423e48)... done.
0xc02816e0(0xc041c88c)... done.
0xc02816e0(0xc0421d48)... done.
0xc02816e0(0xc041f968)... done.
0xc02816e0(0xc041eb74)... done.
0xc02816e0(0xc0424458)... done.
0xc02816e0(0xc0427284)... done.
0xc02816e0(0xc0427398)... done.
0xc02816e0(0xc04245e0)... done.
0xc02816e0(0xc041eb80)... done.
0xc02816e0(0xc04275ec)... done.
0xc02816e0(0xc041c898)... done.
0xc0293110(0xc04170a4)... done.
0xc02816e0(0xc0427a3c)... done.
0xc02816e0(0xc042ca04)... done.
0xc02816e0(0xc0424a50)... done.
0xc02816e0(0xc0427b94)... done.
0xc02816e0(0xc0424a5c)... done.
0xc02816e0(0xc042ccc8)... done.
0xc02816e0(0xc04175c8)... done.
0xc02816e0(0xc0420b0c)... done.
0xc02816e0(0xc04284e0)... done.
0xc02816e0(0xc04140b8)... done.
0xc0282f2c(0)... done.
0xc02816e0(0xc0425a90)... done.
0xc02816e0(0xc0420d3c)... done.
0xc02816e0(0xc041cc30)... done.
0xc02816e0(0xc042a160)... done.
0xc03897d0(0)... done.
0xc02be458(0)...
%%%
It also looks as though the DDB symbol lookup isn't working. The dynamic
symbol table is present in the ELF image. mkimage simply wraps the ELF
image with a U-Boot header.
cheers
BMS
More information about the freebsd-embedded
mailing list