Date: Mon, 7 Feb 2011 16:56:11 +0100 From: Maciej Milewski <milu@dat.pl> To: freebsd-arm@freebsd.org Subject: Re: Re: FreeBSD on a DockStar - doesn't mount root Message-ID: <201102071656.11633.milu@dat.pl> In-Reply-To: <20110207163835.41be5884.torfinn.ingolfsen@broadpark.no> References: <20110206181659.869861bf.torfinn.ingolfsen@broadpark.no> <201102062331.01760.hselasky@c2i.net> <20110207163835.41be5884.torfinn.ingolfsen@broadpark.no>
next in thread | previous in thread | raw e-mail | index | archive | help
Monday 07 of February 2011 16:38:35 Torfinn Ingolfsen napisa=B3(a): > Hello, =2E.. > So it seems like this isn't a "delay" type problem. =46rom these dmesg lines you posted in your first mail it looked that is to= o=20 short time for kernel to recognize the usb device. I had similar problems o= n=20 mips RS/RSPRO boards and had to use small patch to make the delay longer. I= =20 admit that I didn't know of kern.cam.boot_delay that time and haven't tried= it=20 on my boards. 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 =2D-- a/sys/kern/vfs_mountroot.c +++ b/sys/kern/vfs_mountroot.c @@ -87,6 +87,8 @@ __FBSDID("$FreeBSD$"); =20 static int parse_mount(char **); static struct mntarg *parse_mountroot_options(struct mntarg *, const char = *); +static int mount_root_delay =3D 4; +TUNABLE_INT("mount_root_delay", &mount_root_delay); =20 /* * 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)) { =2D mtx_unlock(&mountlist_mtx); =2D break; + if(0 =3D=3D 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=20 secs...",mount_root_delay); printf("\n"); } msleep(&root_holds, &mountlist_mtx, PZERO | PDROP, "roothol= d", Regards, Maciej Milewski
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201102071656.11633.milu>