Skip site navigation (1)Skip section navigation (2)
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>