,QVWDOODWLRQ *XLGH

May 1999 ECG513/0399 ,QVWDOODWLRQ DQG

Prepared by Internet and E-Commerce Solutions &RQILJXUDWLRQ *XLGH IRU Business Unit /LQX[ DQG $SDFKH :HE Enterprise Solutions Division 6HUYHU RQ &RPSDT Compaq Computer Corporation 3URVLJQLD DQG 3UR/LDQW Contents 6HUYHUV Extended Table Of Contents...... 2 Introduction...... 4 Overview Of Tests ...... 5 Apache Server Overview...... 15 Abstract: The purpose of this guide is to Installation Briefs ...... 16 provide the basic installation and configuration Appendix A...... 30 guidelines for the operating system and Appendix B...... 31 the Apache Web Server . These two Glossary ...... 39 applications form a solid basis for providing basic web services. This guide limits its testing to the three prominent Linux distributions, Red Hat, SuSE, and Caldera Systems. Please see the ActiveAnswers for Apache Web Server on Linux solution at http://www.compaq.com/activeanswers for additional resources. ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 5

Extended Table of Contents EXTENDED TABLE OF CONTENTS ...... 2 INTRODUCTION ...... 4 DISTRIBUTIONS OVERVIEW ...... 5 Red Hat...... 5 SuSE...... 5 Caldera ...... 5 OVERVIEW OF TESTS...... 5 SOFTWARE OVERVIEW ...... 5 HARDWARE OVERVIEW...... 6 Compaq Hardware Basics...... 6 Processor ...... 9 SCSI Controller...... 9 CD-ROM...... 9 Floppy Disk Drive...... 9 Mouse Port ...... 9 Keyboard Port...... 10 Video Card and Monitors...... 10 Network Interface Controller ...... 11 APIC Settings (SMP) ...... 12 SMART/2 Array Controller ...... 13 Server Configurations...... 14 APACHE SERVER OVERVIEW...... 15 INSTALLATION BRIEFS ...... 16 SMARTSTART ...... 16 ProLiant Servers...... 16 Prosignia Servers...... 16 RED HAT ...... 17 SCSI Installation...... 17 Initial Network Setup ...... 18 LILO ...... 18 Memory Beyond 64 MB ...... 18 Video Setup...... 19 Configuring the TLAN driver ...... 19 SUSE...... 20 SCSI Installation...... 20 Loading Device Driver Modules...... 21 SuSE Setup Configurations...... 21 LILO ...... 23 Memory Beyond 64 MB ...... 23 Video Setup...... 24 CALDERA...... 24 SCSI Installation...... 24 Loading Device Driver Modules...... 24 Caldera Setup Configurations ...... 25 Network Configuration ...... 25 LILO ...... 25 Memory Beyond 16 MB ...... 26 Video Setup...... 26 BUILDING AN SMP KERNEL...... 27 Distributions Which Use an Initial Ram Disk (initrd) Entry in /etc/lilo.conf ...... 28 APACHE INSTALLATION...... 29 APPENDIX A...... 30 LINUX AND APACHE LINKS ...... 30 APPENDIX B...... 31 KERNEL VERSION 2.2 ...... 31 RAID ...... 33 GLOSSARY ...... 39

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 6

Notice The information in this publication is subject to change without notice and is provided “AS IS” WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK ARISING OUT OF THE USE OF THIS INFORMATION REMAINS WITH RECIPIENT. IN NO EVENT SHALL COMPAQ BE LIABLE FOR ANY DIRECT, CONSEQUENTIAL, INCIDENTAL, SPECIAL, PUNITIVE OR OTHER DAMAGES WHATSOEVER (INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION OR LOSS OF BUSINESS INFORMATION), EVEN IF COMPAQ HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. The limited warranties for Compaq products are exclusively set forth in the documentation accompanying such products. Nothing herein should be construed as constituting a further or additional warranty. This publication does not constitute an endorsement of the product or products that were tested. The configuration or configurations tested or described may or may not be the only available solution. This test is not a determination of product quality or correctness, nor does it ensure compliance with any federal, state or local requirements. Compaq, ActiveAnswers, Deskpro, Fastart, Compaq Insight Manager, Systempro, Systempro/LT, ProLiant, ROMPaq, QVision, SmartStart, NetFlex, QuickFind, PaqFax and Prosignia are registered with the United States Patent and Trademark Office. Netelligent, Systempro/XL, SoftPaq, QuickBlank, QuickLock are trademarks and/or service marks of Compaq Computer Corporation. Linux is a registered trademark of . Pentium is a registered trademark of Intel Corporation. Other product names mentioned herein may be trademarks and/or registered trademarks of their respective companies. ©1999 Compaq Computer Corporation. All rights reserved. Printed in the U.S.A. Installation and Configuration Guide for Linux and Apache Web Server on Compaq Prosignia and ProLiant Servers Installation Guide prepared by Internet and E-Commerce Solutions Business Unit Enterprise Solutions Division First Edition (May 1999) Document Number ECG513/0399

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 7

Introduction Even with the recent growth of electronic commerce and application service suites, basic web services remain the most widely used on the Internet. To be able to provide basic web services, you will require a web server, which is the fundamental Internet server. The Linux operating system coupled with the Apache HTTP server forms a solid basis for providing basic web services. The purpose of this guide is to discuss the basics of the Linux and Apache installation and the configuration on the Compaq ProLiant and Prosignia server platforms. The specific servers covered in this guide include: x Prosignia Server 720 x ProLiant 1600 x ProLiant 1600R x ProLiant 1850R The intention of the guide is to provide a general overview of Linux and the Linux server setups. Compaq assumes that you have a basic working knowledge of Linux operations, including basic Linux setup and configuration. There is much detailed information currently available on the installation and configuration of the various distributions of Linux and Apache and this guide’s focus is on how to apply those existing methods to the Compaq servers listed above. Numerous references to external sources and materials are used in this guide, and Compaq recommends that you refer to these sources where additional software detail is needed. Given the level of detail of this guide, it is recommended you first familiarize yourself with the Linux and Apache applications. The following is a partial list of references to learn more about the software: x www.linux.org : The web site of Linux Online. x www.li.org : The web site of Linux International. x www.gnu.org and www.fsf.org : The web site of the GNU project and the Free Software Foundation. x www.apache.org : The web site of the Apache project. x metalab.unc.edu/LDP : The web site of the Linux Documentation Project. x www.tux.org : Site of several east coast (U.S.) Linux Users Groups. x www.calderasystems.com : The web site of the Caldera . x www.redhat.com : The web site of the Red Hat Linux distribution. x www.suse.com : The web site of the SuSE Linux distribution. Many of these sites are also mirrored at other sites, and some of these sites (or portions of these) are published in languages other than English. As an exercise, Compaq recommends that you peruse these sites, along with others, to learn the basics of using Linux and Apache.

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 8

Distributions Overview The discussion in this paper covers the following three prominent Linux distributions: x Red Hat Software, Inc. x SuSE, Inc. x Caldera Systems, Inc. All of these distributions include large amounts of software that can run in conjunction with Linux, including the Apache web server. This guide will not analyze the available software by distribution nor give a comparison of the software from one distribution to another. The focus of the guide is exclusively on the base Linux operating system and the Apache web server, and the components common to all three distributions.

Red Hat Red Hat is one of the more popular versions of Linux in the United States. It is maintained by Red Hat Software, Inc. and is available through its website located at www.redhat.com.

SuSE SuSE is one of the more popular versions of Linux in Europe and is gaining in popularity in the United States. It is maintained by SuSE, Inc. and is available through its website located at www.suse.com.

Caldera Caldera is another popular Linux distribution. It is maintained by Caldera Systems, Inc. and is available through its website at www.calderasystems.com.

Management Summary Each distribution vendor includes operating system and application management tools that form a common base across one or more distributions. Red Hat’s Package Management (RPM) format, for instance, is a commonly used software distribution mechanism. Other tools, such as each vendor’s setup program, are specific to a particular distribution. This guide does not provide discussion of the Operating System Management (OSM). For detailed information on the OSM, you should refer to the particular distribution vendor. Overview of Tests

Software Overview Testing of the Apache web server was conducted on the Compaq ProLiant 1850R, Compaq ProLiant 1600 and 1600R, and the Prosignia Server 720. The ProLiant 1600 and the ProLiant 1600R is identical in every respect, with one exception, the ProLiant 1600 is a tower model and the ProLiant 1600R is a rack-mount model. Each server was tested using the following software:

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 9

x Caldera Systems OpenLinux 1.3 x Red Hat Linux 5.2 x SuSE Linux 5.3 and SuSE Linux 6.0 The testing selected a default software configuration so that a minimum amount of software was included in the installation.

Hardware Overview The three different servers included in the testing for this guide were the Compaq ProLiant 1850R, the ProLiant 1600R, and the Prosignia Server 720.

Note: The ProLiant 1850R is only available in a rack-mount configuration. The ProLiant 1600R, the rack-mounted model, is also available in a tower model, the ProLiant 1600. The ProLiant 1600 includes tower server hardware rather than the rack- mounting hardware of the ProLiant 1600R. The Prosignia 720 is not rack mountable.

Compaq Hardware Basics Configuration for the Prosignia Server and the three ProLiant servers is outlined in Table 1. All four of the servers used in the testing come equipped with standard bus-interface devices for which drivers already exist for Linux. All bus-interface devices detailed use the PCI bus. Detailed information on each particular bus-interface device can be found in a subsection of the appropriate software. Only the installation and configuration details that are necessary to clarify the hardware explanation are provided in this section. Detailed setup and configuration instructions for a particular Linux vendor’s distribution can be found in the section, “Installation Briefs”. Table 1. ProLiant and Prosignia Server Configurations Prosignia 720 ProLiant 1600 ProLiant 1600R ProLiant 1850R Processor Speeds 350, 400, 450 MHz 350, 400, 450, 500 350, 400, 450, 500 400, 450, 500 MHz MHz MHz SMP Support No Yes Yes Yes L2 Cache 512 KB 512 KB 512 KB 512 KB

Continued

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV :

Table 2 continued Maximum Memory 384 MB 1 GB 1 GB 1 GB

Maximum Number 3 Pentium II-based Pentium II-based Pentium II-based of Drives (Wide-Ultra SCSI (Wide-Ultra SCSI (Wide-Ultra SCSI 3): 5 1"-hot-plug or 3): 5 1"-hot-plug or 3): 3 1"- or 2 1.6"- 2 1.6" and 1 1" hot- 2 1.6" and 1 1"-hot- hot-plug plus 2 plug plus 2 internal plug plus 2 internal internal 5.25" bays 5.25" bays 5.25" bays Pentium III-based Pentium III-based Pentium III-based (Wide-Ultra2 (Wide-Ultra2 (Wide-Ultra2 SCSI): 6 1"- or 3 SCSI): 6 1"-hot- SCSI): 6 1"-hot- 1.6"-hot-plug with plug or 3 1.6" hot- plug or 3 1.6" hot- optional second plug plus 2 internal plug plus 2 internal hot-plug drive cage 5.25" bays 5.25" bays or 4 1”-hot-plug plus 2 internal 5.25" bays Drive Sizes 4.3 & 9.1 GB Pentium II-based Pentium II-based Pentium II-based Supported (Wide-Ultra SCSI (Wide-Ultra SCSI (Wide-Ultra SCSI 3): 4.3 & 9.1 GB 3): 4.3 & 9.1 GB 3): 4.3 & 9.1 GB (1") & 18.2 GB (1") & 18.2 GB (1") & 18.2 GB (1.6") hot-plug, 4.3 (1.6") hot-plug, 4.3 (1.6") hot-plug, 4.3 & 9.1 GB non-hot- & 9.1 GB non-hot- & 9.1 GB non-hot- plug plug plug

Pentium III-based Pentium III-based Pentium III-based (Wide-Ultra2 (Wide-Ultra2 (Wide-Ultra2 SCSI): 4.3, SCSI): 4.3, 9.1 SCSI): 4.3, 9.1, 9.1,18.2 GB (1") GB, 18.2 GB (1") 18.2 GB (1") hot- hot-plug, 4.3 & 9.1 hot-plug, 4.3 & 9.1 plug, 4.3 & 9.1 GB GB non-hot-plug GB non-hot-plug non-hot-plug Disk Controller Wide Ultra2 SCSI Pentium II-based: Pentium II-based: Pentium II-based: Wide-Ultra SCSI 3 Wide-Ultra SCSI 3 Wide-Ultra SCSI 3 (dual-channel) (dual-channel) (dual-channel)

Pentium III-based: Pentium III-based: Pentium III-based: Wide-Ultra2 SCSI Wide-Ultra2 SCSI Wide-Ultra2 SCSI (dual-channel) (dual-channel) (dual-channel) Continued

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV ;

Table 3 continued Disk Controller NCR 53c8xx NCR 53c8xx NCR 53c8xx NCR 53c8xx Chipset Maximum Internal 27.3 GB Pentium II-based Pentium II-based Pentium II-based Storage (Wide-Ultra SCSI (Wide-Ultra SCSI (Wide-Ultra SCSI 3): 45.5 GB (hot- 3): 45.5 GB (hot- 3): 36.4 (2x18.2 plug only) or 63.7 plug only) or 63.7 GB) hot-plug only GB (hot-plug plus GB (hot-plug plus or 54.6 (2x18.2 GB internal) internal) hot-plug plus 2x9.1 GB internal) 109.2 GB (6x18.2 109.2 GB (6x18.2 GB hot-plug only) GB hot-plug only) 109.2 (6x18.2 GB) or 127.4 GB (hot- or 127.4 GB (4hot- hot-plug only with plug plus internal) plug plus internal) optional second hot-plug bay or 91 (4x18.2 GB hot- plug plus 2x9.1 GB internal) CD-ROM IDE IDE IDE IDE

Diskette Drive IDE IDE IDE IDE Tape Drives DAT, SLR, DDS-3, DAT, SLR, DDS-3, DAT, SLR, DDS-3, Supported DLT DLT DLT Total PCI Expansion 3 | 2 2 | 2 2 | 2 3 | 3 Slots (total | available) Total PCI/ISA 1 | 1 4 | 4 4 | 4 1 | 1 Expansion Slots (total | available) Total ISA Expansion 1 | 1 0 0 0 Slots (total | available) Total AGP 1 | 1 0 0 0 Expansion Slots (total | available) Integrated NIC Netelligent 10/100 Compaq Compaq Compaq 10/100 Brand Name TX Embedded Netelligent 10/100 Netelligent 10/100 PCI Embedded UTP Intel TX Embedded UTP TX Embedded UTP Controller Controller Controller UTP Controller Integrated NIC Intel 82558 or Intel ThunderLAN ThunderLAN ThunderLAN Chipset 82559 Redundant Fans No No No No Redundant Power No Optional Hot- Optional Hot- Optional Hot- Supply Pluggable Pluggable Pluggable Redundant Redundant Redundant Power Supply 200 W 325 W 325 W 225 W Ostensible Pre- Processor, Hard Processor, Processor, Processor, Failure Warranty Drive Memory, Hard Disk Memory, Hard Disk Memory, Hard Disk Form Factor Tower Tower 5U Rack-Mount 3U Rack-Mount Continued

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV <

Table 4 continued Video 1024 KB, 1024 KB, 1024 KB, 1024 KB, 1024x768 pixel 1024x768 pixel 1024x768 pixel 1024x768 pixel resolution at 256 resolution at 256 resolution at 256 resolution at 256 colors colors colors colors Video Card ATI Rage IIc Cirrus Logic 5430 Cirrus Logic 5430 ATI Rage IIc Mouse PS/2 PS/2 PS/2 PS/2 Keyboard PS/2 Style PS/2 Style PS/2 Style PS/2 Style

Processor Both the ProLiant and Prosignia servers discussed in this guide use the Pentium II processor. Since no specific Linux kernel optimizations are currently available for the Pentium II processor, kernels built specifically for this processor should be modified to optimize for the Pentium Pro processor. Custom kernels built for testing in preparation for this guide all were optimized for the Pentium Pro processor. This is possible because the Pentium II’s architecture is very similar to that of the Pentium Pro.

SCSI Controller Each server examined here comes equipped with an NCR SCSI controller. All of the ProLiant servers include internal dual port SCSI interfaces, while the Prosignia 720 has a single ULTRA-2 SCSI port. External SCSI ports are also built in to the ProLiant servers examined here. The device driver for NCR53C8XX devices will interface with any of these SCSI devices and offer access to connected SCSI devices. Note: The device driver for NCR53C8XX is different from the device driver for NCR53c7,8xx SCSI devices.

Specific controllers tested in preparation for this guide are included in the following table: Table 5. SCSI Controller Specifications

Server Built-in SCSI Controller ProLiant 1850R NCR53c875 or NCR83c876 ProLiant 1600R NCR53c875 or NCR83c876 ProLiant 1600 NCR53c875 or NCR83c876 Prosignia 720 NCR53c895

CD-ROM The built-in CD-ROM drive on each server is a standard ATAPI device.

Floppy Disk Drive The built-in floppy disk drive on each server is a standard floppy device.

Mouse Port The built-in mouse port on each server accepts standard PS/2 devices.

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 43

Keyboard Port The built-in keyboard port on each server is a PS/2 style port and accepts keyboards that can plug into such a port.

Video Card and Monitors When setting up the appropriate driver for X Windows, it is important to note that at this time there are no specific X-servers for the particular server video cards. Regardless of which distribution is selected, the generic SVGA server should be selected for servers set up with an SVGA monitor; lesser monitors – such as VGA or monochrome should use an X-server appropriate for the particular monitor type. When you are setting up X, whether through the xf86config script or through a distribution vendor’s setup program, select a monitor from the monitors list, or enter the video parameters included in the monitor documentation. The specifications for several Compaq monitors are included in Table 5. Since the instructions for the outlined video cards tell you not to autoprobe, it is best to enter the information manually. The video card specifications for each server are included in Table 4. Additional information on the video card can be found in Table 1. Table 6. Compaq Server Video Card Specifications

Server Built-in Video Card Video RAM Clocks Line Resolution

ProLiant 1850R ATI Rage IIc 1024 KB None 1024x768 at 256 colors ProLiant 1600R Cirrus Logic 5430 1024 KB None 1024x768 at 256 colors ProLiant 1600 Cirrus Logic 5430 1024 KB None 1024x768 at 256 colors Prosignia 720 ATI Rage IIc 1024 KB None 1024x768 at 256 colors

Table 7. Compaq Monitor Specifications

Horizontal Vertical Monitor Frequency Frequency 1024 COLOR: 30 - 60 kHz 50 - 100 Hz 151FS COLOR: 30 - 60 kHz 50 - 100 Hz 171FS COLOR: 30 - 60 kHz 50 - 100 Hz QVISION 172: 31.5 - 82 kHz 50 - 110 Hz QVISION 200: 30 - 82 kHz 50 - 160 Hz QVISION 210 31 - 94 kHz 48 - 110 Hz P50: 30 - 69 kHz 47.5 - 125 Hz P75: 30 - 85 kHz 50 - 150 Hz P110: 30 - 107 kHz 48 - 160 Hz P1610: 30 - 96 kHz 48 - 160 Hz V50: 31 - 60 kHz 47.5 - 115 Hz V75: 30 - 69 kHz 47.5 - 125 Hz

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 44

Network Interface Controller Two different Network Interface Controller (NIC) cards were examined in Compaq’s testing for this guide. This testing identified the chipsets for the four servers shown in Table 6. Table 8. Network Interface Controller Specifications

Server Built-in Network Interface Controller

ProLiant 1850R Texas Instruments ThunderLAN (TLAN) ProLiant 1600R Texas Instruments ThunderLAN (TLAN) ProLiant 1600 Texas Instruments ThunderLAN (TLAN) Prosignia 720 Intel 82558 (Intel Etherexpress Pro 100)

Other PCI cards and chipsets were also tested. The specifics of the testing are as follows: At this time, the embedded NIC card on the Compaq ProLiant 1600, 1600R, and 1850R is based on the Texas Instruments ThunderLAN chipset. Similar dual-speed and single-speed PCI cards are available in the marketplace, under several different brand names. Both the embedded and PCI cards are controlled by the TI ThunderLAN (TLAN) device driver written by James Banks of Caldera Systems, Inc. (www.calderasystems.com mailto:[email protected]). Both the SuSE and Caldera installation programs allow for manual selection of this device driver and the setup of networking support at the time of installation. Red Hat includes the tlan.c, tlan.h, and tlan.o files that allow for the configuration of the network in a rebuilt kernel or in a module. However, since you cannot choose a TLAN card at installation time, it is necessary to first install the operating system and then update the networking support manually. The complete TLAN driver distribution is available from many Linux download sites. The primary distribution point is located at ftp://ftp.caldera.com/pub/stuff/tlan.tgz . At this time, the latest version is Version 1.0 and it currently supports PCI devices only that include the embedded NIC cards on the ProLiant servers examined in this guide. The README file included with the TLAN device driver distribution offers a mailing list. You can obtain information on joining by sending ‘subscribe TLAN’ in the body of an e-mail to [email protected].” The second NIC card used in this testing is the new Netelligent 10/100 TX PCI UTP Intel Controller card. The Prosignia 720 includes this card, which is based on the Intel Etherexpress Pro chipset, and consequently the existing Intel Etherexpress Pro 100 device driver for Linux can control it. Specific chipsets examined include: x Intel 82557 x Intel 82558 x Intel 82559 These three different chipsets were tested since Compaq currently sells embedded and PCI card NICs based on the three different chipsets. All chipsets worked without any problems. All three distributions covered in this guide, Caldera, Red Hat, and SuSE, either detect this card automatically or allow for its manual selection. At the time of installation, you can use this card to configure the network for all covered distributions, making it possible to install Linux from an FTP server, and NFS mount, or an SMB share.

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 45

Note: Only a PCI version of this card is available, and at this time this card is not used as the embedded NIC on the ProLiant models discussed in this guide.

One method to determine the type of built-in NIC card available on a particular server is to examine the System Configuration using the Compaq SmartStart utility included with every Compaq ProLiant and Prosignia server. You can do this by performing the following steps starting at the main menu: x Choose System Configuration x Select Configure Hardware x Select Review or Modify Hardware Settings x Select View or Edit Details x Scroll until the network controllers can be viewed Testing performed with the ThunderLAN-based cards demonstrated that the following cards are based on the ThunderLAN chipset: x Compaq Netflex-3/P Controller x Compaq Integrated UTP/BNC Controller x Compaq Integrated 10/100 TX UTP Controller x Compaq Dual 10/100 TX UTP Controller x Compaq Netelligent 10/100 TX PCI UTP Controller The following is the entry generated by an Intel-based NIC: x Netelligent 10/100 TX WOL PCI UTP Intel Controller The keyword in this phrase is “Intel”. If the System Configuration utility does not identify one of the above, directly examine the PCI NIC or the motherboard of the server. If a chip with the Texas Intruments, state of Texas logo and the TLAN designation is located, then the card or embedded controller is based on the ThunderLAN chipset. If this logo is not present, and an Intel logo is present, then it is likely that the card is based on the Intel chipset. The Etherexpress Pro 100 driver should be used. You can distinguish between an Intel NIC chip and another type of Intel chip by reading the numeric information on the chip itself. An 82558 chip, for example, is stamped as “Intel sb 82558B”.

APIC Settings (SMP) To enable SMP for the 2.2 kernel, it is necessary to only to select SCO “Unixware 7” as the server operating system in the Compaq System Configuration Utility. This sets internal hardware setting to be compliant with the SMP implementation of 2.2 kernel series. The default APIC interrupt settings for the ProLiant 1600, 1600R, 1850R (the Prosignia 720 is uni-processor capable only) will not allow for Linux 2.0.x SMP support. However, the APIC settings can be modified to be compatible through the Compaq System Configuration Utility included with Compaq SmartStart. The following procedures are from the document “Linux on Compaq Server Products”, located at potter.ieee.uh.edu/compaq.html: 1. Enter the System Configuration Utility (also known as the EISA Configuration Utility). 2. At the main screen, press control-A to enable advanced mode.

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 46

3. Use the menu to select “View or Edit Details”. 4. Scroll down to where the APIC settings are located and modify the default setting to be in “FULL TABLE” mode. This configuration will make the server Intel-SMP compliant, and any such Intel-SMP compliant kernel will now recognize and boot this machine as SMP (provided, of course, that two or more processors and their respective processor power modules are present).

SMART/2 Array Controller The SMART/2 array controller device driver discussed in this guide is available at www.insync.net/~frantzc/cpqarray.html . The device driver has recently been upgraded from beta to “1.0” status. Instructions for how to install and configure the device driver are included in Appendix A. Several different array controllers have been tested for compatibility with the driver, including the following: x Compaq Smart-2/P Array Controller x Compaq Smart-2/E Array Controller (EISA) x Compaq Smart-2DH Array Controller x Compaq Smart-2SL Array Controller x Compaq Smart Array 221 Controller x Compaq Smart Array 3200 Controller

Note: Array controllers are add-on options for the ProLiant servers. Only the PCI-based SMART/2 array controllers were tested with the above-mentioned device driver in preparation for this document. However, according to the documentation available with the device drivers, EISA- based Smart Array controllers will also work. Other Compaq or third party array controllers will not work with this driver.

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 47

Server Configurations Table 7 documents the specific servers and configurations tested. Table 9. Single Server Configurations Tested

Prosignia Server 720: Web ProLiant 1850R: Web Server ProLiant 1600R/1600: Web Server Server

x Compaq Prosignia Server x Compaq ProLiant 1850R x Compaq ProLiant 1600/1600R 720 x 1 and 2 x Pentium II 450 x 1 and 2 x Pentium II 400 MHz x Pentium II 400 MHz – 512 MHz – 512 KB cache – 512 KB cache KB cache x Uni-processor and SMP x Uni-processor and SMP kernels x Uni-processor kernel only kernels x 100 MHz System Bus x 100 MHz System Bus x 100 MHz System Bus x 256 MB RAM x 64 MB RAM x 128 MB RAM x Integrated 10/100 TX UTP x Integrated 10/100 TX Intel x Integrated 10/100 TX UTP Controller (TLAN) UTP Controller Controller (TLAN) x NCR 53c8xx SCSI Controller x NCR 53c8xx SCSI x NCR 53c8xx SCSI Controller Controller x PCI 10/100 TX Intel UTP Controller x PCI 10/100 TX Intel UTP Controller

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 48

Apache Server Overview The Apache web server has been well documented by the Apache Server Project and the various distribution vendors. In addition, several other sites within the Linux community have provided additional insights into the operations and management of the Apache web server. The man pages for httpd are also helpful. This guide is not intended to improve upon the information already publicly available. This section provides a brief overview of the Apache web server with summary information for the various distributions, along with links to the various sites that document the Apache server more thoroughly. Each of the three Linux distributions discussed in this guide includes the Apache web server and in every case, the three basic configuration files control how the server runs. In each of these cases, the description is quoted from the comments included in their respective files for a Red Hat distribution: x httpd.conf – general server-wide configuration x srm.conf – sets up the user name-space parameters and also how the requests are serviced and responses formatted x access.conf – sets up what type of services are allowed and under what circumstances Although every distribution includes the Apache web server, each distribution sets it up in a different location. Table 8 documents the location of the default storage configuration and the content files for each distribution. Table 10. Default Locations for HTTPD Configuration and Log Files

Distribution Default Default Log File Default Static Default Configuration Location Content Location Dynamic (CGI) File Location Content Location Caldera Systems /etc/httpd/apache/ /var/log/httpd/apache /home/httpd/html /home/httpd/cgi OpenLinux 1.3 conf -bin Red Hat Linux 5.2 /etc/httpd/conf /var/log/httpd /home/httpd/html /home/httpd/cgi -bin SuSE Linux 5.3 /etc/httpd /var/log /usr/local/httpd/htdocs /usr/local/httpd/ and 6.0 cgi-bin

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 49

Installation Briefs

SmartStart

ProLiant Servers Since the three Compaq servers discussed in this guide are all based on industry standard components, installation of Linux for all distributions is straightforward. The only exception to this is the Red Hat installation where the network card is based on the TI ThunderLAN chipset. In this case, the network card is still available to Linux, but a post-installation step is required. There are several steps common to all distributions. The following are for the ProLiant servers: 5. To configure a server, insert the Compaq SmartStart CD included with the server into the CD-ROM drive, and turn server on. The Compaq SmartStart process will begin, allowing the hardware to be configured and setting up the Compaq System Partition so that subsequent hardware updates can be easily made. 6. Boot the SmartStart CD. 7. When prompted, choose Manual Configuration. 8. Accept all defaults except where SmartStart prompts for the Operating System Selection. In testing, the SCO Unixware 7 was selected as the operating system for ProLiant server setups. 9. After building the system partition, the system will boot again. If it is intended to install to a SMART Array Controller according to the installation instructions listed in Appendix B, then be sure to set the SCSI controller temporarily to be the first boot device. See Appendix B for more details. 10. The system now prompts you to build support software diskettes. These are useful for configuring hardware in the event the Compaq System Partition (partition ID 0x12) is accidentally deleted during the subsequent installation of Linux. Since the System Partition has already been installed to the hard drive, these diskettes are optional. 11. The SmartStart now prompts you to remove the SmartStart CD to prepare for the operating system installation. 12. Insert the boot media for the Linux distribution of your choice into either the floppy drive or CD-ROM drive. 13. When SmartStart completes, it will reboot a final time to set up the operating system. This system partition is a bootable partition that the server must be able to bootstrap in order to access server configuration programs after the Linux installation. Therefore, for ProLiant servers, a Linux Loader (LILO) section must be set after the Linux installation for this partition. Specifics are covered in the respective setup sections for each distribution.

Prosignia Servers On the Compaq Prosignia servers, the SmartStart process is fundamentally different in two ways: 14. The SmartStart process for a Prosignia Server 720 asks for only a few configuration parameters, including the locale, date and time, and an option to build support software diskettes.

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 4:

15. The Prosignia SmartStart process does not install a system partition and does not request that you supply a specific operating system. Since Prosignia servers do not install a system partition to handle server configuration, a ROM- based setup utility can be invoked at boot time by pressing the F10 key. This ROM-based utility is invoked before the server attempts to boot from a particular medium (floppy, CD, or hard drive). Therefore, it affects the LILO setup since LILO does not need to boot the setup program from the hard-drive. Thus, no additional LILO section is necessary for Prosignia configurations. Specifics are covered in the respective setup sections for each distribution. Now that the differences are noted, the details of a Prosignia SmartStart setup will be discussed. Each server ships with a SmartStart CD and Server Profile Diskette (SPD). The following steps should be taken for the SmartStart setup: 16. You must boot the CD and place the SPD disk into the floppy drive after booting. 17. After SmartStart boots, you will be asked to choose a language. 18. A screen prompts you to set locale, date and time parameters. 19. You are asked to create support software diskettes if desired. 20. You must exit to reboot the server. 21. At this point, remove the SmartStart CD and SPD disk and replace with the appropriate setup media for the Linux distribution you have chosen. Either before or after the Linux setup, you can press the F10 key at the server startup screen to invoke the ROM-based setup utility to change hardware configurations.

Red Hat The Red Hat version used in the testing for this guide has a simple installation program. Most of the devices available with the ProLiant 1600, 1600R, 1850R, and Prosignia Server 720 can be correctly autodetected by Red Hat. However, Red Hat’s installation program does not allow for manual selection or autodetection of the TLAN NIC controller. This controller can be configured after the installation. Testing for this Solutions Guide was performed using Red Hat Linux version 5.2.

SCSI Installation The Red Hat installation program performs well in auto-detecting any known hardware. All four of the Compaq servers used in this testing have NCR53C8XX SCSI controllers, and Red Hat’s installation software can properly auto-detect them. Following the auto-detecting, Red Hat allows for disk partitioning using either fdisk or Red Hat’s Disk Druid software. Both work equally well in partitioning the drives for installation. The System Partition (ID 0x12) should be left intact when creating operating system and swap partitions. Once these partitions are set up, you are prompted for the mount-points and software installation. You should then choose the configuration you find most useful. After the software is installed, Red Hat walks you through the following configuration screens: x A screen that prompts you to choose the mouse-type. Red Hat detects the mouse correctly as PS/2. You should choose to emulate three buttons. If the mouse has only two buttons, then button number three is invoked under X by pressing left and right mouse buttons simultaneously.

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 4;

x You are then prompted to choose the video card (parameters are available in a previous section, Video Card and Monitors). Red Hat identifies the video card, but since no card- specific driver is available, it correctly chooses the generic SVGA driver to control it. x You should select a pre-configured monitor from Red Hat’s list or enter the monitor pixel-depth, hsynch, and vsynch parameters from the monitor documentation. At this point, most basic system parameters are set with the exception of the following configurations.

Initial Network Setup When setting up the network, you should bypass Red Hat’s network installation if only ThunderLAN-based NIC cards are present in the server. (See the section, Network Interface Controller, for assistance in identifying what type of NIC card is present in the server.) If a Netelligent Intel NIC card is present (as is the case for the NIC included with the Prosignia Server 720) then Red Hat’s auto-detect program will identify it as an Intel Etherexpress Pro 100 card. Netelligent Intel NIC cards can be controlled by this driver and you can use Red Hat’s installation and network configuration mechanism here. However, if only ThunderLAN NIC card(s) are present the network setup must wait until after booting the operating system for the first time.

LILO The final portion of the setup is the LILO configuration. In addition to the Linux installation, you should set up the System Partition (ID 0x12) in LILO when setting up a ProLiant Server. Note: This is not necessary for the Prosignia Server 720 since it does not use a system partition.

The Compaq System Partition is a bootable partition, generally invoked by pressing F10 at a prompt prior to booting the operating system. However, with LILO installed, either on the master boot record or on a bootable partition of a hard drive, pressing F10 invokes LILO. You should have another entry in /etc/lilo.conf to invoke the system partition from the hard drive. A good name for this entry would be “F10”. Red Hat’s setup is helpful when configuring this because it recognizes the 0x12 partition as bootable and allows the user to set this up through a Graphic User Interface (GUI) at installation time. If you need to set this up manually, a sample /etc/lilo.conf file is provided in the next section.

Memory Beyond 64 MB Another issue seen with the Red Hat application is that it may not automatically recognize available RAM greater than 64 MB. In Compaq’s testing, circumstances were seen where additional RAM was correctly detected and others where it was not. To enable access to RAM above 64 MB, edit the /etc/lilo.conf file so that it includes an append line: append=”mem=xxxM” where xxx is the sum total of RAM available to the system in MBs. A sample /etc/lilo.conf file follows (remove the “other=” section when setting up a Prosignia server since the Prosignia does not use a system partition): # begin global section boot=/dev/sda map=/boot/map install=/boot/boot.b prompt timeout=50 # begin Linux section

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 4<

image=/boot/vmlinuz-2.0.34-0.6 label=linux append="mem=160M" # allow access for greater than 64 MB RAM root=/dev/sda2 initrd=/boot/initrd-2.0.34-0.6.img read-only # begin System Partition section other=/dev/sda3 label=F10 table=/dev/sda Be sure to run /sbin/lilo after adding the append line, and reboot. You can determine if the larger amount of RAM was made available to the system by typing free as the root user. Something similar to the following output should appear: [chstewart@tlaloc ~]# su Password: [root@tlaloc chstewart]# free total used free shared buffers cached Mem: 160116 119888 40228 33180 64772 34308 -/+ buffers/cache: 99080 139308 Swap: 130748 0 130748 [root@tlaloc chstewart]# exit Examine the “total” column. If it shows the amount of RAM installed on the system in kilobytes (each kilobyte calculated by free is 1024 bytes), then the system recognizes that amount of RAM.

Video Setup Red Hat’s setup program automatically identifies the video cards of all four Compaq servers tested, and it automatically configures for the Generic SVGA X Server. Most Compaq monitors are not present in Red Hat’s monitor database. To manually configure these, please see the settings outlined in the previous section, Video Card and Monitors.

Configuring the TLAN driver The complete TLAN driver distribution is available from many Linux download sites. The primary distribution point seems to be ftp://ftp.caldera.com/pub/stuff/tlan.tgz (the author is from Caldera Systems). At this time, the version available is Version 1.0. It currently supports PCI devices only (including the embedded NIC cards on the ProLiant 1600, 1600R, and 1850R). Versions 5.1 and 5.2 of Red Hat were tested on the ProLiant 1600, 1600R, 1850R, and Prosignia Server 720 (with a PCI-based TLAN card added). To plug the TLAN driver into Red Hat's Kernel Daemon Configuration tool (located in Red Hat's control panel under X), it is necessary to edit a file in the /boot directory. The file is called module-info-, sometimes followed on with a subversion number. Examples include module-info-2.0.34 (from Red Hat 5.1) or module-info-2.0.34-0.6 (from a "non-official" Red Hat version of the OS). There may instances when multiple versions of this file are present – though often the multiples are simply soft links to the original – and usually the other apparent versions are merely soft links to the primary. If multiple files are present, the easiest way to ensure that the right file is edited is to edit all of them. To edit, the easiest way is to search for "tulip". Tulip is used so TLAN can be easily inserted in an alphabetical order in the network section of the file (tulip is a network card). Right before the tulip entry, insert the following three lines Note: The whitespace preceding the entries on lines 2 and 3 consists of a single tab character.

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 53

tlan eth "Compaq Netflex Network Driver" The following is a description of the above three lines: x Line 1 (tlan) gives the module name (tlan.o without the .o). x The second line is an arbitrary text identifier. x The third line identifies the module as an eth (ethernet) module. x It is now possible to use the Kernel Daemon Configuration tool under Red Hat to load the TLAN module. After loading the module, it is possible to use the Red Hat Network Configuration tool to configure the new network interface.

Note: It is recommended that you reboot the machine after loading and configuring the network card for the first time.

In addition, some network repeaters and switches do not adequately broadcast the specific port configurations for network bandwidth and duplex settings. This can prevent the TLAN driver from correctly autodetecting these parameters. In this case, the driver will send a kernel message (viewable from a tty console) reading "TLAN: Giving autonegotiation more time." If this occurs, it is necessary to force the bandwidth and duplex settings of the driver, and it is useful to force the settings on the network repeater or switch. The README file included in the TLAN distribution documents provides explicit instructions for the TLAN driver to determine what duplex and network bandwidth (10baseT or 100baseTx) settings to use. These parameters can be entered as a space-separated list in the module parameters line of the Red Hat Kernel Daemon Configuration tool or directly into /etc/conf.modules (you should consult Red Hat documentation for editing /etc/conf.modules directly).

SuSE SuSE’s installation program is flexible. While it allows for autodetection of devices and autoload of device drivers, it allows you to override the automatically configured parameters. Thus, SuSE’s installation program allows for manual selection of the TLAN NIC device driver. Compaq’s testing this Solutions Guide was performed using SuSE Version 5.3 and SuSE Version 6.0.

SCSI Installation SuSE’s installation program will install to any of the four servers tested for this guide without any trouble. You are referred to SuSE’s own installation documentation for information regarding the use of their YaST setup program. This section of this guide addresses the specific issues that arise during the installation to the ProLiant 1600, 1600R, 1850R, and Prosignia Server 720. SuSE’s boot CD or floppy disk boots to their initial setup screen. Before beginning actual installation, you must load appropriate kernel modules. For testing on the four Compaq servers, it was necessary to manually load modules for NIC cards, whether the underlying chipset is TLAN or Intel. The NCR53c8x x SCSI device driver will be automatically detected if autoload of modules is desired. However, it is quicker to load manually.

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 54

Loading Device Driver Modules Specifically, if autoload of modules is selected, the NCR53c8xx device driver is loaded and SuSE’s preliminary setup asks if it should continue to search for SCSI controllers. The ProLiant 1600, 1600R, and 1850R contain a single controller with dual channels. The Prosignia Server 720 contains a single controller with a single channel. It is not necessary to look for additional controllers with any of them. If you elect to load the SCSI controller manually, you should make the following selections: x Choose the Load Kernel Modules option. x Choose to load SCSI modules. x Choose the NCR53c8xx device driver. No parameters are necessary. To gain network support with either the TLAN or Intel based network cards, you should manually load the appropriate driver. To load the TLAN driver, you should select the option to Load Network Modules and scroll down to the "tlan: Compaq Netelligent 10/100 NetFlex-3” entry. Module parameters can be entered to force the speed and duplex settings to match those of the repeater or switch, where the card will be connected. Those parameters are: x duplex=1 (forces half duplex) x duplex=2 (forces full duplex) x speed=10 (forces 10baseT) x speed=100 (forces 100baseTx) To load the Intel driver, you should make the following selections: x Select the option to Load Network Modules again. x Scroll down to the “eepro100: Intel EtherExpress Pro 100: entry and select it. No parameters are necessary. Note: SuSE does not include a provision in its setup program for configuring multiple physical NIC cards. SuSE’s YaST setup program is available to do this after the installation is complete. You should consult SuSE’s documentation for this information. Additional Note: If a problem arises wherein the TLAN module loads and can be verified by checking /proc/modules, but the interface cannot be configured, it is possible that a corrupted driver was installed. Since source code is available, however, this is not a problem. One need only go into the /usr/src/linux directory to rebuild the modules. From /usr/src/linux, do ‘make menuconfig’, and verify that the TLAN driver is selected as a module. Exit and save the kernel configuration. Then do ‘make modules’ and ‘make modules_install’. This will rebuild and install the modules, including the TLAN module. Reboot the machine and any such problems should go away.

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 55

SuSE Setup Configurations After the kernel modules are loaded, you should return to the main menu to begin the setup configuration by choosing the Start Installation option. IMPORTANT: At this point, you can determine if a network interface is present by pressing left-alt-F2 to get to the second virtual console. At this command prompt, you should type the following (no login is necessary): # ifconfig eth0 If there is no such interface, a message to that effect will appear. If the interface is present, then either no message will appear or a summary of eth0 will appear. If no message appears, then the module is loaded but the NIC is not configured. If two different network card modules were loaded or if multiple physical NICs are present that use the same device driver module, then you can successively run ifconfig for eth1, eth2, eth3, and so forth.

1. The swap and disk setup comes next. SuSE includes a tool to assist you in configuring disk and swap partitions. IMPORTANT: The Compaq System Partition created during the SmartStart portion that precedes Linux setup should not be deleted. This partition is a bootable partition that can be used to configure new or changed hardware. Its partition identification is 0x12.

2. After disk and swap partitions are configured with the appropriate mount points and formatting parameters, SuSE’s installation program will then format the disk partitions. 3. Proceed to the software selection menu. For a web server, the simplest choice is the Choose Load Configuration option. Select the Network oriented system or the Default system. Both include necessary support for Apache application. Once the appropriate system is chosen, you should elect the Replace option to be certain that any previously loaded configuration is dumped before loading the new one. Note: Once this is complete, additional packages can be selected manually, if desired. YaST can be used after the installation is completed to add additional software

4. After the software installation is complete, you should return to the main menu. 5. A kernel installation screen follows. The SCSI – Kernel NCR53c8xx kernel should be chosen. One can choose either a 2.0 version, a 2.2 version, or a “hacker” version. The particular choice is left up to the installer. 6. LILO configuration is next. SuSE will not configure the Compaq System Partition into LILO during setup. Therefore, just the installed Linux partition should be set up at this point. The next section documents how to set up the Compaq System Partition to be bootable through LILO. 7. At the end of the installation, SuSE allows for the configuration of a single eth network interface. You should enter an appropriate IP address, netmask, and so forth and answer the questions regarding autostart of inetd, nfs services, and the like according to your networking requirements and policies. 8. Once this is complete, SuSE boots into Linux. Additional screens follow to allow for the configuration of fonts, a root password, and a few other items, including mouse configuration. Since Compaq servers use a PS/2 style mouse, this mouse should be chosen..

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 56

LILO After setup completes, the following entry should be added to /etc/lilo.conf (assuming partition ID 0x12 is located on /dev/sda3). Remove the “other=” section when setting up a Prosignia server since the Prosignia does not use a system partition: # begin System Partition section other=/dev/sda3 label=F10 table=/dev/sda

After /etc/lilo.conf has been edited, run /sbin/lilo as the root user: [chstewart@tlaloc ~]# su Password: [root@tlaloc chstewart]# /sbin/lilo added Linux * added F10 [root@tlaloc chstewart]# exit Memory Beyond 64 MB It may also be necessary to configure LILO manually to allow the kernel to recognize more than 64 MB of RAM. To do this, edit the /etc/lilo.conf file so that it includes an append line: append=”mem=xxxM” where xxx is the sum total of RAM available to the system in megabytes. A sample /etc/lilo.conf file follows: # begin global section boot=/dev/sda map=/boot/map install=/boot/boot.b prompt timeout=50 # begin Linux section image=/boot/vmlinuz-2.0.35 label=linux append="mem=160M" # allow access for greater than 64 MB RAM root=/dev/sda2 read-only Be sure to run /sbin/lilo after adding the append line, and reboot. You can determine if the larger amount of RAM was made available to the system typing free as root: [chstewart@tlaloc ~]# su Password: [root@tlaloc chstewart]# free total used free shared buffers cached Mem: 160116 119888 40228 33180 64772 34308 -/+ buffers/cache: 20808 139308 Swap: 130748 0 130748 [root@tlaloc chstewart]# exit Examine the “total” column. If it shows the amount of RAM installed on the system in kilobytes (each kilobyte calculated by free is 1024 bytes), then the system recognizes that amount of RAM.

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 57

Video Setup Finally, if an X-windows system is desired, SuSE includes both xf86config and XF86Setup to enable you to configure X windows. The video card parameters for each server are included in Table 1, in Compaq Hardware Basics, and summarized in the section, Video Card. Setting up X with either of these programs is straightforward once the specific video parameters are known. In Compaq’s testing, a Compaq 171FS monitor and the generic SVGA X-windows server were used. There were 256 colors chosen at a pixel resolution of 1024x768, and the video card was autoprobed. If another monitor is used, you should check the documentation included with the particular monitor. For particulars on XF86Setup or xf86config, please consult the authoritative documentation put together by the Xfree86 Project, at www.xfree86.org/3.3.3.1/QuickStart.html.

Caldera Similar to SuSE, Caldera’s installation program is flexible. It allows for autodetection of devices and autoload of device drivers, and it allows you to override the automatically configured parameters. Specifically, Caldera’s installation program allows for manual selection of the TLAN NIC device driver. Compaq’s testing for this Solutions Guide was performed using Caldera Version 1.3.

SCSI Installation Caldera’s installation program will install to any of the four Compaq servers tested for this guide without any trouble. You should refer to Caldera’s installation documentation for additional information regarding the use of their LISA setup program. This section of this guide only addresses the specific issues that arise during that installation to the ProLiant 1600, 1600R, 1850R, and Prosignia Server 720.

Loading Device Driver Modules At the beginning of the installation process, LISA asks, “Recognized all Hardware?” If the hard drive or NIC cards do not show up at this point, it is necessary to answer this question with a “no”. The first step to take here is to auto-probe the hardware. This should detect the NCR SCSI controller, any attached disks, and an Intel Etherexpress Pro 100 NIC card. It should not detect a TLAN card. If not all hardware is detected, proceed with the following steps: 9. Answer “no” again when asked, “Recognized all Hardware?” 10. Choose item “3 Load Kernel Modules” 11. To add a network driver, choose “Load driver for network card”, and scroll down to select the TI ThunderLAN or Intel Etherexpress Pro 100 NIC card driver. When prompted, enter appropriate parameters, if any. Parameters should not be necessary for the Intel NIC. For the TLAN NIC, they should be necessary only if speed and duplex settings are not being autodetected properly (see section Network Interface Controller). If you are uncertain, leave this blank and it can be reconfigured later through LISA. 12. To add a SCSI controller, choose the “Load driver for disk controller” option and follow instructions. Autoload detects the NCR53c8xx driver; a manual load of this driver module works as well. No parameters should be necessary. If an Intel NIC is present, the appropriate hardware will show up in the hardware list. A TLAN NIC specifically will not. If the TLAN NIC is present (as is the case with the ProLiant 1600, 1600R, and 1850R) and steps to manually load the driver have been followed then the driver is loaded and the interface should be detected. You can determine if a network interface is present

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 58

by hitting left-alt-F2 to get to the second virtual console. At this command prompt, you should type the following (no login is necessary): # ifconfig eth0 If there is no such interface, a message to that effect will appear. Otherwise, the interface is present, and no message will appear or a summary of eth0 will appear. If no network interface is present, then it is likely that NIC driver parameters are necessary. If this occurs, you should manually set the speed and duplex settings on the connected repeater or switch, and unload and reload the TLAN module with the corresponding speed and duplex settings. Specifically, you should enter the following parameters: x duplex=1 (forces half duplex) x duplex=2 (forces full duplex) x speed=10 (forces 10baseT) x speed=100 (forces 100baseTx) If more than one parameter is entered, they should be entered in a space-separated list. Note: Loading Network Controller Modules Under Caldera: Once a network driver is loaded, it will be accessible during the network configuration screens at the end of installation, even if the hardware doesn’t show up in the hardware list.

Caldera Setup Configurations The next step is to configure swap space and disk partitioning. You should consult Caldera documentation to properly set up the disks. There is one exception when SmartStart places a bootable partition on the first disk. This partition has the hexadecimal partition ID, 0x12 and should not be deleted because it can be booted at later times when it is necessary to reconfigure the System Hardware. When choosing software to install, you should be sure that the Apache web server is selected. A “typical” installation installs Apache. Network Configuration Network configuration follows software installation. At this point, the TLAN network interface is configurable even though the card did not previously show up in the hardware list at the beginning of the installation. If an Intel NIC is installed, then that interface is configurable here as well. Note: Caldera’s installation will configure only one network interface through their GUI at install time. For multiple physical homes, please consult Caldera’s documentation.

LILO Caldera’s LILO configuration will not identify the Compaq System Partition as a bootable partition. To set this up, it is necessary to edit /etc/lilo.conf after booting into the freshly installed system. The following lines should be added (assuming partition ID 0x12 is located on /dev/sda3). Remove the “other=” section when setting up a Prosignia server since the Prosignia does not use a system partition: # begin System Partition section other=/dev/sda3

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 59

label=F10 table=/dev/sda After /etc/lilo.conf has been edited, run /sbin/lilo as root: [chstewart@tlaloc ~]# su Password: [root@tlaloc chstewart]# /sbin/lilo added Linux * added F10 [root@tlaloc chstewart]# exit Memory Beyond 16 MB Furthermore, it is likely that the new Caldera system will not automatically detect the entire RAM on the system. As with the Red Hat installation, this can be quickly fixed by editing /etc/lilo.conf to add an append section to the Linux partition entry: append=”mem=xxxM” where xxx is the sum total of RAM available to the system in megabytes. A sample /etc/lilo.conf file follows: # begin global section boot=/dev/sda map=/boot/map install=/boot/boot.b prompt timeout=50 # begin Linux section image=/boot/vmlinuz-2.0.35 label=linux append="mem=160M" # allow access for greater than 64 MB RAM root=/dev/sda2 initrd=/boot/initrd.gz read-only Be sure to run /sbin/lilo after adding the append line, and reboot. You can determine if the larger amount of RAM was made available to the system typing free as root: [chstewart@tlaloc ~]# su Password: [root@tlaloc chstewart]# free total used free shared buffers cache Mem: 160116 119888 40228 33180 64772 34308 -/+ buffers/cache: 20808 139308 Swap: 130748 0 130748 [root@tlaloc chstewart]# exit

Video Setup Finally, if an X-windows system is desired, Caldera includes both xf86config and XF86Setup to enable you to configure X windows. The video card parameters for each server are included in the Table 1, Compaq Hardware Basics, and summarized in section, Video Card. Setting up X with either of these programs is straightforward once the specific video parameters are known. In Compaq's testing, a Compaq 171FS monitor and the generic SVGA X-windows server were used.

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 5:

There were 256 colors chosen at a pixel resolution of 1024x768, and the video card was autoprobed. If another monitor is used, you should check the documentation included with the particular monitor. For particulars on XF86Setup or xf86config, please consult the authoritative documentation put together by the Xfree86 Project, at www.xfree86.org/3.3.3.1/QuickStart.html.

Building an SMP kernel These instructions apply only to the 2.0.x series of Linux kernels. To build an SMP 2.2.x Linux kernel, it is necessary only to check off the SMP box when building the kernel configuration with ‘make config’, ‘make menuconfig’ or ‘make xconfig’ inside the /usr/src/linux directory. Note that, Compaq System Configuration parameters must be properly set. See the “APIC Settings (SMP)” section under “Compaq Hardware Basics”, above. This guide is not intended to cover the specifics of building a Linux kernel. For background information on how to build a new Linux kernel, Caldera Systems (www.calderasystems.com/support/techguide/COL12-Kernel-Rebuild.html) provides excellent documentation. The /usr/src/linux/README file, distributed with all Linux kernel sources, also provides good background for kernel compilation. There are two basic stages to building an SMP kernel and getting it to run on a Compaq ProLiant or Prosignia server . The first stage is to build the kernel itself. You should refer to www.phy.duke.edu/brahma/smp-faq/smp-faq-3.html, which is the source for the documentation on building an SMP kernel. The information discussed here is derived from the referenced document, with some commentary and additions for clarification. To build an SMP kernel, it is necessary to install the sources for the Linux kernel. All of the distributions covered in this document include the kernel sources as an install package. A good place to install the kernel sources is in /usr/src/ where is a directory name which identifies the source, e.g. linux-2.0.36 or linux-2.1.121. Once the kernel sources are installed, it is necessary to create a soft link from /usr/src/linux to /usr/src/. This allows /usr/src/linux to indirectly refer to the particular source distribution you choose to use. Assuming that kernel Version 2.0.36 is used, do the following: [chstewart@tlaloc ~]# su # switches user context to root Password: [root@tlaloc chstewart]# cd /usr/src [root@tlaloc src]# rm –f linux # removes any old soft links from linux [root@tlaloc chstewart]# ln –s linux-2.0.36 linux # creates /usr/src/linux soft link to point to /usr/src/linux-2.0.36 [chstewart@tlaloc ~]# exit These steps are useful since they allow you to always compile from /usr/src/linux, and are necessary since compilation scripts refer to /usr/src/linux explicitly. Once this is done, change directories to /usr/src/linux, and edit the Makefile present there. There are two lines that can be changed, one of which is mandatory. First, a line reads: # SMP=1 It is necessary to remove the “#” indicator so that it is no longer commented out. Some Linux SMP documents also recommend that the comment indicator be removed from this line: # SMP_PROF=1

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 5;

In Compaq’s testing for this guide, both SMP and SMP_PROF were uncommented. Once the Makefile is edited and saved, run make menuconfig (from a command prompt) or make xconfig (from a xterm) from /usr/src/linux. It is necessary to make the following kernel modifications: x Under the Character Devices menu, enable Real Time Clock support. According to the Linux Kernel Configuration help, “People running SMP (= multiprocessor) versions of Linux should enable this option to read and set the RTC clock in an SMP compatible fashion.” x Also under the Character Devices menu, disable Advanced Power Management BIOS Support. According to the SMP FAQ (mirrored at www.phy.duke.edu/brahma/smp-faq/smp- faq-3.html, and citing Jakob Oestergaard and Alan Cox), “APM and SMP are not compatible”. x Be sure that other kernel configuration options are properly set. Some distributions install the kernel sources with a default configuration identical to the kernel that is shipped with the distribution, others do not. It is necessary to build a kernel with proper support for Compaq ProLiant or Prosignia hardware in order for these guidelines to work. See section, Hardware Overview, for documentation on which device drivers need to be built in to the kernel or configured to be loadable as modules. Once this is completed, type “make dep; make clean” at the command line. Then type “make zImage”. This last command invokes the script that builds a new kernel. Making zImage will sometimes fail, usually because the kernel to be compiled turns out to be too big. If this is the case, then type “make bzImage” instead. Making bzImage builds a kernel with fewer constraints than those placed on make zImage. Once the kernel finishes compiling, the kernel image (either zImage or bzImage) will be in /usr/src/linux/arch/i386/boot. Copy this kernel image to the same directory where other Linux kernels are located (often / or /boot – look for filenames such as vmlinux or vmlinuz, or create a new directory off of / to hold kernels). Again, from the /usr/src/linux directory, type make modules. When this is complete, type make modules_install. These script commands build and install the necessary modules in an SMP compliant fashion (provided the SMP=1 is uncommented from the Makefile). Once this is done, all kernel and module binaries are built. At this point, you can edit the /etc/lilo.conf file to include a pointer to the new kernel image just built. Compaq recommends you keep the old LILO entry (and a LILO boot floppy) in case something should fail with the new SMP kernel. After the kernel, modules, and initrd pieces (see initrd in section below) are rebuilt for SMP, shutdown the server and reboot into the System Configuration Utility. Follow the instructions in section, APIC Settings (SMP), to place the Compaq server into an Intel SMP-compliant mode.

Distributions Which Use an Initial Ram Disk (initrd) Entry in /etc/lilo.conf An Initial Ram Disk is an area reserved in Ram at boot-up time into which a valid Linux file system is copied. This area of Ram is then mounted briefly during the boot-up process in order for the kernel to gain access to necessary device drivers – such as SCSI controller drivers – which enable the kernel to continue its boot process. This initial Ram disk is mounted as the root of the file system, and after appropriate drivers are loaded, the root hard disk – e.g. /dev/sda1 – is mounted at the root of the file system instead. Initial RAM disk.(initrd) is a LILO tag which tells LILO to unpack a gzipped file system image for loading into a RAM disk immediately after booting. Distributions that use an initrd tag often do so because no disk support is built directly into the kernel. In such cases, disk support must be available in a module, but since most modules reside on disk, the disk-support module is

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 5<

unavailable. To resolve this bootstrapping problem, module-based disk device driver support is placed into a gzipped file system image, which the kernel can load into RAM early in the boot process. This RAM disk then becomes the basis from which the kernel gains access (through the disk device driver module) to the hard disk. The problem that arises when rebuilding a kernel for SMP is that all modules, including the disk device driver module, must also be rebuilt for SMP. This means that the initrd file must be modified so that the compressed file system image contains an appropriate device driver. Caldera Systems, Inc. web site, www.calderasystems.com/support/techguide/COL12-Kernel- Rebuild-7.html, offers helpful information on how to build this initial RAM disk. It also gives complete information on how to reconstruct an initrd compressed kernel image with new device driver modules. You should refer to this site for more detailed information. Note: Keep an intact copy of the initrd file used as a basis to build an SMP-compliant initrd, and a non-SMP kernel can still reference it for booting in case the SMP kernel fails to boot properly.

Note: Not every Linux system is setup with an initrd compressed file system image named initrd.gz. Examine the /etc/lilo.conf file to discover the name and location of this compressed file image. If there is no initrd tag in /etc/lilo.conf, then there is no compressed file system image to reconstruct for SMP. In this case, appropriate disk driver support should be built directly into the kernel.

Apache Installation All of the distributions examined here allow you to install the Apache web server using the basic installation program. Once completed and the TCP/IP networking is properly set up, the Apache web server should function. More detailed information can be found in this guide in the section “Apache Server ”. This information is mostly offered through links to other Solutions Guides.

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 63

Appendix A

Linux and Apache Links This is a partial list of available links. If you would like to submit additional sites, please e-mail to the author at [email protected]. Every attempt will be made to include pertinent sites in future document revisions. x www.linux.org : The web site of Linux Online. x www.li.org : The web site of Linux International. x www.gnu.org and www.fsf.org : The web site of the GNU project and the Free Software Foundation. x www.apache.org : The web site of the Apache project. x metalab.unc.edu/LDP : The web site of the Linux Documentation Project. x www.calderasystems.com : The web site of the Caldera Linux distribution. Their support site, www.calderasystems.com/support, contains a lot of very useful Linux information. x www.redhat.com : The web site of the Red Hat Linux distribution. x www.suse.com : The web site of the SuSE Linux distribution. x ftp://ftp.caldera.com/pub/stuff/tlan.tgz : The latest TLAN driver is available here. x potter.ieee.uh.edu/compaq.html : A useful site for general Compaq Linux configuration issues. x www.insync.net/~frantzc/cpqarray.html : The Compaq SMART/2 Array Controller device driver site. x www.samba.org/ : The site of the Samba project, helpful to setup a network consisting of both Linux and Windows NT servers. x www.slashdot.org/ : A useful site for Linux news and trivia. x www.linux.org.uk/SMP/title.html : Link to useful information on Symmetric Multi- Processing under Linux. x www.phy.duke.edu/brahma/smp-faq : Linux SMP FAQ (mirrored from www.irisa.fr/prive/dmentre/smp-faq ). x www.cs.cmu.edu/People/AUIS/ftp/web/andrew-home.html : The Andrew Consortium site. You can obtain the Andrew EZ program for viewing Andrew EZ format documents (such as the SMP document posted on the www.linux.org.uk site). x www.xfree86.org : The Xfree86 Project. Most Linux distributions (including Caldera, SuSE and Red Hat) include the free X server developed by this organization.

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 64

Appendix B

Kernel Version 2.2 At this time, none of the three distributions covered in this Solutions Guide includes the 2.2 version of the Linux kernel. However, Appendix B attempts to direct you to the location of detailed information on this kernel. This guide further outlines a successful installation of the 2.2 kernel to ProLiant 1850R and 1600R servers, and to validate the new kernel on these servers. The most important area to address is the location of information regarding the new 2.2 kernel version. Several links outline this below: x ftp://ftp.us.kernel.org/pub/linux/kernel/v2.2 – Location of the Linux kernel 2.2 archives. This location is a U.S. mirror. x www.kernel.org/mirrors – Listing of kernel.org mirrors throughout the world. x www-stu.calvin.edu/~clug/users/jnieho38/goto22.html – Jon Niehof’s 2.2 kernel upgrade HOWTO. x metalab.unc.edu/LDP/HOWTO/Kernel-HOWTO.html – A basic Linux kernel HOWTO guide from the Linux Documentation Project. x roadrunner.swansea.linux.org.uk/clue.html – Alan Cox’s Clue-Point-Two site with helpful information on building the 2.2 kernel. x linuxtoday.com/stories/296.html – Linux Today’s guide to the 2.2 kernel. The upgrade has become increasingly simple in recent weeks. Both Red Hat and SuSE provide kernel RPM packages as well as RPM packages for upgrading necessary utilities. Caldera’s recently released OpenLinux 2.2 includes the new kernel directly in the distribution. To upgrade a distribution to kernel version 2.2, do the following: Obtain the kernel upgrade RPM package from the distribution vendor of choice. If the particular version is not as up-to-date as one would like, then obtain the update patch from www.kernel.org . SuSE provides its updated kernel and supporting packages at the following locations: x ftp://ftp.suse.com/pub/suse_update/SuSE-6.0/kernel/d1/lx_suse.rpm (kernel) x ftp://ftp.suse.com/pub/suse_update/SuSE-6.0/kernel/d1/binutils.rpm x ftp://ftp.suse.com/pub/suse_update/SuSE-6.0/kernel/a1/conf.modules x ftp://ftp.suse.com/pub/suse_update/SuSE-6.0/kernel/a1/devs.rpm x ftp://ftp.suse.com/pub/suse_update/SuSE-6.0/kernel/a1/kernmod.rpm x ftp://ftp.suse.com/pub/suse_update/SuSE-6.0/kernel/a1/net_tool.rpm x ftp://ftp.suse.com/pub/suse_update/SuSE-6.0/kernel/a1/pciutils.rpm x ftp://ftp.suse.com/pub/suse_update/SuSE-6.0/kernel/a1/ps.rpm

Red Hat provides its 2.2 upgrade packages at x ftp://updates.redhat.com/5.2/kernel-2.2/i386/dhcpcd-1.3.16-0.i386.rpm x ftp://updates.redhat.com/5.2/kernel-2.2/i386/initscripts-3.78-2.4.i386.rpm

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 65

x ftp://updates.redhat.com/5.2/kernel-2.2/i386/ipchains-1.3.8-0.i386.rpm x ftp://updates.redhat.com/5.2/kernel-2.2/i386/modutils-2.1.121-0.i386.rpm x ftp://updates.redhat.com/5.2/kernel-2.2/i386/mount-2.9-0.i386.rpm x ftp://updates.redhat.com/5.2/kernel-2.2/i386/net-tools-1.50-0.i386.rpm x ftp://updates.redhat.com/5.2/kernel-2.2/i386/procinfo-15-0.i386.rpm x ftp://updates.redhat.com/5.2/kernel-2.2/i386/samba-2.0.3-0.i386.rpm x ftp://updates.redhat.com/5.2/kernel-2.2/i386/util-linux-2.9-0.i386.rpm In the case of Red Hat, obtain the 2.2 kernel from www.kernel.org or download the SuSE kernel. Kernel RPM packages can be installed with the following command, using lx_suse.rpm as a sample file name: [root@tlaloc] rpm –ivh lx_suse.rpm Note that to use SuSE’s kernel upgrade on a SuSE distribution, one must use the “Upgrade” option of RPM (-U) rather than the “install” option (-i): [root@tlaloc] rpm –Uvh lx_suse.rpm The additional support packages can be installed using the following. In this case util-linux- 2.9.0.i386.rpm is used as the sample file name. Be sure to upgrade all of the packages listed above for a particular distribution: [root@tlaloc] rpm –Uvh util-linux-2.9.0.i386.rpm As of this writing, Caldera Systems does not seem to provide upgrade packages for OpenLinux 1.3. The sources are nevertheless available. The kernel itself can be downloaded from www.kernel.org. Once the kernel is downloaded, additional required sources can be obtained by reading the file /usr/src/linux/Documentation/Changes. This file contains information that documents which packages may need to be upgraded, how to determine if a particular package needs to be upgraded and locations on the Internet where sources can be downloaded. In addition, www-stu.calvin.edu/~clug/users/jnieho38/goto22.html contains a lot of very useful information regarding where to obtain source packages and how to build and install them. Once the new kernel is installed, it must be built. A sample .config file accompanies this document and may be downloaded from the Compaq ActiveAnswers site. One can copy this file to the /usr/src/linux directory which contains the upgraded 2.2.5 kernel. Once this is done, do the following. To make any changes to the .config file, or to customize the kernel without using the .config sample file, be sure to run ‘make menuconfig’ from /usr/src/linux first. In general, it is a good idea to ‘make menuconfig’ and save the .config file to be sure everything is formatted according to (possibly changed) kernel specifications, even if no changes are to be made to the configuration: [root@tlaloc] cd /usr/src/linux [root@tlaloc] make dep clean modules bzImage modules_install [root@tlaloc] cp /usr/src/linux/arch/i386/boot/bzImage /boot/bzImage-2.2.5 Next, add an entry to /etc/lilo.conf to boot the new kernel. A sample file follows. Users will have to modify this to accommodate their own naming and disk partitioning conventions: # begin global section boot=/dev/sda map=/boot/map

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 66

install=/boot/boot.b prompt timeout=50 # begin Linux section image=/boot/bzImage-2.2.5 label=2.2.5 append="mem=160M" root=/dev/sda2 read-only # begin Linux section image=/boot/vmlinuz-2.0.35 label=linux append="mem=160M root=/dev/sda2 initrd=/boot/initrd.gz read-only # begin System Partition section other=/dev/sda3 label=F10 table=/dev/sda Next, run /sbin/lilo to install the new LILO entries: [root@tlaloc] /sbin/lilo Added 2.2.5 * Added Linux Added F10

RAID Since the distributions detailed in this document (Caldera 1.3, Red Hat 5.2, and SuSE 5.3 and 6.0) do not support installation to a RAID device, Linux must first be installed to a SCSI device and then moved to the array device. In order to move the operating system from a SCSI device to a RAID device, both devices must be connected to disk storage simultaneously. In order to do this, one must have one or more SCSI drives connected to the machines SCSI channel at the same time that several drives are connected to the SMART Array Controller channel. There are two ways to do this. Both of these apply only to the ProLiant servers detailed in this Guide. The first way is to connect either the external SCSI channel or the external RAID channel to an external ProLiant storage system. That leaves the internal drives available to be connected to either the internal RAID channel (if the SCSI drives are connected externally) or the internal SCSI channel (if not). The second way to accommodate the need for simultaneous connection to the RAID and SCSI channels is to bolt a non-hot-pluggable drive to one of the internal, non-hot-pluggable drive bays of the ProLiant 1600 or 1850R. Connect this drive to the internal SCSI channel and connect the internal hot-plug drive bay to the RAID channel. Either of the above-mentioned hardware configurations allows for installation to the SCSI device – which is supported by the Linux distributions covered here – and subsequently allows for copying the operating system from the SCSI device to the RAID device.

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 67

If a Compaq SMART/2 Array Controller is used, it must be set up during the SmartStart portion of the Linux installation using the following steps:

Note: The SMART array controller must not be set up as the initial boot device at the beginning until such time as Linux distributions become capable of installing directly to such a device. Therefore, during the System Configuration portion of the SmartStart process, it will be necessary to edit the Configuration details. Scroll down to where the SMART array controller device is listed. If it is listed as first in the boot sequence, change it to third. This will result in a prompt to change one of the SCSI channels to be first in the boot sequence. Accept the change. Then scroll to the SCSI channel that was converted to be first and be sure it is the one to which drives are attached. This is particularly important if an external ProLiant Storage System is used for the initial installation. The System Configuration Utility may choose one of the internal SCSI channels (which may not be in use) rather than the external channel (which has the drives attached).

13. Be certain the System Configuration utility identifies the operating system as SCO Unixware 7 on ProLiant Server setups if you intend to use the array controller as a boot device. Some issues have arisen with the interrupt settings if other operating systems are configured for a Linux installation that boots from a Compaq array controller. The operating system selection affects how the Compaq Array Configuration Utility sets up an array. Since the operating system selection is not a part of the Prosignia server configuration, this portion of the setup can be safely ignored. 14. When exiting the System Configuration utility, SmartStart will automatically invoke the Compaq Array Configuration utility after the initial setup. Follow the instructions included in the utility to build a RAID-0, RAID-1, RAID-4 or RAID-5 array set and to create logical drives as desired. Be sure to save the configuration before rebooting. A wizard button will be at the end of the wizard-based configuration process and it allows you to save the configuration. Alternatively, you may select File…Save in the Array Configuration Utility, which is launched after completing the configuration through the wizard. When complete, exit from the utility. 15. The system will reboot to configure the hardware and install the system partition. 16. When completed, you will be prompted to either save the configuration and reboot, or to view or edit details. You should initially be sure that the system boots a SCSI device first in order to install Linux first to such a device. Do this by selecting View or Edit Details after the System Configuration utility completes its hardware configuration. Later, after a custom kernel is built that can recognize the SMART Array Controller, the System Configuration utility must be invoked again to change the boot order again so that the SMART Array controller boots first. Since none of the distributions discussed in this Solutions Guide currently support installation to RAID devices (they look like /dev/ida/c0d0p1), it is necessary to install the initial system to a SCSI device and move it to RAID after the fact. First, a custom kernel must be built to include RAID support. To do this, follow these steps: 17. Obtain the driver from www.insync.net/~frantzc/cpqarray.html . Follow the instructions in the README file included with the SMART/2 driver to patch the kernel. Alternatively, if the new 2.2 kernel is to be used, obtain a pre-patched kernel version 2.2.5 from ftp://ftp.suse.com/pub/suse_update/SuSE-6.0/kernel/d1/lx_suse.rpm . This kernel already contains the requisite patches for the Compaq SMART array controller driver, and it has been tested for correct functionality in preparation for this document.

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 68

18. Configure and build the custom kernel (be sure to include appropriate SCSI support – usually NCR53c8xx for Compaq servers – as well since Linux will be copied from the SCSI partition to the RAID partition). A sample .config file (which can be placed in /usr/src/linux) is included as an attachment to this document. This .config file contains a correct kernel build configuration for the Linux 2.2 kernel with the SMART array controller driver options properly selected. In general, it is a good idea to ‘make menuconfig’ and save the .config file to be sure everything is formatted according to (possibly changed) kernel specifications, even if no changes are to be made to the configuration. 19. Once the custom kernel is correctly built, a LILO entry must be created for it. This LILO entry should still boot to the SCSI partition. The reason for this is that the SCSI disk is the only disk device visible to the system until the new kernel is booted to provide access to the SMART array controller. 20. Execute the MKDEV.ida script to construct the RAID block devices. This script may be found under /usr/src/linux/drivers/block. It may be necessary to change permissions on the script so that it is executable. Perform the following as root: [root@tlaloc] cd /usr/src/linux/drivers/block [root@tlaloc] chmod 744 MKDEV.ida [root@tlaloc] ./MKDEV.ida 21. Reboot the computer at this poin into the re-built kernel that recognizes the SMART Array Controller. 22. Run fdisk to configure the RAID partitions (a pointer to a patch for fdisk is included in the information for the device driver – this patch is useful but not necessary). Be sure to run fdisk for the appropriate device explicitly. For instance to run fdisk for the first array attached to the array controller, run [root@tlaloc chstewart]# fdisk /dev/ida/c0d0 To find out exactly what the RAID device names are, examine the boot logs and look for entries of the format, ida/cxdx. 23. Create appropriate partitions. Usually, this will include at least one partition (/) for the operating system and a swap partition. If desired, multiple partitions can be created within each RAID logical disk – just as if it were any other disk device. 24. Write these partitions to the partition table. Do so by exiting fdisk with the “w” command. 25. Sync the system 26. Reboot into the same custom kernel Note: Even if it is not necessary to reboot the system, it is recommended you reboot since it is the safest way to ensure that all partition tables are properly updated.

27. After rebooting, you can format any Linux partitions created using mke2fs. For the first partition on the first array, do the following: [root@tlaloc chstewart]# mke2fs /dev/ida/c0d0p1 Subsequent partitions take the form /dev/ida/c0d0p2, and so forth. Separate arrays might have the form /dev/ida/c0d1 or /dev/ida/c1d0, and they will include their respective partitions as created with fdisk. For additional parameters that can be used with mke2fs, consult the appropriate man pages. Be sure to also set up any swap space that has been created on the array controller device, e.g.:

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 69

[root@tlaloc] mkswap /dev/ida/c0d0p2 This assumes that /dev/ida/c0d0p2 is a swap partition created on the RAID device. Once partitions are formatted, they can be set up to boot Linux. First, the Linux system must be archive-copied to the array controller device. The easiest thing to do is to copy the entire system from the root to a single partition controlled by the array controller. Since it is necessary to mount the array controller device to do this, it is useful to do archive copies of each directory subordinate to the root individually: [root@tlaloc chstewart]# mkdir /array [root@tlaloc chstewart]# mount –t ext2 /dev/ida/c0d0p1 /array [root@tlaloc chstewart]# cp –a /root /array [root@tlaloc chstewart]# cp –a /etc /array [root@tlaloc chstewart]# cp –a /usr /array Continue coping each directory subordinate to /, except for /proc and the mount point for the array controller, to the array controller device. Be sure to create the /array/proc directory so that the proc file system has a mount point when booting directly to the SMART Array Controller. Next, edit the /etc/fstab file that has been copied to the array controller (i.e. /array/etc/fstab) so that the swap space and file systems are mounted appropriately. A sample /etc/fstab file follows: /dev/ida/c0d0p1 / ext2 defaults 1 1 /dev/ida/c0d0p2 swap swap defaults 0 0 /dev/fd0 /mnt/floppy ext2 noauto 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0 none /proc proc defaults 0 0

Finally, add a LILO entry for the array controller in /etc/lilo.conf. To boot off of the array controller, one should update the boot and root entries appropriately to reflect the new boot device. One this is complete, build and install the patched version of LILO that is array- controller-aware, and run the new version of LILO. LILO sources are available at ftp://metalab.unc.edu/pub/Linux/system/boot/lilo/. The patch to enable it to recognize the array controller device is available at www.insync.net/~frantzc/lilo.patch . Since no boot records have previously been written to the boot sector of the array device, it will be possible to use lilo-21 for this step regardless of the LILO version which shipped with your Linux distribution. To patch LILO, obtain the sources and patch from the above-listed sites. Copy them both to /usr/src. Then, unpack the LILO sources as follows: [root@tlaloc] cd /usr/src [root@tlaloc] tar xzf lilo-21.tar.gz [root@tlaloc] patch –p0 < lilo.patch [root@tlaloc] cd lilo [root@tlaloc] make; make install A sample /etc/lilo.conf file follows. It assumes that /array/boot/bzImage-2.2.5 is the kernel image that will boot from the array controller. It also assumes that /dev/ida/c0d0p1 is the bootable partition on the array controller. It also tells LILO to install itself on the Master Boot Record.

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 6:

Compaq’s testing suggests that this is the best way to install LILO on a SMART Array Controller device: # begin global section boot=/dev/ida/c0d0 map=/boot/map install=/boot/boot.b prompt timeout=50 # begin Linux section image=/boot/bzImage-2.2.5 label=2.2.5 append="mem=160M" # allow access for greater than 64 MB RAM root=/dev/ida/c0d0p1 read-only # begin Linux section The above sample shows a LILO configuration that will install to the Master Boot Record. Our testing suggests this is the best way to incorporate LILO into the SMART Array Controller. Once LILO has been patched and rebuilt, install it to /sbin (doing ‘make’ and ‘make install’ as listed above will install the patched LILO to /sbin – be sure to also copy it to /array/sbin so that it will be available after booting to the array controller device). Then, run LILO so that it changes its root to the mount point of the array controller device. Assuming that the array controller device is mounted on /array and that /array/etc/lilo.conf has been set as listed above, the following output would be expected: [root@tlaloc chstewart]# /sbin/lilo –r /array Added 2.2.5 * Once these steps are completed, it will be necessary to change to device boot order again so that the array controller device is booted first. To do this, place the SmartStart CD into the CD-ROM drive prior to re-booting the system. When SmartStart comes up, choose to run the System Configuration Utility. Accept the option to Configure Hardware, and when this is complete, choose to View or Edit Details. Scroll down to the SMART array controller entry and modify its boot order to be first. There are other ways to use RAID without booting to it. For example, HTML data files can be moved to a RAID partition that has been mounted in an appropriate portion of the file system. To do this, simply use the SCSI device to boot from, and mount the array controller at an appropriate point in the file system. For instance, if it is desired to use the array controller to protect or accelerate HTTP data for a default Red Hat-Apache web server installation, one can do the following after formatting the /dev/ida/c0d0p1 device (or other array device): [root@tlaloc] mkdir /tmphttpd [root@tlaloc] mount –t ext2 /dev/ida/c0d0p1 /tmphttpd [root@tlaloc] cp –a /home/httpd /tmphpptd [root@tlaloc] sync [root@tlaloc] umount /tmphttpd [root@tlaloc] rmdir /tmphttpd [root@tlaloc] rm –rf /home/httpd/*

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 6;

[root@tlaloc] mount –t ext2 /dev/ida/c0d0p1 /home/httpd To be sure the device mounts properly at the next boot, add an additional entry to /etc/fstab.

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 6<

Glossary A Availability - Refers to the amount of time that an application is available to perform work, typically measured in percentage of uptime. Array Controllers – Add-on options for the ProLiant servers. B Bootstrap – The act of passing control over a computer to an operating system following system power-up. C CPU – Central Processing Unit D

E E-Commerce – Electronic Commerce F G GB – Gigabytes H I IDE – Integrated Development Environment IP – Internet Protocol – The part of TCP/IP Protocol set that provides the routing mechanism. J K L LILO – Linux Loader LISA – The setup and configuration utility provided by Caldera Systems for their Linux distribution. M Man pages - Manual pages MIB – Management Information Base – Set of monitored items that management application and management agents use to monitor, analyze, and control the operation of managed devices. MB - Megabytes N NIC – Network Interface Card O P Q R RAID – Redundant Array of Independent Disks

ECG513/0399 ,QVWDOODWLRQ DQG &RQILJXUDWLRQ *XLGH IRU /LQX[ DQG $SDFKH :HE 6HUYHU RQ &RPSDT 3URVLJQLD DQG 3UR/LDQW 6HUYHUV 73

S System Partition – The name of the bootable partition used to configure Compaq ProLiant servers. Switch – A switch is a network device that selects a path or circuit for sending a unit of data to its next destination. T TCP/IP – Protocol that manages the transmission of packets on a network and checks for errors. U URL – Universal Resource Locator – the name of a specific resource on the Internet. V W XYZ YaST – The setup and configuration utility provided by SuSE for their Linux distribution.

ECG513/0399