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