Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Aug 1997 10:47:55 -0500
From:      Zach Heilig <zach@gaffaneys.com>
To:        Leif Neland <leif@roskildebc.dk>
Cc:        questions@freebsd.org
Subject:   Re: boot from SCSI without bios or beyond cylinder 512
Message-ID:  <19970827104755.28673@gaffaneys.com>
In-Reply-To: <3.0.3.32.19970826110115.007b3a70@roskihs.roskildebc.dk>; from Leif Neland <leif@roskildebc.dk> on Tue, Aug 26, 1997 at 11:01:15AM %2B0200
References:  <3.0.3.32.19970826110115.007b3a70@roskihs.roskildebc.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
If you haven't yet found a working solution, this is what worked for me:

[ I only did this once when I installed FreeBSD, so this is only a general
  guide, and I may have left out an important step...  I too had the no
  SCSI bios problem ]

Make sure you have installed the kernel source installed in /usr/src/sys/.

Since you have already installed FreeBSD, you need to boot the install floppy,
and choose the 'Start an Emergency Holographic Shell' option (it's under the
'fixit' menu option).  Now, you have a shell that does not tie up a floppy
disk (this part is good, you need the floppy free, so do not choose 'Use a
floppy generated...'  option).

Then, you need to mount your partitions, for example:

mount /dev/sd0a /mnt
mount /dev/sd0s1f /usr
mount /dev/sd0s1e /var
swapon /dev/sd0s1b
[ run fsck on the partitions if they refuse to mount ]

To avoid problems while compiling, you need to fix up the environment
somewhat.  The most important is that /tmp has to be a symbolic link to more
space (like /mnt/tmp).  You may also want to fix /bin and /sbin to be symbolic
links into /mnt/bin and /mnt/sbin as well.  The root partition is an MFS
filesystem at this point, so what you have done above won't be permanent.  It
helps to have a copy of the /stand directory from the fixit floppy in case you
mess something up.

Now, the system will act close enough to a normal system for you to build a
kernel.

Make sure the various bin directories are on your path (/bin,/sbin,/usr/bin,
/usr/sbin, /mnt/stand, ...).

Change directories to /usr/src/sys/i386/conf.  Copy the GENERIC file and edit
the copy.  Change at least the line that says:

config kernel root on wd0

to:

config kernel root on sd0

As long as you have to compile a custom kernel, you may as well change
the other lines to reflect your hardware (using the user config editor
is a bit tricky in this situation).

Now type 'config <name-you-copied-generic-to>'

Change to the directory output as the result of the above, and type 'make'.

You will need to format a floppy in /dev/fd0, I use this script:

fdformat -q fd0.1440
disklabel -B -r -w fd0.1440 fd1440
newfs -t 2 -u 18 -l 1 -i 65536 fd0.1440

[ replace all the 1440's with the real size of your floppy ].

mount that floppy, and cp /usr/src/sys/compile/.../kernel to the floppy, AND
to /mnt (don't forget this last bit, you may have to 'chflags noschg
/mnt/kernel', you should also 'chflags schg /mnt/kernel' when you are done).
Umount the floppy and reboot.

When the FreeBSD boot message comes up, use the '-r' option at the
prompt.

Your system _should_ come up normally...

-- 
Zach Heilig (zach@gaffaneys.com)



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