RedHat 9 on an HP ze4145

This is the obligatory “how I got Linux to work with my machine” article. Read only if you care how I got RedHat Linux running on an HP ze4145 laptop.

First off, I’ve tried many distributions of Linux on this machine. RedHat 9 worked well for the most part, but had several idiosyncrasies that eventually led me to look for another Linux flavor (e.g. I had to pretend that I had no PCMCIA slot, otherwise kernel panics would ensue). After RedHat, I used Gentoo for a while as well. But, in my experience, nothing has worked as well and as seamlessly as SuSE 9.0. What follows is a description of how I got RedHat working as a dual-boot system with Windows XP Pro on this laptop. I’ve personally chosen, however, to stick with SuSE.

Preparation: Before doing anything with Linux, I decided I wanted a dual-boot system using Windows XP Pro as the other operating system. I wanted to keep Windows available during the time when I was experimenting with Linux since I’m more familiar and comfortable with Windows. I didn’t yet want to commit to one distribution/installation, then lose everything if I screwed something up. Plus, I often needed a fully functioning operating system to do some things I hadn’t yet figured out how to do in Linux. So, I partitioned the 40GB hard drive of my machine so that Windows XP Pro had about 19GB and Linux had the rest.

Because of boot loader provisions Micro$oft builds into its OS, in order to make your system dual-boot you have to install the Micro$oft OS first. Windows XP Pro, by default, formats the entire hard drive as NTFS minus a small FAT32 partition near the beginning of the drive. Even though that small FAT32 partition has to do with the boot loader, and even though I was about to create a new, different boot loader (one that recognizes the presence of Windows and Linux), I had to leave that FAT32 partition alone. Erasing it screws up access to Windows. Windows, in one more attempt at propriety and monopoly, likes to be the only OS on a computer (go figure), and so what you essentially have to do is make Windows think it is is the only OS on the system by not messing with its boot loaders. So, my first step was to get Windows installed and let it eat up all the space on the drive.

Then, I used Symantec’s Partition Magic 8 to cut the hard drive in half. (Note that Partition Magic 7 or earlier won’t work with XP. There are other programs, some even free, that can repartition hard drives — FDisk comes to mind.) Half stayed NTFS for Windows, the rest I converted to FAT32. I did this thinking that Linux would have an easier time working with a FAT32 system when it came time for Linux to reformat its partitions. I later learned that it really doesn’t matter. What’s essential is just that you a) cut the hard drive into the amount of space you want for Windows and the amount of total space you want for Linux, and b) make sure you are able to tell unambiguously which partition is which. Maybe make one slightly larger than the other. 20GB is more than enough for each.

RedHat: I downloaded the ISOs for RedHat 9 from ibiblio. To do this, I needed Internet access (obviously), about 2100MB of temporary space on a hard drive, and the ability to burn an ISO image onto a CD. The in-house CD burning feature of Windows XP does not burn ISOs, so I needed something else. I downloaded the entire image for each disk of three disks: around 700MB per disk. Next, I used Nero to burn the image to disk. To burn an ISO, I opened Nero Burning ROM and canceled out of the default burning wizard. I clicked File, Burn Image, and navigated to the folder where the ISO was located. I clicked the ISO, then burned it to a CD.

I did the same thing for discs 2 and 3, and finally had bootable Linux CDs and a hard drive that was partitioned and ready for Linux.

Next, I restarted the computer, and hit F2 as soon as I saw the HP screen. (If you miss your chance, you have to wait for Windows to boot back up, and then restart again. It doesn’t hurt to hold down F2 once the computer restarts.) I did this to enter the BIOS settings of the computer. Note: BIOS settings are the base settings that tell your hardware how to interact with your software; don’t mess with anything here unless you understand what you are doing and how to undo it if you mess something up. In the BIOS, I did a few things. First, I changed the boot order so that the laptop would boot from CDROM before the hard drive. This allowed me to boot from the ISOs. Second, I turned off USB legacy support. I tried with frustration to install RedHat many times before I figured out that USB legacy support was causing a conflict with the installation. Third, I set the external pointing device settings to Auto. I was able to set it back to Both later, once the Linux OS was installed, but I had to set it to Auto to get through the installation. Fourth, while I was in the BIOS, I made sure that I had the most up-to-date BIOS settings. At the time of this writing, the most current BIOS update for the HP ze4145 is KAM124. (If you have an older BIOS update, and you want to upgrade, you can download and run an executable updater from HP.) I exited BIOS and saved the changes.

Now the computer is ready to boot from a CD, so I put the first ISO disk into the CD tray and rebooted.

Installation: Installing RedHat is fairly simple to negotiate, thanks to the nice GUI interface and auto-detection features. For the most part, the auto-detection features found the right default settings. I had to change only a few settings.

The RedHat installation reaches a point where it asks where (on the hard drive) you want to install Linux. RedHat asks whether you want it to set up partitions automatically, or you want to do it yourself. I chose the DIY option so that I could be sure to protect the Windows partition. It brings up a display of the current partitions and how much space is available. This is where it is important that you can tell the difference between the partitions. Another reason why it might have been a good idea that I used Partition Magic to repartition the Linux half of the drive as FAT is so that it was easy to tell which was the partition I wanted to mess with and which was the partition I wanted to leave alone. I highlighted the FAT partition and chose to delete it. ?Deleting? it marks the (previously) FAT partition as free space. Next I set up three partitions within that free space, so that my final partitioning looked something like this:

