Troubleshooting Repairing an Existing &os; Installation &os; features a Fixit option in the top menu of the boot floppy. To use it, you will also need either a fixit.flp image floppy, generated in the same fashion as the boot floppy, or the live filesystem CDROM; typically the second CDROM in a multi-disc &os; distribution. To invoke fixit, simply boot the kern.flp floppy, choose the Fixit item and insert the fixit floppy or CDROM when asked. You will then be placed into a shell with a wide variety of commands available (in the /stand and /mnt2/stand directories) for checking, repairing and examining filesystems and their contents. Some UNIX administration experience is required to use the fixit option. Common Installation Problems for &arch.print; Architecture Users My system hangs while probing hardware during boot, or it behaves strangely during install, or the floppy drive isn't probed. &os; 5.0 and above makes extensive use of the system ACPI service on the i386 platform to aid in system configuration if it's detected during boot. Unfortunately, some bugs still exist in both the ACPI driver and within system motherboards and BIOS. The use of ACPI can be disabled by setting the hint.acpi.0.disabled hint in the third stage boot loader: set hint.acpi.0.disabled="1" This is reset each time the system is booted, so it is necessary to add hint.acpi.0.disabled="1" to the file /boot/loader.conf. More information about the boot loader can be found in the FreeBSD Handbook. My system uses the nVidia nForce3 Pro-150 chipset and I get hangs at the end of boot or suddenly starts losing interrupts. There are problems with the apic on this chipset and/or the bios on every machine that we had seen at the time of release. While disabling ACPI as above will work, a less drastic option may be to set the hint.apic.0.disabled hint instead. If you have the option in the bios, try disabling the APIC support. Unfortunately some machines lack this option. My legacy ISA device used to be recognized in previous versions of &os;, but now it's not. What happened? Some device drivers, like matcd, were removed over time due to lack of maintainership or other reasons. Others still exist but are disabled because of their intrusive hardware probe routines. The following ISA device drivers fall into this category and can re-enabled from the third stage boot loader: aha, ahv, aic, bt, ed, cs, sn, ie, fe, le, and lnc. To do this, stop the loader during it's 10 second countdown and enter the following at the prompt: unset hint.foo.0.disabled where foo is the name of the driver to re-enable. This can be set permanently by editing the file /boot/device.hints and removing the appropriate disabled entry. I go to boot from the hard disk for the first time after installing &os;, the kernel loads and probes my hardware, but stops with messages like: changing root device to ad1s1a panic: cannot mount root What is wrong? What can I do? What is this bios_drive:interface(unit,partition)kernel_name thing that is displayed with the boot help? There is a longstanding problem in the case where the boot disk is not the first disk in the system. The BIOS uses a different numbering scheme to &os;, and working out which numbers correspond to which is difficult to get right. In the case where the boot disk is not the first disk in the system, &os; can need some help finding it. There are two common situations here, and in both of these cases, you need to tell &os; where the root filesystem is. You do this by specifying the BIOS disk number, the disk type and the &os; disk number for that type. The first situation is where you have two IDE disks, each configured as the master on their respective IDE busses, and wish to boot &os; from the second disk. The BIOS sees these as disk 0 and disk 1, while &os; sees them as ad0 and ad2. &os; is on BIOS disk 1, of type ad and the &os; disk number is 2, so you would say: 1:ad(2,a)kernel Note that if you have a slave on the primary bus, the above is not necessary (and is effectively wrong). The second situation involves booting from a SCSI disk when you have one or more IDE disks in the system. In this case, the &os; disk number is lower than the BIOS disk number. If you have two IDE disks as well as the SCSI disk, the SCSI disk is BIOS disk 2, type da and &os; disk number 0, so you would say: 2:da(0,a)kernel To tell &os; that you want to boot from BIOS disk 2, which is the first SCSI disk in the system. If you only had one IDE disk, you would use '1:' instead. Once you have determined the correct values to use, you can put the command exactly as you would have typed it in the /boot.config file using a standard text editor. Unless instructed otherwise, &os; will use the contents of this file as the default response to the boot: prompt. I go to boot from the hard disk for the first time after installing &os;, but the Boot Manager prompt just prints F? at the boot menu each time but the boot won't go any further. The hard disk geometry was set incorrectly in the Partition editor when you installed &os;. Go back into the partition editor and specify the actual geometry of your hard disk. You must reinstall &os; again from the beginning with the correct geometry. If you are failing entirely in figuring out the correct geometry for your machine, here's a tip: Install a small DOS partition at the beginning of the disk and install &os; after that. The install program will see the DOS partition and try to infer the correct geometry from it, which usually works. The following tip is no longer recommended, but is left here for reference:
If you are setting up a truly dedicated &os; server or workstation where you don't care for (future) compatibility with DOS, Linux or another operating system, you've also got the option to use the entire disk (`A' in the partition editor), selecting the non-standard option where &os; occupies the entire disk from the very first to the very last sector. This will leave all geometry considerations aside, but is somewhat limiting unless you're never going to run anything other than &os; on a disk.
The &man.mcd.4; driver keeps thinking that it has found a device and this stops my Intel EtherExpress card from working. Use the UserConfig utility (see HARDWARE.TXT) and disable the probing of the mcd0 and mcd1 devices. Generally speaking, you should only leave the devices that you will be using enabled in your kernel. The system finds my &man.ed.4; network card, but I keep getting device timeout errors. Your card is probably on a different IRQ from what is specified in the kernel configuration. The ed driver does not use the `soft' configuration by default (values entered using EZSETUP in DOS), but it will use the software configuration if you specify ? in the IRQ field of your kernel config file. Either move the jumper on the card to a hard configuration setting (altering the kernel settings if necessary), or specify the IRQ as -1 in UserConfig or ? in your kernel config file. This will tell the kernel to use the soft configuration. Another possibility is that your card is at IRQ 9, which is shared by IRQ 2 and frequently a cause of problems (especially when you have a VGA card using IRQ 2!). You should not use IRQ 2 or 9 if at all possible. I booted the install floppy on my IBM ThinkPad (tm) laptop, and the keyboard is all messed up. Older IBM laptops use a non-standard keyboard controller, so you must tell the keyboard driver (atkbd0) to go into a special mode which works on the ThinkPads. Change the atkbd0 'Flags' to 0x4 in UserConfig and it should work fine. (Look in the Input Menu for 'Keyboard'.) My system can not find my Intel EtherExpress 16 card. You must set your Intel EtherExpress 16 card to be memory mapped at address 0xD0000, and set the amount of mapped memory to 32K using the Intel supplied softset.exe program. When installing on an EISA HP Netserver, my on-board AIC-7xxx SCSI controller isn't detected. This is a known problem, and will hopefully be fixed in the future. In order to get your system installed at all, boot with the option into UserConfig, but don't use the pretty visual mode but the plain old CLI mode. Type: eisa 12 quit at the prompt. (Instead of `quit', you might also type `visual', and continue the rest of the configuration session in visual mode.) While it's recommended to compile a custom kernel, dset now also understands to save this value. Refer to the FAQ topic 5.3 for an explanation of the problem, and for how to continue. Remember that you can find the FAQ on your local system in /usr/share/doc/FAQ, provided you have installed the `doc' distribution. I have a Panasonic AL-N1 or Rios Chandler Pentium machine and I find that the system hangs before ever getting into the installation now. Your machine doesn't like the new i586_copyout and i586_copyin code for some reason. To disable this, boot the installation boot floppy and when it comes to the very first menu (the choice to drop into kernel UserConfig mode or not) choose the command-line interface (expert mode) version and type the following at it: flags npx0 1 Then proceed normally to boot. This will be saved into your kernel, so you only need to do it once. I have this CMD640 IDE controller that is said to be broken. &os; does not support this controller. On a Compaq Aero notebook, I get the message No floppy devices found! Please check ... when trying to install from floppy. With Compaq being always a little different from other systems, they do not announce their floppy drive in the CMOS RAM of an Aero notebook. Therefore, the floppy disk driver assumes there is no drive configured. Go to the UserConfig screen, and set the Flags value of the fdc0 device to 0x1. This pretends the existence of the first floppy drive (as a 1.44 MB drive) to the driver without asking the CMOS at all. When installing on a Dell Poweredge XE, Dell proprietary RAID controller DSA (Dell SCSI Array) isn't recognized. Configure the DSA to use AHA-1540 emulation using EISA configuration utility. After that &os; detects the DSA as an Adaptec AHA-1540 SCSI controller, with irq 11 and port 340. Under emulation mode system will use DSA RAID disks, but you cannot use DSA-specific features such as watching RAID health. I have an IBM EtherJet PCI card, it is detected by the &man.fxp.4; driver correctly, but the lights on the card don't come on and it doesn't connect to the network. We don't understand why this happens. Neither do IBM (we asked them). The card is a standard Intel EtherExpress Pro/100 with an IBM label on it, and these cards normally work just fine. You may see these symptoms only in some IBM Netfinity servers. The only solution is to install a different Ethernet adapter. When I configure the network during installation on an IBM Netfinity 3500, the system freezes. There is a problem with the onboard Ethernet in the Netfinity 3500 which we have not been able to identify at this time. It may be related to the SMP features of the system being misconfigured. You will have to install another Ethernet adapter and avoid attempting to configure the onboard adapter at any time. When I install onto a drive managed by a Mylex PCI RAID controller, the system fails to boot (eg. with a read error message). There is a bug in the Mylex driver which results in it ignoring the 8GB geometry mode setting in the BIOS. Use the 2GB mode instead.