------------------------------------------------------ The Completely Unsupported, Unsponsored, Unsanctioned and Poorly Maintained Compaq x86 Server/FreeBSD FAQ 1st Revision 02/29/00 Author: Anonymous ----------------------------------------------------- This document describes some known issues which may be encountered when running FreeBSD on Intel architecture- based servers from Compaq Computer Corporation. Note that *BSD is not supported by Compaq Computer Corporation in any way whatsoever. This document is specific to FreeBSD 3.4 and FreeBSD 4.0RC2 as made available from http://www.freebsd.org. FreeBSD.org and Compaq Computer Corporation are in no way responsible or liable for the information found in this document or the future maintenance of this document. This FAQ is not anywhere close to being complete. It is meant to be a starting point for others. Feel free to adopt this FAQ as your own and modify it as you see fit. The original author asks only that reasonable dilligence be applied to keep the information as accurate as possible. "Take this FAQ... Please!" - the Author ----------------- Table of Contents ----------------- 1. What Compaq hardware is known to work with FreeBSD? 1.1 Which Compaq servers has FreeBSD been installed on successfully? 1.1.1 What configuration did the author use when writing this FAQ? 1.2 Which Compaq Array Controllers work with FreeBSD? 1.3 Which Compaq Network Interface Controllers work with FreeBSD? 1.4 Which Compaq Graphics Controllers are known to work with FreeBSD? 2. How should the server hardware be configured before installing FreeBSD? 2.1 Which Operating System should I select when initially configuring the server with the Compaq System Configuration Utility? 2.1.1 Why did the tlan driver fail to initialize with the message: "tl0: couldn't map interrupt"? 2.2 Should I install a Compaq System Partition? 2.3 Are there any particular PCI slots in which various adapter cards should be installed? 2.4 Are there any particular IRQ settings which should be used for various types of adapter cards? 2.5 How should the SMART Array controller be configured? 3. Are there any operating system installation issues that I should be aware of? 3.1 Are there any installation considerations when using a Compaq SMART Array Controller? 3.2 Are there any installation considerations when using a Compaq NetFlex or Netelligent NIC? 4. The OS is installed. Is there anything else I should know? 4.1 How can I make the kernel use > 16MB RAM? 4.1.1 Why is my system running so slow? 4.1.2 Why is my disk thrashing so much? 4.1.3 Why is my system swapping all the time? 4.2 How do I configure a kernel with support for Compaq Smart Array controllers? 4.2.1 Why wasn't my SMART Array Controller found by the kernel? 4.2.2 My CD-ROM drive or IDE hard drive is missing. What happened? 4.3 How can I enable multiprocessor support? ============================================================================= 1. What Compaq hardware is known to work with FreeBSD? Unfortunately, this is a short list at this time. The author of this FAQ feels that all modern Compaq x86 server platforms and server peripherals will run FreeBSD without much fussing about. Since FreeBSD is currently unsupported by Compaq, there is no list of officially tested or certified Compaq hardware available. The author of this FAQ can only speak of hardware which he has tested personally. Use the information at your own risk. Feel free to adopt the FAQ as your own and update it with information gained from your own experiences. 1.1 On which Compaq servers has FreeBSD been successfully installed? Compaq Proliant 5500 PIII Xeon 1.1.1 What configuration did the author use when writing this FAQ? Compaq Proliant 5500 (2) Pentium III Xeon 400/100MHz 512k Cache Microprocessors 128MB RAM Integrated ATI RAGE IIC (1280x1024x8bpp) (ATI Mach64 X Server) Integrated Symbios 53C875 SCSI Controller (NCR Driver) SMART-2SL, SMART-2/P Array Controllers (IDA Driver) Smart Array 221 Array Controller (IDA Driver) Netelligent 10/100 TX UTP NIC (TI ThunderLAN Driver) The server was configured with both FreeBSD 3.4 and FreeBSD 4.0 Release Candidate 2. No issues other than those addressed by this FAQ were discovered. 1.2 Which Compaq array controllers work with FreeBSD? The source code for the IDA driver in FreeBSD 4.0 mentions the following Compaq controllers specifically: Compaq SMART-2/P Compaq SMART-2SL Compaq Smart Array 3200 Compaq Smart Array 3100ES Compaq Smart Array 221 1.3 Which Compaq Network Interface Controllers have been found to work with FreeBSD? The source code for the TLAN driver mentions the following Compaq NICs specifically: Compaq Netelligent 10 Compaq Netelligent 10/100 Compaq Netelligent 10/100 Proliant Compaq Netelligent 10/100 Dual Port Compaq Netelligent 10/100 TX Embedded UTP Compaq Netelligent 10 T/2 PCI UTP/Coax Compaq Netelligent 10/100 TX UTP Compaq NetFlex 3/P Compaq NetFlex 3/P w/BNC 1.4 Which Graphics controllers are known to work with FreeBSD? Integrated ATI RAGE IIC 2. How should the server hardware be configured before installing a FreeBSD operating system? It's probably best to start a new OS installation with a "clean", unconfigured server. To reset the server to its factory default configuration, boot the server with a Compaq SmartStart CD and run the "System Erase Utility." NOTE! THIS WILL ERASE ALL CONFIGURATION INFORMATION AS WELL AS ALL DATA ON ALL ATTACHED HARD DRIVES! YOU HAVE BEEN WARNED!!! After running the System Erase Utility, it will be necessary to reboot the server using the SmartStart CD and then follow the prompts to configure the server. It will be necessary to select the "Manual Configuration" Installation Path when the options is presented. It will also be necessary to run the Array Configuration Utility, if applicable, and install the System Partition. SmartStart will automatically walk you through these steps after the System Erase utility has been run. 2.1 Which Operating System should I select when initially configuring the server with the System Configuration Utility? It has been found that selecting SCO UnixWare 2.1 as the intended operating system will configure the hardware correctly for FreeBSD. Most importantly, the I/O APIC mode will be set to Full Table Mapped. This is one of the settings made automatically when selecting UnixWare 2.1 as the OS. 2.1.1 Why did the tlan driver fail to initialize with the message: "tl0: couldn't map interrupt"? Multiprocessor support has been enabled in the kernel, but the wrong OS was configured with the System Configuration Utility. The simplest way to fix this is to set the operating system type to UnixWare 2.1. 2.2 Should I install a Compaq System Partition? While not strictly necessary, future configuration changes will be much faster when the System Configuration Utility is run from the hard drive rather than from CD-ROM or floppy diskettes. Obviously, you are not as likely to misplace the hard drive. The Compaq System Partition is recognized by FreeBSD as the "Compaq Diagnostic" partition and is automatically accessible from the FreeBSD Boot Manager. It will be clearly marked within the fdisk utility. 2.3 Are there any particular PCI slots in which various adapter cards should be installed? It may be necessary to determine whether or not the server has multiple PCI buses. If it does, the array controller should be installed in a slot on the primary bus. It is a good idea to balance out I/O activity across multiple buses if applicable. Information regarding each server model's bus and slot implementation can be found in the documentation that was delivered with the server. 2.4 Are there any particular IRQ settings which should be used for various types of adapter cards? The important thing to consider is how IRQ's are shared between devices. Only devices of the same type should be configured to share IRQ's. Changing a standard device's IRQ (such as for the PS/2 mouse) may require some kernel hacking. It would be especially prudent to check that the System Configuration Utility chose IRQs wisely when third party adapters have been installed. 2.5 How should the SMART Array controller be configured? The installation kernel does not include the IDA driver, which is the driver for Compaq SMART Array controllers. Additionally, the IDA driver "steals" the major number from the WD IDE driver. If the installation kernel were to include the IDA driver, the IDE CD-ROM drive would not be useable as an installation device. The simple thing to do is configure the SMART Array controller as a secondary controller and use a small SCSI drive as the boot device. This is done by configuring the "Controller Order" field within the System Configuration utility as "First" for the integrated SCSI controller and "Second" for the SMART Array controller. It should be possible to create a kern.flp diskette with a kernel that includes the IDA driver and then perform a network installation or install the OS from a SCSI CD-ROM drive. Before drives attached to a SMART Array Controller can be accessed, logical drives must be configured by using the Compaq Array Configuration Utility. You did run the System Erase Utility, right? 3. Are there any operating system installation issues that I should be aware of? Modern Compaq x86 architecture servers are configured with IDE CD-ROM drives and Symbios SCSI controllers. In most cases, you should be able to simply boot from the FreeBSD CD-ROM and install the OS as usual. Be careful when partitioning the disk that the "Compaq Diagnostic" partition is not changed or deleted. 3.1 Are there any operating system installation considerations when using a Compaq SMART Array Controller? The installation kernel does not contain support for Compaq SMART Array controllers. Unless a custom boot diskette is created, SMART controllers will not be accessible during the OS installation. Additionally, the SMART/IDA driver "steals" the major number assigned to the WD IDE driver, rendering the IDE CD-ROM drive unuseable. 3.2 Are there any installation considerations when using a Compaq NetFlex or Netelligent NIC? When configuring the Network Interface, Compaq NICs based on the Texas Instruments ThunderLAN chip will be listed as such, not as Compaq NICs. 4. The OS is installed. Is there anything else I should know? You will probably want to build a custom kernel. The steps are as follows: - Change the working directory to: /usr/src/sys/i386/conf - Copy the configuration file GENERIC to a new file. In this example, we use the name "LOCAL" - Edit LOCAL and make the appropriate changes. (The file LINT contains descriptions of all of the possible settings that can be made.) - Execute the command 'config LOCAL' - Change the working directory to: ../../compile/LOCAL - Execute the commands 'make depend', 'make' and 'make install' NOTE: The original kernel is retained as kernel.GENERIC. If the new kernel won't boot, it should be possible to boot by specifying kernel.GENERIC at the boot prompt. 4.1 How can I make the kernel use > 16MB RAM? 4.1.1 Why is my system running so slow? 4.1.2 Why is my disk thrashing so much? 4.1.3 Why is my system swapping all the time? FreeBSD release 3.4 and earlier may not detect more than 16MB of system RAM. FreeBSD 4.0RC does not have this problem. The older kernels can be configured to use more RAM by following these steps: Edit your local kernel configuration file as described in section 4 and add the following line: options "MAXMEM=(1024*amount_of_ram_in_MB)" For example, if the server has 512MB or RAM, add this line: options "MAXMEM=(1024*512)" Compile and install the new kernel and reboot. To make sure that it worked, the command "dmesg | grep memory" will display the amount of memory that the kernel will use. 4.2 How do I configure a kernel with support for Compaq Smart Array controllers? Edit your local kernel configuration file as described in section 4 and add the following lines: For release 3.4: controller ida0 at isa? bio irq ? vector idaintr disk id0 at ida0 drive 0 For release 4.0RC2: device ida device id Compile and install the new kernel and reboot. 4.2.1 Why wasn't my SMART Array Controller found by the kernel? Most likely you just need to create a custom kernel with the IDA driver added in. See section 4.2 of this FAQ. 4.2.2 My CD-ROM drive or IDE hard drive is missing. What happened? You probably reconfigured the kernel with support for SMART Array Controllers. See section 3.1 of this FAQ. 4.3 How can I enable multiprocessor support? Edit your local kernel configuration file as described in section 4 and uncomment the following two lines: options SMP options APIC_IO Note: The other SMP options can (and probably should) remain commented out. Compile and install the new kernel and reboot.