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>