Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Mar 1996 15:21:06 -0500 (EST)
From:      cau@cc.gatech.edu (Carlos Ugarte)
To:        wes@intele.net
Cc:        questions@FreeBSD.ORG
Subject:   Re: Booting off SCSI disks when two IDE disks also installed.
Message-ID:  <199603242021.PAA17503@oscar.cc.gatech.edu>
In-Reply-To: <199603240736.AAA01522@obie.softweyr.com> from "wes@intele.net" at Mar 24, 96 00:36:31 am

next in thread | previous in thread | raw e-mail | index | archive | help

> I've recently added an Adaptec SCSI controller to my system, which
> already has two IDE drives.  I would like to boot FreeBSD from the
> SCSI disk, but this doesn't seem to be working.  I'm certain I have
> the boot ROMs enabled on the SCSI adapter, and the SCSI drive contains
> the GENERICAH kernel from the 2.1.0 CD-ROM.

I had the same problem a while back when I first installed
(also 2.1.0-RELEASE).  I also have 2 IDEs and 1 SCSI, and FreeBSD
was going to the SCSI drive.  It is possible to have it run like
this; while the method I used may not be the best, it was quick
'n easy and seems to work fine.

I have OS-BS (the beta, I forget the version #) installed, and
boot DOS (1st IDE), OS/2 (2nd IDE) and FreeBSD (1st SCSI).  (FWIW,
OS/2's Boot Manager will also boot the three OSs from the 3
hds).  I had to patch one thing to get FreeBSD to load.

Basically, what happens is that in this case (2 IDEs and 1 SCSI,
probably others too), the biosboot program does not pass the
correct root/boot device/partition to the kernel.  You should be
able to boot up fine by disabling the 2 IDEs in your CMOS setup.
Once you're up, you can edit /usr/src/sys/i386/boot/biosboot/boot.c,
shortly before the call to startprog().  It seems that at this
point, unit holds the drive # (0 for 1st IDE, 1 for 2nd, 2 for
SCSI).  When it gets passed to the kernel, through startprog()
the bootdev param, the kernel then assumes that the boot device
is sd2 (I think).  My solution was to hardcode unit = 0 before
setting up bootdev through MAKEBOOTDEV() (yep, cheesy but it
works).  After that, compile, and run disklabel to install the
new biosboot.  Then you can re-enable the IDEs in the CMOS, and
with OS-BS (or another boot manager of your choice) you should be
able to boot fine.

Someone may have fixed this since; I have seen some patches to
the biosboot stuff, but haven't really looked at them.

Carlos

-- 
Carlos A. Ugarte                                cau@cc.gatech.edu
Author of PageMage, a virtual desktop util for OS/2
http://www.cc.gatech.edu/people/home/cau/
Computer Science Senior at Georgia Tech



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