Booting from usb hard disk

Andrew Thompson thompsa at FreeBSD.org
Sun Mar 29 23:10:43 PDT 2009


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


More information about the freebsd-current mailing list