Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Mar 2009 23:10:36 -0700
From:      Andrew Thompson <thompsa@FreeBSD.org>
To:        Robert Noland <rnoland@FreeBSD.org>
Cc:        freebsd-current@freebsd.org, Nenhum_de_Nos <matheus@eternamente.info>
Subject:   Re: Booting from usb hard disk
Message-ID:  <20090330061036.GA83528@citylink.fud.org.nz>
In-Reply-To: <1237884572.1771.28.camel@balrog.2hip.net>
References:  <1237804575.1771.7.camel@balrog.2hip.net> <fd2392216bb33e5b66f8fe79459e45e2.squirrel@cygnus.homeunix.com> <1237884572.1771.28.camel@balrog.2hip.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Mar 24, 2009 at 03:49:32AM -0500, Robert Noland wrote:
> On Mon, 2009-03-23 at 19:40 -0300, Nenhum_de_Nos wrote:
> > On Mon, March 23, 2009 07:36, Robert Noland wrote:
> > > So I have my i386 install on a usb hard disk, which I can only boot on
> > > one machine now.  The one machine that I can make work has a bios option
> > > that reads "BIOS ehci handoff".  This used to work with the old usb
> > > stack.  The machines that it doesn't work on, boot the kernel, but fail
> > > to mount root, giving me the forbidding mountroot> prompt, which is
> > > immediately followed by the message saying that da0 is attached.  da0 is
> > > however not listed in the available boot devices list.  I tried playing
> > > around with the timeout in vfs_mount.c, but that didn't seem to have any
> > > impact.  It has been suggested that this may be a "geom" timeout, but I
> > > don't know anything about the boot system really.
> > 
> > I had problem a while ago with via mini itx hardware, that was quite
> > close. If I try boot from usb (installed in usb hdd), I get to the point
> > of loader not finding my disk.
> > 
> > I then used a small flash disk attached to the ata (44 pin ide) channel
> > and formatted /boot in there. this way I get to the point of mount root
> > you said, and da0 not being alive soon enough to mount root. list disks
> > also couldn't find da0 though.
> > 
> > I tried current from that time, and no good.
> > 
> > if this is solved, I'll be happy to try whatever patch to current. (as
> > long as I can install it from another box/or its ata channel, as it can't
> > boot vanilla 7.1R)
> 
> So, my solution was to set kern.cam.scsi_delay=10000
> in /boot/loader.conf

The following patch should work. It creates interleaving root hold
tokens from the CAM probe to disk_create and geom providor tasting.
I had to add a malloc type flag as sleeping isnt allowed at the point I
added the token alloc in CAM.

http://people.freebsd.org/~thompsa/root_wait.diff

It needs review by the various geom/cam ppls.


Andrew



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090330061036.GA83528>