Date: Mon, 07 Feb 2011 10:13:06 -0700 From: Warner Losh <imp@bsdimp.com> To: freebsd-arm@FreeBSD.org Subject: Re: FreeBSD on a DockStar - doesn't mount root Message-ID: <4D502822.2020408@bsdimp.com> In-Reply-To: <201102071656.11633.milu@dat.pl> References: <20110206181659.869861bf.torfinn.ingolfsen@broadpark.no> <201102062331.01760.hselasky@c2i.net> <20110207163835.41be5884.torfinn.ingolfsen@broadpark.no> <201102071656.11633.milu@dat.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
On 02/07/2011 08:56, Maciej Milewski wrote: > Monday 07 of February 2011 16:38:35 Torfinn Ingolfsen napisał(a): >> Hello, > ... >> So it seems like this isn't a "delay" type problem. > From these dmesg lines you posted in your first mail it looked that is too > short time for kernel to recognize the usb device. I had similar problems on > mips RS/RSPRO boards and had to use small patch to make the delay longer. I > admit that I didn't know of kern.cam.boot_delay that time and haven't tried it > on my boards. I've used kern.cam.boot_delay on a RS-PRO board here that I run off the SD card, which is just a da device. Warner > I don't know the real author of that patch. > Additionally I'm booting my board using ufs label this way: > ufs:ufs/rootfs > > > diff --git a/sys/kern/vfs_mountroot.c b/sys/kern/vfs_mountroot.c > index 496ea70..1956419 100644 > --- a/sys/kern/vfs_mountroot.c > +++ b/sys/kern/vfs_mountroot.c > @@ -87,6 +87,8 @@ __FBSDID("$FreeBSD$"); > > static int parse_mount(char **); > static struct mntarg *parse_mountroot_options(struct mntarg *, const char *); > +static int mount_root_delay = 4; > +TUNABLE_INT("mount_root_delay",&mount_root_delay); > > /* > * The vnode of the system's root (/ in the filesystem, without chroot > @@ -917,13 +919,17 @@ vfs_mountroot_wait(void) > PICKUP_GIANT(); > mtx_lock(&mountlist_mtx); > if (LIST_EMPTY(&root_holds)) { > - mtx_unlock(&mountlist_mtx); > - break; > + if(0 == mount_root_delay--) { > + mtx_unlock(&mountlist_mtx); > + break; > + } > } > if (ppsratecheck(&lastfail,&curfail, 1)) { > printf("Root mount waiting for:"); > LIST_FOREACH(h,&root_holds, list) > printf(" %s", h->who); > + if (LIST_EMPTY(&root_holds)) > + printf(" %d > secs...",mount_root_delay); > printf("\n"); > } > msleep(&root_holds,&mountlist_mtx, PZERO | PDROP, "roothold", > > Regards, > Maciej Milewski > _______________________________________________ > freebsd-arm@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-arm > To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org" > > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D502822.2020408>