device size file system description
/dev/hda1 20GB NTFS Windows XP
/dev/hda2 40MB ext3 /boot
/dev/hda4 19GB ext3 /
/dev/hda3 500MB swap linux swap

*A helpful hint, arrange the boot partition and swap partition first. Save the / partition for last, and you can just tell it to take up the rest of the available space.

I used the GRUB boot loader, and for the most part let it install itself according to default settings. Though, there is a point in the installation, soon after creating the partitions, where I was able to choose the default OS. Here I chose RedHat as the default, though you can also choose Windows. All this means is that, when you power on your computer, if you don’t interfere at the GRUB screen, the computer will by default load RedHat. You will always have the choice to enter either OS by hitting the up or down arrow keys at the GRUB screen.

Next the set-up walked me through a series of choices about what kind of software I wanted to install. I chose to leave out most of the server-related programs, though I did choose most of the network administration tools. I also wanted the full functioning graphics mode with multi-media. After doing some reading on the subject, I decided to go with the KDE desktop environment rather than the RedHat default Gnome environment. As a newbie, it was important to me that I install programs that I knew I could find support for, and it seemed to me that more people (and most of the other distributions of Linux) were using the KDE environment.

After configuring the software package, the installer asked me to confirm the hardware settings. Most of the defaults were just fine, with one important change. Even though RedHat correctly identified my video graphics card (an ATI IGP 320M) as an ATI, the X Window system won’t work with this driver. I had to set the video graphics driver as the generic ?vesa.? Once I made this change, the X system loaded and my video display worked fine.

Even the touchpad was configured correctly by default; I was surprised that the scrolling column (which I’ve gotten so used to that I’d rather not live without) and the touchpad on/off button worked correctly.

Once in the KDE environment, I could mount the Windows partition and get access to those files. To do this, I created the directory /mnt/windows/. I used Konsole, and typed:

mkdir /mnt/windows/

Then, I could mount the Windows partition somewhere where I could get to it from Linux. To mount it, I’d go back to Konsole and type:

mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222

With these commands, I was mounting it in RedHat, but with read-access only. This way, I could get to my Windows data, and if I wanted to edit anything (a document for instance), then I could just make a copy in my /home/ directory.

Problems (in decreasing order of significance to me):

1. PCMCIA: If an Ethernet cord was plugged in while the computer booted up, then the laptop would go into kernel panic when it tried to load the PCMCIA kernel. Don’t ask why, and it probably has simple solution, but I never figured it out. What I would have to do is boot up the computer with nothing plugged in to it. Once the KDE environment was up and running, I’d plug in the Ethernet, enter the Network Device interface, and activate eth0. This wasn’t really an inconvenience… I just got used to it. But every now and then, I’d forget and boot up with the Ethernet plugged in. It was just a hassle when this happened. I later just turned the PCMCIA device off permanently and tried to pretend like I didn’t need it.

2. Power management: RedHat installed with the APM kernel, but my laptop needed the ACPI kernel. As a Linux newbie, I didn’t want to take on the challenge of recompiling a kernel, though I was able to find instructions on how to do it. Since SuSE installed with the ACPI kernel, this is one of the main reasons I switched.

3. CD Burner: RedHat did not recognize my DVD/CDRW drive as a CD burner. It would read and play CDs just fine, but not being able to burn CDs is not an option for me.

4. Wireless: RedHat did not automatically recognize either my DLink DWL-G650 pcmcia wireless card or my Linksys WUSB11 usb wireless device. Though I found (and followed) some great instructions on how to compile an Atmel driver for the Linksys, I never was able to get the device to a point where it could detect wireless networks, much less browse the web/email over them. I should admit, however, that I’m not having a much easier time getting SuSE to work with my wireless devices. Linux wireless support is growing (and exponentially to be sure) but the technology is still immature.

5. Sound: I wasn’t able to program the volume buttons on the left side of the computer to work with the system volume controls.

Some positive things to say about RedHat:

1. Upgrading kernels is easy, and you even can choose to keep former kernels if you need to back out of an uprgrade. After upgrading to the 2.4.30 kernel, I learned that this version does not support ntfs file formats, so I could not mount my Windows partition if I used this kernel. One nice feature of RedHat, however, is that at the Grub screen I can choose which linux kernel I want to load. When I knew I’d want to read something off my Windows partition, I’d load the 2.4.28 kernel.

2. The RedHat Network has a large library of programs compiled in RPM format, which make it extremely easy to modify your system with the personalized settings and programs you want.

3. The RedHat security monitor keeps track of developments your computer can take advantage of and makes it very easy for you to download and install them. A nice feature for someone concerned with having the most up-to-date security patches.

–update November 2006–
I long ago abandoned RH9.

Recently, however, I installed Fedora Core 6 on this machine. It installed flawlessly with all of the default settings. While this laptop is getting to be a legacy machine, with 1GB of RAM it runs FC6 very well. It’s stable enough to use as a reliable word processor and internet machine. Video/graphics playback is strong too. I even got Rhythymbox talking to an iPod.

 
Tags: