sheevaplug boot from nandfs hangs
Ian Lepore
freebsd at damnhippie.dyndns.org
Thu Dec 13 02:07:03 UTC 2012
On Thu, 2012-12-13 at 02:06 +0100, Ronald Klop wrote:
> Hello,
>
> I succeeded in installing and booting my kernel (SHEEVAPLUG 10-current
> from 22 nov.) from nandfs. I followed all the advise at
> http://wiki.freebsd.org/NAND. But the rootfs will not mount/start.
>
> The end of the bootinfo is this:
> cryptosoft0: <software crypto>
> Timecounters tick every 1.000 msec
> ipfw2 initialized, divert loadable, nat loadable, default to accept,
> logging disabled
> usbus0: 480Mbps High Speed USB v2.0
> ugen0.1: <Marvell> at usbus0
> uhub0: <Marvell EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
> uhub0: 1 port with 1 removable, self powered
> Root mount waiting for: usbus0
> ugen0.2: <USB 2.0> at usbus0
> umass0: <USB 2.0 USB Flash Drive, class 0/0, rev 2.00/11.00, addr 2> on
> usbus0
> umass0: SCSI over Bulk-Only; quirks = 0x4000
> umass0:0:0:-1: Attached to scbus0
> Trying to mount root from nandfs:/dev/gnand0s.root []...
> WARNING: NANDFS is considered to be a highly experimental feature in
> FreeBSD.
> (probe0:umass-sim0:0:0:0): INQUIRY. CDB: 12 0 0 0 24 0
> (probe0:umass-sim0:0:0:0): CAM status: CCB request completed with an error
> (probe0:umass-sim0:0:0:0): Retrying command
> da0 at umass-sim0 bus 0 scbus0 target 0 lun 0
> da0: <USB 2.0 USB Flash Drive 1100> Removable Direct Access SCSI-0 device
> da0: 40.000MB/s transfers
> da0: 3894MB (7975296 512 byte sectors: 255H 63S/T 496C)
>
> The kernel is responsive because if I remove or insert the usb stick it
> displays messages about it. (Not shown above)
> I'm connected via serial. What could be wrong? What information can I give
> more?
> I installed /dev/gnand0s.root by tarring the content of / on my usb stick
> to the mounted /dev/gnand0s.root. That looked ok.
>
> Regards,
> Ronald.
Hmm, so the root mount happens, but init never gets started, or never
gets far enough to show signs of being started. Mounting root is
invoked from sys/kern/init_main.c, I guess what I'd do next is add some
printfs in there to see if vfs_mountroot() is returning and if so how
much farther it gets.
Hmmm, if your kernel is built with ALT_BREAK_TO_DEBUGGER then on the
serial console maybe you can CR ~ ^B and poke around. Hmmm, or maybe
not, because I just tried that on my dreamplug and it just spewed this
many times:
root at dpcur:/root # ~KDB: enter: Break to debugger
[ thread pid 10 tid 100002 ]
Stopped at kdb_enter+0x48:panic: mtx_lock() by idle thread 0xc3593c00 on sleep mutex pmap @ /local/build/staging/freebsd/dp10/src/sys/arm/arm/pmap.c:3662
panic: mtx_lock() by idle thread 0xc3593c00 on sleep mutex eventhandler @ /local/build/staging/freebsd/dp10/src/sys/kern/subr_eventhandler.c:251
KDB: enter: panic
and apparently recursed until it ran out of stack and locked up.
So I guess it'll be printf-debugging to the rescue. :)
I can confirm that this should be working. I've got a similar setup
going on Atmel arm chips, although I haven't sync'd up with -current for
a while, I'm at r241077 on that project. Right now I still load the
kernel from sdcard but root gets mounted from the nand and the system
runs. Performance is horrible (this is a low end arm, 180mhz), but it
works.
nand0: <AT91 Integrated NAND controller> mem 0xe0000000-0xefffffff on atmelarm0
nandbus0: <NAND bus> on nand0
onand0: <ONFI compliant NAND> on nandbus0
onand0: Found BBT table for chip
Timecounters tick every 10.000 msec
usbus0: 12Mbps Full Speed USB v1.0
ugen0.1: <Atmel> at usbus0
uhub0: <Atmel OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
mmcsd0: 1876MB <SD SU02G 8.0 SN 3406901 MFG 09/2010 by 48 SD> at mmc0 22.5MHz/1bit/64-block
Root mount waiting for: usbus0
uhub0: 2 ports with 2 removable, self powered
Root mount waiting for: usbus0
ugen0.2: <Novatel Inc.> at usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
ugen0.3: <Unknown> at usbus0 (disconnected)
Trying to mount root from nandfs:/dev/gnand0s.root []...
WARNING: NANDFS is considered to be a highly experimental feature in FreeBSD.
warning: no time-of-day clock registered, system time will not be set accurately
Starting file system checks:
-- Ian
More information about the freebsd-arm
mailing list