Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Unable to boot NetBSD on Linksys NSLU2 (armbe / armv5tel)



Hello,

(Please excuse if I use unappropriate terminology, I have years of
experience with Linux - even embedded Linux - but this is my first
time trying to run NetBSD.)

Following the great instructions found on the wiki[1] and doing a few
tweaks here and there (IPL 2.4, using dnsmasq on the server) I have
managed to build and setup things so that netbsd tries to start
diskless (root on NFS) on one of my old Linksys NSLU2-s but it fails
right when the kernel should start /sbin/init, or at least that's what
I understand from the messages:

[..]
rlphy0 at npe0 phy 1: RTL8201L 10/100 media interface, rev. 1
rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
clock: hz=100 stathz=0 profhz=0
ixp425_intr_establish(irq=5, ipl=6, func=c03ee780, arg=00000000)
iic0 at slugiic0: I2C bus
xrtc0 at iic0 addr 0x6f: Xicor X1226 Real-time Clock/NVRAM
ixp425_intr_establish(irq=22, ipl=5, func=c03f50ec, arg=c1128038)
ixp425_intr_establish(irq=29, ipl=5, func=c03f5074, arg=c1128038)
ixp425_intr_establish(irq=28, ipl=5, func=c03f5764, arg=c1131790)
ixp425_intr_establish(irq=27, ipl=5, func=c03f56bc, arg=c1131790)
ixp425_intr_establish(irq=26, ipl=5, func=c03f5614, arg=c1131790)
ixp425_intr_establish(irq=5, ipl=6, func=c03f5540, arg=00000000)
uhub0 at usb1: vendor 1033 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1 at usb2: vendor 1033 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub2 at usb0: vendor 1033 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
boot device: <unknown>
root on npe0
nfs_boot: trying DHCP/BOOTP
npe0: link state DOWN (was UNKNOWN)
npe0: link state UP (was DOWN)
nfs_boot: DHCP next-server: 192.168.77.250
nfs_boot: my_name=kinder
nfs_boot: my_domain=eddyp.homeunix.net
nfs_boot: my_addr=192.168.77.251
nfs_boot: my_mask=255.255.255.0
nfs_boot: gateway=192.168.77.1
root on 192.168.77.250:/export/netbsd-nslu2/root
root time: 0x54e3d162
kern.module.path=/stand/evbarm/7.99.4/modules
init: copying out path `/sbin/init' 11
1.1(init): trap: signo=11 code=2 addr=0x40045d4d trap=0x17
r0=40045d4d r1=4003f1bc r2=40045d51 r3=00000049
r4=40050c55 r5=40050e3c r6=40045d4d r7=4003f224
r8=00000007 r9=bfffd6a8 rA=400511b8 rB=bfffd678
ip=00000073 sp=bfffd628 lr=40037b70 pc=4003d1b0 spsr=00000010
Process (pid 1) got sig 11
1.1(init): trap: signo=11 code=2 addr=0x40045d4d trap=0x17
r0=40045d4d r1=4003f1bc r2=40045d51 r3=00000049
r4=40050c55 r5=40050e3c r6=40045d4d r7=4003f224
r8=00000007 r9=bfffd6a8 rA=400511b8 rB=bfffd678
ip=00000073 sp=bfffd628 lr=40037b70 pc=4003d1b0 spsr=00000010
Process (pid 1) got sig 11
1.1(init): trap: signo=11 code=2 addr=0x40045d4d trap=0x17
r0=40045d4d r1=4003f1bc r2=40045d51 r3=00000049
r4=40050c55 r5=40050e3c r6=40045d4d r7=4003f224
r8=00000007 r9=bfffd6a8 rA=400511b8 rB=bfffd678
ip=00000073 sp=bfffd628 lr=40037b70 pc=4003d1b0 spsr=00000010
(this part repeats over and over until I press the power button).


I tried to confirm that the problem is indeed with the filesystem by
renaming /sbin/init so the kernel wouldn't find it, but then I get a
somewhat similar problem regarding /rescue/init:

npe0: link state UP (was DOWN)
nfs_boot: DHCP next-server: 192.168.77.250
nfs_boot: my_name=kinder
nfs_boot: my_domain=eddyp.homeunix.net
nfs_boot: my_addr=192.168.77.251
nfs_boot: my_mask=255.255.255.0
nfs_boot: gateway=192.168.77.1
root on 192.168.77.250:/export/netbsd-nslu2/root
root time: 0x54e3d162
kern.module.path=/stand/evbarm/7.99.4/modules
init: copying out path `/sbin/init' 11
exec /sbin/init: error 2
init: copying out path `/sbin/oinit' 12
exec /sbin/oinit: error 2
init: copying out path `/sbin/init.bak' 15
exec /sbin/init.bak: error 2
init: copying out path `/rescue/init' 13
data_abort_handler: data_aborts fsr=0xf3 far=0xffffffff
1.1(init): trap: signo=10 code=1 addr=0xffffffff trap=0xf3
r0=0053ba2c r1=bfffc3c8 r2=ffffffff r3=00000002
r4=bfffdddc r5=00000003 r6=bfffc420 r7=00000003
r8=bfffc3e8 r9=00000000 rA=bfffc3c4 rB=bfffca50
ip=00000001 sp=bfffc338 lr=003ebd54 pc=003ef658 spsr=60000010
inittr: agata: si:
slugbutt0: power button pressed, shutting down!



The problem is that I don't know how to proceed next. I tried looking
into the documentation[2] but a) my host machine is running Debian
GNU/Linux (amd64) and my impression is that the instructions assume
the host/remote machine should be running also NetBSD on the same
architecture and b) it seems to me the problem is actually in
userspace, not in the kernel. I also tried finding a .map file for
init to maybe get som insight on the issue (maybe useland is little
endian or something like that), but I wasn't succesful.


Is there a way to get a more detailed trace or even connect to the
target via the serial console to debug what's happening?
Is there a way to get more detailed information?
Is it possible to debug an ARM NetBSD with a Linux amd64/x86_64
host/remote? If so, how?


Thanks


Notes:
1) On this NSLU I have a serial console attached, so I can check
what's happening even after RedBoot starts the kernel
2) I am not afraid of gdb, not even in setups using gdbserver to debug
usespace applications (I am software engineer and have done this at
work with an ARM target)


[1] http://wiki.netbsd.org/tutorials/how_to_install_netbsd_on_the_linksys_nslu2___40__slug__41___without_a_serial_port__44___using_nfs_and_telnet/
[2] http://www.netbsd.org/docs/kernel/kgdb.html

-- 
Eddy Petrișor


Home | Main Index | Thread Index | Old Index