Date: Sat, 15 Dec 2012 17:39:31 +0100 From: "Ronald Klop" <ronald-freebsd8@klop.yi.org> To: freebsd-arm@freebsd.org Subject: Re: sheevaplug boot from nandfs hangs Message-ID: <op.wpc9v5ew8527sy@212-182-167-131.ip.telfort.nl> In-Reply-To: <1355364418.87661.489.camel@revolution.hippie.lan> References: <op.wo8dciyp8527sy@212-182-167-131.ip.telfort.nl> <1355364418.87661.489.camel@revolution.hippie.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 13 Dec 2012 03:06:58 +0100, Ian Lepore <freebsd@damnhippie.dyndns.org> wrote: > 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@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 Hi, Thanks for the hint. Compiling a new kernel with printf now. I saw bootverbose also prints more information. How do I enable that on ARM from the bootprompt? NB: break to debugger works on my Sheevaplug. But I am not familiar with its commands to see what it is doing. Can I force a coredump and would somebody be interested to look at it? Ronald.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?op.wpc9v5ew8527sy>