------------------------------------------------------
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.

    Source: geocities.com/siliconvalley/platform/3303

               ( geocities.com/siliconvalley/platform)                   ( geocities.com/siliconvalley)