Also see http://staarage.ubishops.ca/PL5000
Installing Slackware on a Compaq Proliant 5000 A number of years ago, the university that I currently work for decided to purchase a Compaq Proliant 5000 server. It was a great machine in its time, but after over five years of running Novell Netware 4.11 for all of our faculty, administration, and students, it was replaced. For over a year, it sat in our computer room, powered off and unused... until one day when I had the bright idea of taking it home with me and using it for a Linux server. This document describes the whole experience. My server's configuration is as follows: 1 Compaq Proliant 5000 server, containing: 1 processor board w/ 2 Pentium Pro 200MHz processors 768 Megs of RAM On board SCSI card Two SMART/2-P RAID controller cards Three Compaq Netelligent 10/100 network cards 1 Compaq Series 9032 RAID tower, containing seven 4.3 gig hard drives 1 Compaq Series 9032 RAID tower, containing six 9.1 gig hard drives The functions of my server are: - To provide a gateway/firewall for my home network to access the Internet. - To provide storage space for my other networked PCs. - To house a central backup solution for my network. - To monitor the connected UPS and be able to shut down upon an extended power failure. - To run accounting software for my small business. - To serve as a telephone answering device for my small business. Currently, I am connecting to the Internet via a 56k modem (no high speed Internet access available where I am yet unfortunately) via PPP, and I am using ip-tables to do simple NAT. For storage space, I am using Samba with a couple of SMB shares configured. The other functions are described later on in this document. Testing The first thing that I did before taking the server home with me is spent a great deal of time testing the hardware, as one of the reasons that the server was taken out of production was because Netware started abending on us about once a week, and it had never done that before. With the assistance of http://www.cpqlinux.com and the very helpful Richard Black, we made sure that I had the latest firmware installed and the latest utilities on my system partition that supported the 5000. I installed: System ROMPaq Firmware Upgrade Disk v4.03 Rev. A System Configuration Utility Version 2.58A Server Diagnostics TEST and INSPECT Version S10.38A (later upgraded to S11.03A) Array Configuration Utility Version 1.20 Rev. B Drive Array Advanced Diagnostics Version 1.44 Rev. A SMART-2 SCSI Array Controller Firmware Upgrade Diskette Version 3.10 Rev. A A couple of different SCSI Hard Drive Firmware Upgrade Diskettes After installing the software, I then spent the next several days running diagnostic tests on the system, using both the Server Diagnostic TEST utility on the system partition (both versions listed above) as well as the built in test utility in the server's ROM. After many, many hours of testing, I hadn't found any problems, so concluded that the server was in good health, and the abends in Novell must have been caused by some other reason. I took out a couple of the Netelligent network cards and left one in, keeping the other two for spares. I also ran the Array Configuration Utility to check the configuration of the two RAID towers. We had purchased three additional 9.1 gig drives and had installed them, but never configured Novell to use them, so I deleted the array configuration on this tower and recreated it to use five of the drives in a RAID-5 configuration with one drive as a hot standby. I still have one 9.1 gig drive at work left that I will add to this tower eventually, filling it to maximum capacity of seven drives, similar to the 4.3 gig tower. One hardware repair I had to make was on one of the RAID towers. One of the internal cooling fans had quit while it was still in service as a Novell server, causing the front “Trouble” light on the server to illuminate when the power was applied, and the 5000 to detect a Cooling fan malfunction whenever it would start up. Seeing that it was a three lead fan, I replaced it with a new one, thinking that the third lead was used for a tachometer signal as it is on modern day motherboards... an assumption that turned out to be wrong. Now every time I powered up the tower, the trouble light flashed in a random pattern. Again with Richard's help, he informed me that the tower didn't use a tach signal for detecting whether or not a fan had failed, but rather a rotor locked signal, which basically set the line high when the fan rotor stopped turning and left it low when the fan was running. The reason the trouble light was flashing was that the tach signal that the fan was sending the controller was a sine wave, so the controller was getting the message from the fan, “I'm locked, now I'm not, now I'm locked, now I'm not” and it didn't know what to do. Now the fun begins... I got the number off the back of the fan-it's a Nidec TA350DC, model M33503-68 CQ2, and had a look on Nidec's web site, but discovered that this fan is no longer manufactured. Writing Nidec asking them for an equivalent part number got me a response back very quickly that model M34422-68 would work. The only problem is, I COULDN'T FIND THIS FAN ANYWHERE! Not only that, but Nidec won't sell me one directly. That was several months ago, and I am still looking for a fan to replace it with. I've left the modern day tach fan in the RAID tower for now, which still causes the trouble light to flicker and the occasional Cooling fan malfunction failure whenever I reboot, but other than that it doesn't seem to be hurting things. Richard is currently trying to locate a fan for me, and we've found a few on Ebay as part of entire towers for sale, but the problem with me and Ebay is that I'm in Canada, so shipping an entire RAID controller up to me is quite expensive after shipping, duties, taxes, and brokerage fees are accounted for. If I can't find a fan, I might just connect a jumper between the ground lead of the fan and the sensor, which should fool the controller into thinking the fan connected to it is always turning (I see there are other unused fan connectors on the controller board with this type of jumper on them, which I guess were supposed to be for additional fans that never were installed), and even if this particular fan quits, it's not really a big deal since the tower ran several months after it had died while still in service. But if I can, I'd like to replace the fan without having to make any modifications to the wiring. Home Sweet Home Finally it was time to bring the server home. Let me tell you, the 5000 is not the lightest piece of equipment in the world, although I'd have to say it wasn't as heavy as my HP Laserjet IIISi that someone gave me to keep if I could fix it (which I did). Let's just say that I was happy to get it down in my server room. Next up was a few more hardware modifications. I installed a newly purchased GVC MD0321 internal 56k data/fax/voice modem, and transferred a Sound Blaster 16 ISA sound card from the old Linux server I had running. The Proliant 5000 saw all of the PCI devices fine in the System Configuration Utility, and allowed me to insert a placeholder for the ISA resources that the SB16 took... all I had to do was tell it what slot I had plugged the card into, and reserved the resources io=0x220h, irq=5, dma=1, hdma=5, mpu=0x330h. I then had to modify my server cabinet's shelving in order to accommodate all of the new hardware. After a bit of frustration, I managed to squeeze everything in... had to take the base off of the monitor I was using in order for it to fit on top of the two RAID controllers. Slackware 8.1.01 I have always been a Slackware Linux fan. A former colleague of mine introduced me to Linux by installing with me a very early version of Slackware on a machine at work. I can't remember which version it was, but I remember we were running it on a 386 with kernel 1.0.x and eventually upgraded it to 1.2.13. Being a big fan of DOS and an expert in batch files, I was instantly hooked to Slackware's way of doing things... text based! I remember my first kernel recompile... it went something like, “Y, Y, N, Y, N, N, Y, Y, N, N, N, N, Y...” Ah, the memories. :-) But back to our story. Slackware 8.1.01 had just been recently released, and I was anxious to install it on my “new” server. I burned a copy of an ISO that I had created at work and brought it home. Fortunately, the BIOS was new enough that it allowed booting from CD, so placing the CD in the drive and powering everything up eventually brought me to the Welcome to Slackware 8.1.01 message. Selecting to boot the raid.s kernel, I was off and running, and my two SMART/2-P controllers and towers were all detected... sweet! I had never worked with any type of RAID devices before on Linux, so was glad that everything was being seen. After booting and logging in as root, the first thing I did was run fdisk on the two RAID towers. Linux detected the Compaq diagnostics partition fine that was on the first tower, so I made sure I didn't delete it when I erased the old Novell partitions that were still on it. On this tower, which was my boot drive, I created a small partition used for /boot, my swap partition, and then the rest of the space for my root partition. On the other tower, I created one large partition, which would be mounted later as /storage. Disk /dev/ida/c0d0: 21.4 GB, 21461975040 bytes 255 heads, 32 sectors/track, 5137 cylinders Units = cylinders of 8160 * 512 = 4177920 bytes Device Boot Start End Blocks Id System /dev/ida/c0d0p1 1 9 36704 12 Compaq diagnostics /dev/ida/c0d0p2 * 10 42 134640 83 Linux /dev/ida/c0d0p3 43 75 134640 82 Linux swap /dev/ida/c0d0p4 76 5137 20652960 83 Linux Disk /dev/ida/c1d0: 36.3 GB, 36393861120 bytes 255 heads, 32 sectors/track, 8711 cylinders Units = cylinders of 8160 * 512 = 4177920 bytes Device Boot Start End Blocks Id System /dev/ida/c1d0p1 1 8711 35540864 83 Linux I prefer setting up a small /boot partition so that LILO doesn't have to worry about booting over the 1024th cylinder (even though newer LILOs don't seem to have a problem with this, fdisk will still warn you that your drive is over 1024 cylinders when you run it). It also gives me a second partition to mount where I can store a statically linked copy of fsck should my root partition not be mountable for whatever reason (even though in this case I have another device, but old habits die hard). After rebooting to re-read the partition tables, I started running setup. Created my swap space and formatted and mounted all of my partitions, selecting to do a bad block check just to be safe. Fortunately no bad blocks were found anywhere, and I proceeded to select my install source, the Slackware CD. Only problem was, Slackware setup couldn't find the CD! By using the raid.s kernel, no drivers had been loaded for the onboard SCSI controller, so my CD-ROM drive wasn't known to setup. I rebooted and selected the scsi.s kernel, and that kernel found the onboard controller and CD-ROM drive, but not the SMART-2/P's, so this time neither one of my towers were detected. Same problem with the scsi2.s kernel. I thought about it for a few minutes, and came up with two solutions to this problem: 1) Install temporarily an IDE controller card and IDE CD-ROM drive to the 5000 and use that to copy the CD onto one of the RAID controllers, then install directly from the hard drives, or 2) Compile a module for the onboard SCSI card and load it from a diskette. I chose option #2, because I had already another Slackware 8.1.01 box setup at work that I was testing, so I was able to remotely access it, recompile the kernel on it choosing to create a module for “NCR53c7,8xx SCSI support”. After compiling, I downloaded the module I had just compiled and copied it onto a floppy diskette. Booting the 5000 with the raid.s kernel, I inserted the diskette into the drive and executed the following commands: mount /dev/fd0 /floppy –t ext2 cd /floppy insmod ncr53c7,8xx.o It worked! The onboard SCSI controller was seen and so was the CD-ROM drive. I continued with the setup, installing Slackware 8.1.01, and everything went fairly smoothly. Configuring the system, Slackware failed to detect the Netelligent network card in the machine. I determined by looking at the chipset on one of the other cards that I had pulled out of the machine that probably the TI ThunderLAN driver (module tlan.o) would work, so I manually edited /etc/rc.d/rc.modules and unREMmed the corresponding modprobe line, and the driver worked fine after rebooting. Also, I needed to make two modifications to my lilo.conf file, as Slackware tried to install LILO onto my root partition /dev/ida/c0d0p4, even though my boot partition was /dev/ida/c0d0p2, plus it wouldn't detect all of the memory in my server, only the first 16 Megs (which did make the install a bit on the slower side). I added the line: append=”mem=768M” to lilo.conf and changed the line: boot = /dev/ida/c0d0p4 to: boot = /dev/ida/c0d0p2 A rerun of lilo and everything was working. I then proceeded to recompile the kernel (version 2.4.18, which shipped with Slackware 8.1.01). The biggest thing I was anxious to see was if Linux was going to support the dual processors in my server, so I added support for “Symmetric Multi-processing support”. I also configured the sound card drivers as well as all of the usual settings I customize. While compiling, I made the usual initial modifications, editing files in /etc and /etc/rc.d. After the compile had finished, I crossed my fingers and rebooted, and sure enough, Linux detected and was able to use my two processors! It was getting quite late (actually quite early), so I decided to call it a night. Problem #1 I've been interested in computers ever since I was a little boy. I remember when I was six years old going over to a friend of our family's house. They had just bought a Commodore VIC-20 and showed it to us, and we ended up playing Omega Race and Avenger (a space invaders clone) for hours and hours. I also remember future visits typing in the example programs in the back of the VIC's users manual. I was fasinated by it and what it could do. Finally, my parents bought my two brothers and I our own VIC one year while camping in the USA. I remember my brothers were super happy that they could finally play Omega Race and Avenger whenever they wanted, and our cartridge game collection gradually grew larger and larger. But I was different... yes I loved playing my share of cartridge games as well (still do to this day actually), but I was more intrigued by the BASIC language. I read through the VIC's manual over and over again, and by doing so taught myself BASIC when I was seven years old. I would type in stuff out of books and magazines, and I remember running the programs and then saying to myself, “That's neat, but I don't like this part... let's change it” or “how about adding this feature.” I'd have to say that if it wasn't for the VIC-20, I probably wouldn't have the job I have today and wouldn't be as knowledgeable about computers as I am. Other Commodore stuff followed: a Commodore 64, datasette, 1541 disk drive, and of course more games. I now collect Commodore stuff, and can do some really neat things with them like emulate a 1541 disk drive with a PC, so I can store all my old diskettes on a hard drive-makes loading much faster and easier! (BTW, if anybody reading this has any old Commodore stuff they'd like to donate to my collection, or any old Atari 2600 or Colecovision videogame cartridges, please email me at the address below!) But another one of my fasinations is clocks. I love all sorts of clocks, especially wall clocks and coukoo clocks. But my favorite type of clock is the grandfather clock. The same friends of our family that had the VIC-20 computer also have a beautiful grandfather clock in their hallway, and I loved to listen to the chimes ever 15 minutes. Unfortunately, my budget prohibits me from having one of my own now... a real one that is. Several years ago, my friends were having some computer problems and wanted me to work on their PC. I agreed, and after the job was done, they tried to pay me, but I refused payment (after all, they were good friends and for what I did I didn't feel right in accepting any pay). But they insisted, so I made them a little deal. I asked them if they would allow me to come over with some audio equipment and record their grandfather clock chiming. They were a bit surprised, but agreed, and a few days later, I brought over some microphones, a mixer, and a PC, and digitally recorded all of the chimes on their clock. I converted these recordings to raw PCM files, and using a custom script that I run from cron every 15 minutes, my Linux server plays back the appropriate files through a sound card, so people who visit me think I have a real grandfather clock. The first problem of my Proliant started in relations to these grandfather clock chimes. Everything would work fine for a couple of days, but then all of a sudden, the sound would come out garbled instead of normal. I noticed in my Linux log files when this happened the following entries: kernel: Uhhuh. NMI received. Dazed and confused, but trying to continue kernel: You probably have a hardware problem with your RAM chips kernel: Uhhuh. NMI received for unknown reason 24. kernel: Dazed and confused, but trying to continue kernel: Do you have a strange power saving mode enabled? Doing a cat of /proc/interrupts showed me two NMI interrupts had occurred. The only way to cure it and get my sound back was to reboot the computer. I thought that it must have been an incompatibility with the 5000 and my ISA sound card, so I replaced it with a Sound Blaster PCI128 that I had. Unfortunately, the NMI's continued, but my sound was working okay now afterwards, and it didn't seem to be affecting the system in any other way, so I left it alone for a little bit. More hardware The next device I decided to transfer from my old Linux server was my Onstream DI-30 tape drive. Only problem with this was this drive is IDE, and the Proliant 5000 has no onboard IDE controllers to connect it to. So I took a Maxtor PCI IDE controller that I had bought for another machine whose BIOS didn't support large hard drives (now retired). This card is based on a Promise Technology 20267 rev. 2 chipset. Plugged the card into the 5000, and connected the drive to the card, and the computer immediately recognized both the card and tape backup drive. Linux had no problems finding it as well once I recompiled the kernel with “PROMISE PDC202{46|62|65|67|68|69|70}” support. Loading the ide-scsi.o and osst.o modules and my tape drive was detected as /dev/osst0. No problems there... or at least so I thought. I then disabled the on-board video by flipping the appropriate motherboard DIP switch (took me two tries, as the first time I wiped out the server's EISA configuration and had to reconfigure it!), and added an ATI Expert @ Play 98 video card so that I could run X with a decent resolution and number of colors. For some reason I wasn't able to get anything working with X using the onboard Cirrus Logic card, but the ATI card worked nice... or once again, so I thought. Problem #2 Time for my first test backup. I started a simple tar -czvf /dev/tape / job and let it run for a while unattended. To my surprise, when I came back to check on it 15 minutes later, it had died. Checking out my syslog files, it was full of entries similar to the following: kernel: ide-scsi: CoD != 0 in idescsi_pc_intr kernel: hde: ATAPI reset complete kernel: ide-scsi: CoD != 0 in idescsi_pc_intr kernel: hde: ATAPI reset complete kernel: ide-scsi: CoD != 0 in idescsi_pc_intr kernel: hde: ATAPI reset complete kernel: hde: status error: status=0x58 { DriveReady SeekComplete DataRequest } kernel: hde: drive not ready for command kernel: hde: status error: status=0x01 { Error } kernel: hde: status error: error=0x04 kernel: ide-scsi: Strange, packet command initiated yet DRQ isn't asserted kernel: hde: status timeout: status=0xd1 { Busy } I couldn't figure out why it wasn't working. The drive had worked fine in the last machine I had installed it in, as I was doing regular backups of my network, and the IDE card was also working fine in the last machine it had been installed in. I tried different tapes, turning on and off DMA access and other parameters with the hdparm utility, even wrote several emails to the osst mailing list which I am a member of... nobody seemed to know what to do. Then I remembered something... the Maxtor card always used to display a startup screen right after POST, similar to how other SCSI cards I had used in other machines displayed startup screens, but now it wasn't displaying that screen anymore! I also remember that this startup screen stopped appearing right around the same time that I disabled the internal video card on the PL5000 and installed my ATI Expert @ Play 98. So on a hunch, I pulled out the Expert @ Play 98 card and replaced it with a standard Mach 64 CT video card. Low and behold, the IDE startup screen reappeared, and the syslog error messages disappeared! My backups were working again. Talk about weird... but at least it was working. Problem #1 Revisited The NMI interrupts were starting to get on my nerves. Not that they appeared to be affecting the system at all anymore, but I'd never had a system that did that before and I figured Linux wouldn't complain about something unless it was a real problem. I did some Internet research, and everywhere I looked, including the error messages in the log files themselves, pointed to bad RAM. Okay, maybe that was why the server was abending with Netware before we took it out of service. But if RAM was bad, why didn't my 72+ hours of diagnostic testing find it then? I tried removing some of my banks of RAM, but could never seem to isolate it to one bank. I even sent one bank of 512 Megs that we had bought after the server from a supplier that garantees all their RAM for life back to them to be tested, hoping that it would find it to be defective and then replace it. No such luck... the RAM tested fine, and they shipped it back to me. But even after placing this RAM in the server all by itself, the NMIs continued to appear. Richard Black suggested that it might be SCSI related, so I tried turning off the onboard SCSI adapter in the BIOS... no help. I was quite discouraged-I figured that I must have some problem on the motherboard that was causing these NMIs to occur. One thing I did notice was that the NMIs seemed to be occuring on the same processor all the time, as shown by the following output of the command “cat /proc/interrupts” CPU0 CPU1 0: 765018 681896 IO-APIC-edge timer 1: 668 442 IO-APIC-edge keyboard 2: 0 0 XT-PIC cascade 3: 2933 2886 IO-APIC-level TLAN 4: 53423 40880 IO-APIC-edge serial 5: 53521 54468 IO-APIC-level es1371 7: 1 1 IO-APIC-level ide2 8: 0 1 IO-APIC-edge rtc 9: 19 20 IO-APIC-level sym53c8xx 10: 44068 44255 IO-APIC-level serial 12: 6 2 IO-APIC-edge PS/2 Mouse 14: 9 7 IO-APIC-level ida1 15: 3593 3320 IO-APIC-level ida0 NMI: 2 0 LOC: 1446824 1446823 ERR: 0 MIS: 0 I thought that maybe I had a bad processor, so I tried pulling out the processor card and swapping the two Pentium Pro 200 processors between their corresponding sockets, hoping that maybe the NMI would switch to CPU1, but it remained at CPU0. Swapping the VRM modules also produced no change. Once again, I let it be. In the meantime, I was also getting frustrated with the choice of modem that I had purchased, a GVC MD0321 internal data/fax/voice modem. I had originally purchased this modem because I saw that it was compatible with Linux due to the fact that it was a real hardware modem, not a software or Winmodem (it's based on the Topic 560i chipset, and to use it, I simply had to run the setserial command on bootup), and one of my projects for this new server was to use the modem's voice capabilities with a nice little program called VOCP. VOCP is “much more than an answering machine, VOCP transforms your computer into a full-featured call answering and voice messaging system. With the VOCP System, you can create an unlimited number of voicemail, pager and command shell boxes which callers will navigate using their touch tone telephone. You can send and receive faxes, listen to your email using text-to-speech, filter and redirect calls based on caller ID information, run programs through the telephone and more.” (Taken from the VOCP homepage, found at http://www.vocpsystem.com) With several patches and some head banging, I finally got the modem working with vgetty, and it was answering the phone and playing back my prerecorded messages as well as detecting DTMF tones. But, it wouldn't let me record anything. After much troubleshooting and the help of the VOCP author, we got everything working. But I didn't like the way my modem was behaving. It seemed to be built really cheap, with a lot of shortcuts taken to try to save money. For example, one of the parameters that vgetty (the software that actually talks to and controls the modem) allows you to adjust is the frequency and duration of the beep command, which when the modem receives a beep command, it transmits a beep over the phone lines. But no matter what frequency I'd put in, the modem would always beep at the same frequency. Looking at the vgetty log files, I could see that vgetty was not to blame, as it was sending the correct command to the modem with the frequency I had specified; the modem was simply ignoring my frequency and beeping its own. Another thing that bugged me was the way the caller ID information was appearing... in a non-standard form that vgetty didn't understand. I was able to work around it by telling the modem to output the CID information unformatted and again writing a small patch and running a custom script to interpret the long hex dump of numbers that the modem sent, then convert that into a name and phone number. Even the data part of the modem didn't work very well... often I would get disconnected from my ISP and have to redial, and sometimes it would take two or three times before I could get a connection. I decided enough was enough-three strikes and you're out... it was time to pull the modem. But what modem could I replace it with? Having joined the vgetty mailing list several months prior, I knew that vgetty was very picky as to what modems it would work with. Somebody recommended an AOpen modem... model FM56-ITU/2, and as luck would have it, the computer store that we run at my university had one that they used to transfer information between machines when no network cards were available. I borrowed it and brought it home, pulled out the GVC, configuring the new modem for COM2, and plugged it into one of the free EISA slots. After disabling the internal COM2 port in the System Configuration Utility and reserving 0x2f8h and IRQ 3, Linux found it no problem. Reconfiguring vgetty and VOCP to use the new modem, and it all worked fine. My ISP connected up first time every time, and I would rarely get cut off in the middle of a session. And caller ID output made sense to vgetty, so I was able to eliminate most of the patches I had to use with the other modem. But the best thing about the new modem was... NO MORE NMIs! After having installed the new modem, the NMI errors in my log file disappeared. After all the frustration and troubleshooting I had done trying to eliminate them, it turns out that it was the GVC modem causing the problem. Now I was definitely happy that I got rid of that modem. Problem #3 Time to upgrade to kernel version 2.4.20 which had just been released. This went pretty smoothly, as I was able to copy my .config file from 2.4.18 and run make oldconfig to reconfigure any new options that had been added. The compile went very smooth, but when I rebooted, something was definitely wrong. The system had slowed down bigtime. I thought that maybe for some reason smp support had not been enabled, but according to /proc/cpu, Linux was still seeing both of my processors. It was the memory! Linux was only seeing 16 Megs out of the 768 Megs of RAM that was installed in the server. I doubled checked that my append=“mem=768M” line was still present in lilo.conf... yup. Renaming the old vmlinuz file and going back to 2.4.18, and all of my RAM was found. But whenever I tried 2.4.20, it was back to only 16 Megs visible. Here's the difference in the startup messages between 2.4.18 and 2.4.20: 2.4.18 ===== Linux version 2.4.18 (root@Elsinore) (gcc version 2.95.3 20010315 (release)) #1 SMP Tue Dec 31 15:29:12 EST 2002 BIOS-provided physical RAM map: BIOS-88: 0000000000000000 - 000000000009f000 (usable) BIOS-88: 0000000000100000 - 0000000001000000 (usable) found SMP MP-table at 000f4ff0 hm, page 000f4000 reserved twice. hm, page 000f5000 reserved twice. hm, page 000fb000 reserved twice. hm, page 000fc000 reserved twice. On node 0 totalpages: 65536 zone(0): 4096 pages. zone(1): 61440 pages. zone(2): 0 pages. Intel MultiProcessor Specification v1.4 Virtual Wire compatibility mode. OEM ID: COMPAQ Product ID: PROLIANT APIC at: 0xFEE00000 Processor #1 Pentium(tm) Pro APIC version 16 Processor #0 Pentium(tm) Pro APIC version 16 I/O APIC #8 Version 17 at 0xFEC00000. Processors: 2 Kernel command line: auto BOOT_IMAGE=Elsinore ro root=4804 mem=768M 2.4.20 ===== Linux version 2.4.20 (root@Elsinore) (gcc version 2.95.3 20010315 (release)) #1 SMP Fri Dec 27 11:19:12 EST 2002 BIOS-provided physical RAM map: BIOS-88: 0000000000000000 - 000000000009f000 (usable) BIOS-88: 0000000000100000 - 0000000001000000 (usable) user-defined physical RAM map: user: 0000000000000000 - 000000000009f000 (usable) user: 0000000000100000 - 0000000001000000 (usable) 16MB LOWMEM available. found SMP MP-table at 000f4ff0 hm, page 000f4000 reserved twice. hm, page 000f5000 reserved twice. hm, page 000fb000 reserved twice. hm, page 000fc000 reserved twice. On node 0 totalpages: 4096 zone(0): 4096 pages. zone(1): 0 pages. zone(2): 0 pages. Intel MultiProcessor Specification v1.4 Virtual Wire compatibility mode. OEM ID: COMPAQ Product ID: PROLIANT APIC at: 0xFEE00000 Processor #1 Pentium(tm) Pro APIC version 16 Processor #0 Pentium(tm) Pro APIC version 16 I/O APIC #8 Version 17 at 0xFEC00000. Processors: 2 Kernel command line: auto BOOT_IMAGE=Elsinore ro root=4804 mem=768M Notice that zone(1) detects 61440 pages in 2.4.18, but 0 pages in 2.4.20. I figured something must have changed between 2.4.18 and 2.4.20 that caused this to be detected incorrectly, or that there was a bug in 2.4.20, so I got onto Usenet and wrote to linux.kernel and fa.linux.kernel asking for help... no response. Wrote again several days later... still nothing! This was really annoying, as it was preventing me from using 2.4.20. Once again, Richard Black to the rescue! I mailed him with my problem, and he immediately pointed me to http://www.cpqlinux.com/memory.html which solved the problem. I had to change my lilo.conf line to append=“mem=752M@16M”, and once again all my memory was being detected with the new kernel version. Modem #3 Although my AOpen FM56-ITU/2 modem was working with my VOCP and vgetty setup, I was still having one small problem with it... the playback voice over the phone line was a little on the quiet side. Having a small recording studio and doing computer repair work apart from my regular systems analyst job, I was planning on setting up a small phone system for my home business so that it appeared that my company was much larger than it really was. But I figured that it wasn't good if my customers couldn't hear the messages that I was recording. I tried several ways to get things a bit louder, but nothing seemed to work. I talked to other vgetty users who used that same modem, as well as wrote AOpen tech support, but I couldn't determine if it was just a problem with my modem or if they were all the same. The fact that the modem was ISA didn't really appeal to me either, as what would happen when the time came that I changed servers? Chances were on the high side that the new server I installed wouldn't have an ISA slot to plug it into. So it was with that (and the fact that the modem wasn't actually mine, but still borrowed from work) that I decided to look for another modem. I thought external would be better for me, and someone on the vgetty list recommended an AOpen FM-56 EXV. My local supplier was able to order it for me at a pretty good price, and it works great. It is based on the Conexant SC56D chipset, and the only thing I had to change with vgetty to get it to work was I had to set the forcev253=true parameter in the file voice.conf to force it to use this driver rather than the Rockwell driver it was detecting the modem as. And now my answering machine plays back at a good volume level, so my customers can hear what I have to say. Slackware 9.0 Time to upgrade! Slackware 9.0 was installed on my PL5000 about a week ago. Pretty much the same as Slackware 8.1.01, but the only difference was that this time when I tried to take the onboard SCSI module from another install of Slackware 9.0 on a floppy and mount it, running insmod ncr53c7,8xx.o wouldn't work! It gave me some error about missing symbols. So I tried compiling some of the other SCSI modules that were supposed to work with the PL5000's onboard SCSI: NCR53C8XX SYM53C8XX SYM53C8XX Version 2 None of them would load, giving various errors. So I had to copy a precompiled module directly from the kernel-modules-2.4.20-i486-7 package found on the Slackware 9 CD. I was able to extract them using the tar command, and started off by testing the SYM53C8XX Version 2 module (module name sym53c8xx.o), and it loaded and found my hardware fine. I didn't bother to test the others, since I figured that this was the newest module, and so I used it as well when compiling a new 2.4.20 kernel after the install was finished. Other software installed Below is a list of some of the other software that I have installed/tried to install on my Proliant 5000. Array Configuration Utility This is downloadable from Compaq's website. I was able to install the .rpm file by using the --nodeps and --force parameters for the rpm package. Usage was pretty straight forward after reading the readme files, but decided to uninstall it later on as I didn't really have any use for it after I had initially setup my RAID towers with the F10 partition utility. Health Driver I was able to extract this package and compile the health driver fine on my system, but then when I tried to load the module it didn't work, giving me the following error messages: Warning: loading cpqasm/cpqasm.o will taint the kernel: no license See http://www.tux.org/lkml/#s1-18 for information about tainted modules cpqasm/cpqasm.o: init_module: No such device cpqasm/cpqasm.o: Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters. You may find more information in syslog or the output from dmesg It also gave me the following error message on the console when it tried to load: <4>casm: This server is not supported by this driver! Pretty self explanitory I guess. CPQ Array Daemon This is a daemon for monitoring the status of Compaq disk arrays. I had some problems with it initially because I wanted to compile it without snmp support. I sent the author an email asking him for help, and he wrote back to me saying that someone had already submitted a patch to him to do what I wanted, but that he couldn't find it but would look for me. Time passed, and no patch appeared. Wrote him back asking him if he'd located it... no response this time. So eventually I got around to patching it myself so that it would compile properly. I modifed the file sendtrap.c so that the one procedure contained in it looked something like this: int sendtrap(struct opts opts, char *community, int status, char *message) { return 0; } Once again I wrote the author asking him if this was safe to do, as I was able to compile it after making this modification and the daemon was loading and all of the testing I did with it was working, but again no response. Too bad. CPQ Array Daemon is downloadable from http://starbreeze.knoware.nl/~spark/compaq/ Array-util Another utility from the same author as the CPQ Array Daemon. This one wouldn't work with Slackware 9.0, but I did have it working on Slackware 8.1.01. Nothing too special-just gives you some information about your RAID controllers. Some of the fonts were being displayed as symbols when I tried to run it with VNC, but they were readable on the console itself. Notified the author of this, but again, never heard anything back from him. Array-info A small utility to check the status of your RAID controller. It currently supports Compaq ida devices, and when I downloaded it from sourceforge and compiled it with make, it worked fine. VNC I am running VNC version 3.3.7 on my server to give me access to my install of XFree86/KDE from my Windows workstations. I have set it up under inetd so that when I connect using a VNC client, it contacts KDM which then presents me with a login screen. I use a script called in.iXvnc which contains the following: /usr/local/bin/Xvnc \ -inetd \ -geometry $1 \ -depth $2 \ -rfbwait 120000 \ -query localhost \ -once \ -terminate \ -to 1 I then can have different lines in my inetd.conf file so that depending on what port I connect to, it gives me a different screen size and color depth. Took a bit of playing around with the default Slackware XDM/KDM configuration files to get it to work, but it runs quite nicely and very fast on my LAN. For those of you who don't know what VNC is, head over to http://www.realvnc.org and find out. Powerchute Plus 4.52 I have connected to my Proliant 5000 an APC Smart UPS 1250 which I monitor via COM1 using Powerchute Plus 4.52. Downloaded this for free from APC's website (good luck in trying to find it now though!), and made some modifications to the INSTALL script so that it would work on Slackware. The only thing that doesn't work on it is the ability to monitor other UPSes via TCP/IP because of the password authentication verification method that the program uses isn't compatible with Slackware, but it will run if you answer no to “Do you currently have TCP/IP Installed?” I would have loved to install Powerchute Business Edition 5 Node, but for some stupid reason, it only supports certain models of Smart UPSes, and unfortunately, mine isn't one of them. Yet it does support ALL Back-UPS models. Did the programmers just get lazy and didn't want to bother writing the code to detect the older Smart UPS models? It's not that hard... really! And the really nice thing about their web site now is that now when you go to download Powerchute Plus, you get a nice link which points you to the Powerchute Business Edition pages! So if you're one of the lucky individuals like me whose UPS isn't supported by PBE, you have to write APC to find out where you can download it from. It used to be available at ftp://ftp.apcftp.com/apc/public/software/windows/nt40/pcplus/523/ but that link is no longer valid. I guess they do that so that the average Joe is forced to either use his/her UPS unmonitored or buy a new one, but I'm not the average Joe, and I've already changed the batteries in it twice since I've owned it. Buy a new UPS when the one I have works great? I don't think so. Arkeia This is a nice backup software package that is downloadable from http://www.arkeia.com – it's free to backup one Linux server and two type 2 workstations (see the list at their home page). Works fine on my server with my Onstream DI-30 and the osst driver. I have installed the Windows client on two of my networked machines, and have a backup schedule in place which backs them up once a week. For one machine, the job starts at 2:00am on a Sunday morning. The first thing it does is call and external program which sends a Wake on LAN (WOL) packet that turns on the workstation, then after five minutes the backup proceeds. Upon completion, another script is called which executes a power down program on the workstation that shuts it off. All I have to remember to do is put the correct tape in the drive before 2am. The other machine runs 24/7, so it is backed up early morning on a weeknight. Quasar Quasar is a full function, stand-alone business accounting package that runs on both Windows and Linux. You can even use the Windows version as a client to connect to a Linux server. Unfortunately, the free version that they provide doesn't allow this, but nonetheless it is still an excellent piece of software. You can download it from http://www.linuxcanada.com The future? It sure has been a long, fun, and interesting journey, but there's still more stuff that I would like to do with my Proliant 5000. One of my next projects is to configure Ethertalk and the netatalk package to be able to talk to a couple of my old Macintosh computers over the network. I've always been a PC person, never really taking the time to use a Mac, but at the same time never bashing them as some people do. A couple of years ago, I aquired a Mac from a faculty member at work, and learning stuff on it has been quite interesting to say the least. Of course, as soon as high speed Internet becomes available in my area, you can be sure that I will be signing on, so that will require some reconfiguring of my Linux box. I'll probably add a second network card to connect to the high speed modem, and then get PPPoE going. Should be pretty straight forward from the little bit I've read on the subject, but it sure will be nice to download stuff faster that a few kilobytes per second. Hardware wise, I would love to pick up a second processor card and another pair of Pentium Pro 200's. I'm not sure what the advantages of having four processors on my system speed wise would be as opposed to two (if any), but it's more for the “coolness” factor than anything... and I'm not talking about temperature here. Two words: de FAN! ‘Nuff said. I'm also thinking of maybe selling my IDE tape backup drive and replacing it with an Onstream SC30 SCSI tape backup drive. This way, I could remove the IDE controller and free up some IRQs for other things. Right now, I have had to disable the LPT port so that I could have enough free IRQs in the system without having devices sharing them (see the cat of /proc/cpu above), but removing the IDE controller would free up IRQ 7 and thus let me re-enable the parallel port, even though I'm not actually using it at the moment. Shutdown –h +1 “The End” In conclusion, I'd really like to thank all those people who lent me a hand during the difficulties that I was having getting things working properly. I'd especially like to thank Richard Black and this site (http://www.cpqlinux.com) for all of the help and information he's provided. It's neat to see someone who works for Compaq and therefore knows Compaq stuff set up a site like this on his own time to help others out who want to run Linux on Compaq boxes, and I'm sure that you'll agree with me that his effort is very much appreciated. If anyone has any questions that they have or any problems regarding something I've touched upon in this document, feel free to email me at the email address below. I've put my email address in graphic form so that it doesn't get picked up by hungry hungry SPAM bots looking for another victim to send their crap to. Well, I guess that's it for now. CU all L8R! Running shutdown script /etc/rc.d/rc.0 Saving system time to the hardware clock (localtime). Unmounting remote filesystems. Turning off filesystem quotas. Turning off swap. Unmounting local file systems. Remounting root filesystem read-only. Power down. Submitted by: Todd A. Aiken