Monday, April 04, 2005

Running Linux 2.6.11 On Dell Inspiron 5100

This weekend I decided to make my Dell Inspiron 5100 dual-boot for both Windows XP and Linux. I already have Windows there working fine. Based on the fact that I have Fedora Core II CDs burned last year when I worked for Nextel, I chose to use Fedora but with latest kernel. At least 16 hours have been taken for this job. Be patient.

Section 0: Create a partition using ntfsresize in Knoppix, the well-known single-CD Linux system. This allows resizing an NTFS partition (the laptop only has one disk). The guide to this step is here. Now I have a 10G partition for Linux.

Section 1: Big trouble with the CD drive on my Inspirion 5100. It seems when it continues to read for sometime (let's say 1 hour), the CD drive will ALWAYS report read error as it is getting very hot. Thus there is no way to have a pretty complete installation of Fedora; I have to wait until it cools down. I ended up using my old Redhat 9 3-CD set, and chose "minimal" package selection - No KDE or GNOME, no kernel source, etc. Eventually I got a Redhat 9 with kernel 2.4.20 on my laptop. Now I wanted to make the network work.

Section 2: Old kernels (2.4.x) do not have support for the built-in Broadcom 4401 Ethernet interface in Dell Insprion. But Broadcom provides a Linux driver here. Download and compile, follow the readme, and it worked.

Section 3: Grab the 2.6.11 kernel from kernel.org. A good article about this step is here. The 2.6 kernel changed several modules names, as well as in-kernel module loader interfaces. So I must download the module-init-tools and replaced those "modprobe", "insmod" stuff with the new ones. The 2.6 kernel has bcm4400 support, and the module is named "b44". A kernel configuration is for the bcm 4400 support. After compilation, as the article suggested, I modified modprobe and rc.sysinit for usb mouse, etc. Then modified grub. Rebooted.

Section 4: Make the build-in TrueMobile (broadcom 1300) work. After some google search, I figured out (ndiswrapper + Dell TrueMobile driver) is the solution. Downloaded both of them and followed the installation guide. At some point, the "make" did not proceed because my system does not have the docbook2html tool. Then I configued the wlan0 to be automatically up and hook to my access point, with proper IP setting. Then in rc.local, added a default gateway through my desktop proxy server and bring down the built-in ethernet interface (eth0), which will automatically remove the routes associated with it in the routing table.

Section 5: Get apt, kde, firefox, etc. Installing rpms onto a Linux system always ends up with dependency hell. Apt makes this process extremely easire. I also tried Yum, but gave up later.

Section 6: Since I use ssh a lot from the laptop, I don't want to always use my gateway machine as the intermediate hop. I want to directly ssh to a remote box. The solution is to use connect.c (created by Shun-ichi Goto) with openssh.

Lessions learned:
a. Never underestimate the time you're gonna take to do a Linux installation on a laptop. You need a lot of time searching online and playing directly with packages, sometime you have to hack it your self.

b. RPM dependency is a hell. Because my CD drive does not always work, getting needed rpms for a special package is a pain in the neck. Get your network ready and use apt as sooner as possible.

c. Dell Inspiron is hot! (after the CD drive spins for some time).

0 Comments:

Post a Comment

<< Home