Flarg -- Daniel Wexler's Corner

Installing RedHat 9 on a Dell Precision M60

Sunday, September 14, 2003

This document describes how to set up a dual-boot system with WindowsXP and RedHat 9 Linux on the Dell Precision M60 with an NVidia QuadroFXGo 700 WUXGA LCD.

After the initial RedHat install, almost nothing worked except for sound. You will have to download the Broadcom driver for the gigabit ethernet card, the Conexant drivers for the modem, and do a bit of tweaking to get the NVidia drivers working, but nothing really tough.

Since networking and graphics do not work with the standard RedHat 9 installlation, it is important to prepare a CD with all the important drivers before you install RedHat. This compressed tar file contains all critical drivers and a few extra packages discussed below. Burn this to a CD and follow the directions below right after installation. Note that this page is included in the tar file.

In addition to standard hardware setup, I have put together some of the extra packages and tools that help make your M60 work as you might expect, including:

  • Mozilla Firebird web browser built with XFT for antialiased fonts
  • Flash and Java plugins that work with this special build
  • Instructions for installing your MicroSoft TrueType fonts
  • Mozilla Thunderbird email also with XFT support
  • MP3 support for xmms, the standard audio tool
  • Really Slick Screensavers ported from Windows OpenGL screensavers

Please let me know if you notice any problems on this page, or think that it could be enhanced. If anything at all was unclear, let me know and I'll try to fix it up.

Hardware Functionality

 

Current Linux support for standard hardware (green works, yellow untested, red not working):

15" WUXGA (1920x1200) LCD
10/100/1000 Broadcom NetXtreme BCM5705M Gigabit Ethernet NIC
Conexant 56K Modem
AC'97 Audio
DVD/CD-RW
UDMA Hard Disk
Centrino Wireless 802.11 a/b/g
Infrared
Bluetooth
Firewire
PCMCIA
Suspend ACPI

Partitioning for WindowsXP and Linux

My goals for partitioning this system were:

  • Dual boot WindowsXP and RedHat Linux 9
  • Share data between both operating systems
  • Primary work will be under Linux

I used the program Partition Magic to partition the system. The program can be purchased online and it supports WindowsXP (unlike Partition Commander). I'm sure you can also use a free program for the partitioning, if you are willing to put up with a bit more hassle.

The important thing to remember when considering a non-trivial partitioning scheme is that there are only 4 primary partitions. Although extended partitions can be made to increase flexibility, each OS's boot sector should be installed onto a primary partition. Also, the current versions of Linux (RedHat 9 in my case) don't fully support NTFS. You can read NTFS from Linux, but you can't write to it. Since I wanted to share a CVS tree, I really wanted full R/W support. For this reason, I decided to add a special FAT32 (fully supported by RH9) partition to use for sharing data between WindowsXP and Linux. Dell sends you the computer with a special 50MB primary partition already installed at the front of the driver.

After a couple of false starts, I decided to go with the following partition scheme for my 40GB drive:

31 MB
Fat32
Dell
15 GB
NTFS
WindowsXP
Extended
22 GB
ext3
Linux
1 GB
Fat32
Shared
2 GB
Swap
Linux

After partitioning, my WindowsXP system recognized the new Fat32 shared partition as "E:". This is important since I want to download stuff under WindowsXP and make it available to Linux by saving it on the "E:" driver since that is easily mounted by Linux. I did not go to the trouble of installing the read-only NTFS support for Linux. I figure I'll just use my shared Fat32 for now.

 

Some people have mentioned problems with Suspend to Disk (s2d). I have not experiemented with the Linux setup for hibernation or suspend to disk, but it seems to work just fine under WindowsXP with my current setup. If this concerns you, make sure to see if you still need to setup a special sleep partition before you decide on your final partitioning setup.

Linux Installation

I started with the US retail purchased distribution of RedHat 9. This distribution is full of issues and it is critical to update to the latest packages after installation using the RedHat network.

 

Make sure to have the latest NVidia drivers downloaded and possibly burned onto a disk to install after the RedHat installtion. The only other packages I feel are necessary for testing are the xmms mp3 package, and the network and modem drivers.

Next, I modified the BIOS settings to allow me to boot from the CDROM. The BIOS settings are accessible if you hold down F2 during a reboot. Make sure that you set the CDROM to boot before the hard disk. Now, you can insert the RedHat 9 installation disk (Disk1) and reboot to begin the installation process.

A couple of important tips during the install:

 

  • Make sure to include the Kernel Development option as you will be needing the kernel source to compile the NVidia, Broadcom and Conexant drivers.
  • Make sure to mount your shared Fat32 partition (I mount it on "/usr/windows")
  • It is okay to accept the "unprobed monitor"
  • Choose the "vesa" Open Source driver for now running at 8bit 800x600 until we can install the NVidia drivers
  • Don't make a boot disk, since you don't have a floppy drive (unless you have a USB floppy laying around).

After you install RedHat 9, you should be able to reboot the computer and get to an 800x600 desktop. Immediately change the default graphical boot to text by editing /etc/inittab and changing the default runlevel from 5 (graphical login) to 3 (text login). This makes it easier to fix problems when installing the NVidia drivers.

 

XFree86 Configuration

The latest (4496) NVidia drivers do not work with the M60 due to an EDID related issue. However, the earlier (4363) drivers work fine if you add a Modeline statement to the /etc/XF86Config file. See my XF86Config for details:

  1. Download the 4363 version of the NVidia drivers.
  2. % su
  3. % ./NVIDIA-Linux-x86-1.0-4363.run
  4. % cp /etc/X11/XF86Config /etc/X11/XF86Config.original
  5. % cp /mnt/cdrom/XF86Config.dell-m60 /etc/X11/XF86Config
 

