Booting from usb hard disk

Paul B. Mahol onemda at gmail.com
Mon Mar 30 10:03:36 PDT 2009


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.

-- 
Paul


More information about the freebsd-current mailing list