Date: Sat, 15 Dec 2012 18:51:23 +0100 From: "Ronald Klop" <ronald-freebsd8@klop.yi.org> To: freebsd-arm@freebsd.org Subject: Re: sheevaplug boot from nandfs hangs Message-ID: <op.wpdc7xlc8527sy@212-182-167-131.ip.telfort.nl> In-Reply-To: <op.wpc9v5ew8527sy@212-182-167-131.ip.telfort.nl> References: <op.wo8dciyp8527sy@212-182-167-131.ip.telfort.nl> <1355364418.87661.489.camel@revolution.hippie.lan> <op.wpc9v5ew8527sy@212-182-167-131.ip.telfort.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 15 Dec 2012 17:39:31 +0100, Ronald Klop <ronald-freebsd8@klop.yi.org> wrote: > 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. I also defaulted bootverbose to 1 in init_main.c. Now I get this. ipfw2 initialized, divert loadable, nat loadable, default to accept, logging disabled lo0: bpf attached GEOM: new disk gnand0 GEOM: new disk gnand.raw0 usbus0: 480Mbps High Speed USB v2.0 gnand0: slice 00000000-001fffff: u-boot (2047KB) gnand0: slice 00200000-007fffff: fbsd-boot (6143KB) gnand0: slice 00800000-1fffffff: root (516095KB) ugen0.1: <Marvell> at usbus0 uhub0: <Marvell EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0 gnand.raw0: slice 00000000-001fffff: u-boot (2047KB) gnand.raw0: slice 00200000-007fffff: fbsd-boot (6143KB) gnand.raw0: slice 00800000-1fffffff: root (516095KB) uhub0: 1 port with 1 removable, self powered Trying to mount root from nandfs:/dev/gnand0s.root []... WARNING: NANDFS is considered to be a highly experimental feature in FreeBSD. mountroot: unable to remount devfs under /dev (error 2). mountroot: unable to unlink /dev/dev (error 2) after vfs_mountroot() start_init: trying /sbin/init The 'after vfs_mountroot()' is my own printf. I also verified sys_execve of /sbin/init returned 0. How do I go from here? Ronald.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?op.wpdc7xlc8527sy>