Networking

The internal 10/100/1000 Broadcom gigabit ethernet card does not work with the standard RedHat 9 installation. Since you won't have networking up and running after installation, it is important that you have the network drivers on a separate CD so you can install them right after installation.

  1. % su
  2. % cd /usr/local/src
  3. % mkdir broadcom
  4. % cd broadcom
  5. % tar xvzf bcm5700-5.0.16.tar.gz
  6. % ln -s /usr/src/linux-2.4 /usr/src/linux
  7. % cd src
  8. % make
  9. % make install
  10. % rm /usr/src/linux
 

Modem

The Conexant drivers work with the internal 56K winmodem. This is a software (HSF) modem. Just install them using rpm:

  1. % su
  2. % rpm -Uvh hsflinmodem-5.03.27lnxtbeta03042700-1.i386.rpm
  3. % /usr/sbin/hsfconfig

After installation, I just used the RedHat Network Configuration tool to add a new modem device. This tool is accessed via the RedHat menu under System Settings -> Network (note that this is not the Network Device Control tool which is under the System Tools menu.

 

Sound

Sound worked correctly for me with the standard RH9 install. Occasionally the frequency settings can be messed up. I have not tested this, but this link describes a potential fix.

By default, RedHat 9 does not play mp3 files in xmms, the standard audio player. Install this RPM file to make it work. Note that you must update to the latest RedHat 9 packages for xmms to work correctly. If you haven't, it will segfault when you try to run it.

 

UDMA Hard Disk

Updated on September 13th, 2003

If you've updated to a RedHat kernel later than 2.4.20-13, then your hard disk performance is okay. If not, upgrade and test to make sure it is working with:

% su  
% hdparm -t /dev/hda
 
/dev/hda:
 Timing buffered disk reads:  64 MB in  2.11 seconds = 30.33 MB/sec
 

TrueType Microsoft Fonts

Updated on September 13th, 2003

After setting up X correctly, you need to fix up a few other configuration files to make sure you use the highest quality fonts with your awsome WUXGA display.

Boot to your windows desktop and copy the fonts from C:\WINDOWS\fonts to your shared Windows/Linux partition. Then, reboot under Linux, and copy this tolower shell script into /usr/windows/fonts and proceed as follows:

  1. % su
  2. % cd /usr/windows/fonts
  3. % tolowercase
  4. % mkdir ~/.fonts
  5. % cp /usr/windows/fonts/* ~/.fonts
  6. % cd ~/.fonts
  7. % /usr/bin/ttmkfdir
  8. % /usr/X11/bin/mkfontdir
  9. Then restart the X server by logging out and back in again.

You can test out the new fonts using the Gnome Preferences -> Font selector, or using xfontsel. Note that the new RedHat 9 font configuration will look in ~/.fonts for new fonts.

If you want your desktop to use the same nice fonts as used in Windows XP, here is a list of the settings which are set under Preferences->Font. I find that 12 point is generally easier to read. Note that I also recommend updating the size of the fonts in your browser as described below for Mozilla Firebird.

Application Tahoma 12
Desktop Tahoma 12
Window title Trebuchet MS 10
Terminal Courier 10 Pitch
Web Serif Times New Roman
Web Fixed Courier New

Web Browsing and Email

The new Mozilla Firebird web browser and Thunderbird email tools are much faster than the standard mozilla tools. The included versions are all setup to use XFT so that you get nice anti-aliased fonts.

After installing, you'll want to copy over your bookmarks and existing email messages into the right places. Generally, you should be able to go into your current browser and export your bookmarks to an HTML file which can be imported into Firebird. Email messages are a bit more difficult, but can also be exported and imported.

Note that the default font sizes are different if you have run xrdb after starting up XFree86. If you want to modify the font sizes for the menus or other application text in Firebird or Thunderbird, you need to modify the userChrome.css file which lives in ~/.phoenix/default/RANDOM/chrome for Firebird and ~/.thunderbird/default/RANDOM/chrome for Thunderbird. Here's my chrome file which sets up some nice font sizes.

The Macromedia Flash Installer is easy to install with:

  1. % tar xvzf install_flash_player6_linux.tar.gz
  2. % cd install_flash_player6_linux
  3. % ./flashplayer-installer
  4. Enter /usr/local/MozillaFirebird for the installation directory

Blackdown Java 2 Runtime can be installed with the following commands (I had trouble getting Sun's gcc 3.x build of Java working with this XFT version of Firebird, but this Blackdown version works great):

  1. % su
  2. % mkdir /usr/local/java
  3. % cp j2re-1.4.1-01-linux-i586-gcc3.2.bin /usr/local/java
  4. % cd /usr/local/java
  5. % chmod +x j2re-1.4.1-01-linux-i586-gcc3.2.bin
  6. % ./j2re-1.4.1-01-linux-i586-gcc3.2.bin
  7. % ln -s ln -s /usr/local/java/j2re1.4.1/plugin/i386/mozilla/javaplugin_oji.so /usr/local/MozillaFirebird/plugins

Really Slick Screensavers

These are some much nicer screensavers that are ported versions of Windows OpenGL screensavers. I've also included my .xscreensaver file which should be put in your home directory after installing the RPM.

  1. % su
  2. % rpm -Uvh rss_glx-0.7.4-1.i386.rpm
  3. % exit
  4. % cp xscreensaver ~/.xscreensaverr

Development Tools

I recommend using xxdiff for visual file comparison, and our company uses Perforce, so we need a copy of the p4 binary for Linux:

  1. % su
  2. % rpm -Uvh xxdiff-2.9.2-1.i386.rpm
  3. % cp p4 /usr/local/bin