The following tips and tricks may help you turn a
failing (or failed) installation attempt into a success.
Please read them carefully.
Cause: Last-minute problems with this driver caused it
to be disabled by default.
Solution: Boot with -c (described above) and set the
flags value of fdc0 to 1. This will re-enable the floppy
tape driver. Sorry, but it was causing problems for
other people!
Cause: You still have the old FreeBSD 1.x boot blocks on
your boot partition.
Solution: You should re-enter the installation process,
invoke the (F)disk editor and chose the (W)rite option.
This won't hurt an existing installation and will make
sure that the new boot blocks get written to the drive.
If you're installing for the first time, don't forget to
(W)rite out your new boot blocks! :-)
Cause: FreeBSD will actually install just fine on a
drive other than 0 (the first drive), and the boot
manager will even allow you to select it, but the boot
blocks rather pathologically assume 0. This should be
fixed in 2.1.
Solution: Easy - follow these steps:
1. Select the first (0) drive from the (F)disk editor
and write out the boot manager with the (B) option.
This will enable the boot manager that allows you to
actually boot off the other drive.
2. Exit the fdisk editor for the first drive and and
re-enter it again for the drive you wish to install
on. Set up a partition on this drive, or select
(A)ll for the entire drive.
3. Enter the disklabel editor and allocate space on
your second drive as normal. Proceed with the
installation.
4. Once you've installed on the disk and are going to
reboot from the hard disk, enter the following at
the boot prompt:
hd(1,a)/kernel
This will ensure that you really boot from the second
drive. If you've actually installed on a drive other
than 1 (the 3rd or 4th drive?), substitute that number
in for the above. You will need to enter this EVERY
time you reboot from the hard disk. If you're feeling
brave and have a srcdist + the requisite experience,
you can hack the boot blocks in:
/usr/src/sys/i386/boot/biosboot
So that this drive you're booting from is hard-coded.
Recompile the boot blocks and reinstall them on your
drive with `disklabel -B ...' You can then have the
default Do The Right Thing.
Cause: You have your SCSI controller configured to
translate geometries for disks >1GB in size.
Solution: Turn such translation OFF in your controller's
BIOS setup! FreeBSD has no problems with disks >1GB just
so long as the root partition starts and ends BELOW
cylinder 1024. This is a PC hardware limitation.
Cause: Root partition does not start and end below
cylinder 1024.
Solution: See solution for newfs crashes, or move your
root partition. This limitation holds true for ANY
operating system you wish to boot from your hard drive.
Cause: No boot code is installed in sector 1.
Solution: Chose the Write MBR (B)oot code in the FDISK
editor.
Cause: BIOS disk geometry different from that used when
installing FreeBSD.
Solution: With IDE drives, pay careful attention to the
geometry information that FreeBSD prints out when it's
first booting off the floppy. Use this geometry in your
BIOS setup or use the BIOS geometry when you install
FreeBSD. Either way, they have to match.
With SCSI drives, the values they report is most often
bogus and cannot be used. In this situation, the SCSI
controller is performing geometry translation and it's
probably wise to assume a default of 64 heads, 32 sectors
and 1MB/cylinder. Use these values when you install
FreeBSD. See above comments concerning newfs failures
for more info.