Re: Booting from usb hard disk

From: Robert Noland <rnoland_at_FreeBSD.org>
Date: Mon, 30 Mar 2009 13:37:18 -0500
On Mon, 2009-03-30 at 19:34 +0100, Paul B. Mahol wrote:
> On 3/30/09, Andrew Thompson <thompsa_at_freebsd.org> wrote:
> > On Mon, Mar 30, 2009 at 06:03:33PM +0100, Paul B. Mahol wrote:
> >> On 3/30/09, Andrew Thompson <thompsa_at_freebsd.org> wrote:
> >> > On Mon, Mar 30, 2009 at 04:04:17PM +0100, Paul B. Mahol wrote:
> >> >> On 3/30/09, Andrew Thompson <thompsa_at_freebsd.org> wrote:
> >> >> > 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:
> >> >> >> >
> >> >> >> > 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
> >> >>
> >> >> Hmm, this is supposed to fix issue when trying to boot from usb disk
> >> >> with UP kernel?
> >> >
> >> > This is to address the issue where the usb disk hasnt been attached by
> >> > the time the root filesystem is mounted. ie, you are booting from usb.
> >> >
> >> > If your problem is different then please say.
> >>
> >> On SMP booting from usb works (kern.cam.scsi_delay=2000), da0 will appear
> >> after user is asked to enter root mount point, and pressing ? will show
> >> ufs:da0s1a. On UP it doesnt work, ufs:da0s1a is not available.
> >> I thought it may be related to scsi_delay but increasing it was not
> >> solution.
> >
> > Well the patch should (hopefully) fix this and you will no longer need
> > to set the scsi delay. Please test! :)
> 
> With 2000 it works for both UP & SMP but setting scsi_delay to 50000 caused
> text to scroll forever, waiting for CAM.
> 
> Could scsi_delay get removed?

Well, the default value on HEAD is 5000, I just doubled that and it
worked for me...

robert.

> 
-- 
Robert Noland <rnoland_at_FreeBSD.org>
FreeBSD

Received on Mon Mar 30 2009 - 16:37:54 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:45 UTC