Linux (Fedora Core 4) on a Dell Inspiron 6000 This document describes my experience with installing Fedora Core 4 Linux on my new Dell Inspiron 6000. I had originally intended to have Emperor Linux do the linux install on my new box. I had looked into purchasing a Dell Lattitude D810 thru them, but decided to persue the Inspiron 6000 instead as it's nearly the same machine for less money. I contacted Emperor and they confirmed that they could do a custom install. I watched the Dell outlet page for days, waiting for the configuration I wanted to roll around. When I saw the one I wanted, I purchased it. (System details below.) I then contacted my friend Mike, Linux (and everything else) guru at large, to see if he'd be willing to do my install for less than Emperor. Mike usually seems to be up for silly challenges, and he agreed. Below is, to the best of my ability, an account of getting a happy lappy set up and running... System specification Dell Inspiron 6000 WUXGA display (1920x1200) ATI Mobility Radeon X300 (128M) graphics card 60G drive, 5300 RPM 8x DVD +/- RW drive IntelPRO 2200 wireless/wifi card (b/g) Broadcom BCM4400 ethernet device Conexant built in MODEM SD card reader. 9 cell battery (the good one) 1 G memory, 2 DIMMS Windows XP Home Edition with Office 2003 Basic Memory: The first thing I did was replace one of the 512M with a newly purchased 1G version. This brought the total memory to 1.5G. No problems at all with this operation. Drive partitions: The machine came w/ some smaller partitions for Windows/Dell recovery stuff. No need for that w/ the Linux install, so the drive was reformatted and set up with the following partitions: 8G for a new WinXP install 1.5G swap (probably should have been more) balance: linux root Windows: As was mentioned, the original WinXP install was wiped out with the drive repartitioning. A fresh copy was re-installed on the 8G reserved for Windows. This new copy was installed with all appropiate drivers and brought up to the current patch level and the current BIOS (A09). links: Dell I6000 WinXP Linux: I chose to go with Fedora Core 4 (FC4) basically because it's what I know best. (I've been using RedHat (RH) since the 7.x days.) The DVD image was downloaded and burned. Windows XP doesn't play well with other bootloaders so the WinXP bootloader is used to call GRUB which loads the kernel. (See the relevant Fedora page on the dual booting subject.) A standard FC4 install was performed. After that came the task of getting the various devices working under Linux. video: CPU (frequency scaling): Worked out of the box. I run the 'CPU Frequency Scaling Monitor' gnome applet to monitor how fast my processor is running. It's a bit of eye-candy. Ethernet (wired): The built in b44 driver worked, but had some issues. I saw a posting that suggesting using the broadcomm driver. I downloaded and installed that and it seems to be working fine. I'm using that one until the kernel version is at least non-experimental. To use this driver, I compiled and installed the b44 package, then modified the file /etc/modprobe.conf and add the line: alias eth0 b44 links: http://www.broadcom.com/drivers/downloaddrivers.php (get the linux 4401 driver) Wireless/Wifi The version of the ipw2200/ieee80211 drivers in the kernel is always way behind the current release, so I always use the most recent version released on the ipw2200 and ieee80211 sourceforge pages. It's an easy enough thing to install. Download the current ipw2200 & ieee80211 versions as well as the latest version of the ipw2200 firmware (link on the ipw2200 page). Ensure that the wireless-tools RPM is installed (should be). Put the contents of the firmware tarfile into /lib/modules (it's that simple). Before beginning, bring down the wireless interface (stopping the NetworkManager and NetworkManagerDispatcher service is required if you have NetworkManager running). Issue 'rmmod ipw2200' and 'rmmod ieee80211' commands to remove the old versions from memory. In both the ipw2200 and ieee80211 directories, there's a file called 'remove-old'. (The ipw2200 version comes executable, the ieee80211 version does not -- not sure why.) Execute both and answer yes to everything it asks you. At this point the system should be completely purged of the old versions... After both 'remove-all' scripts have been run, run 'make install' in the ieee80211 directory. After that, run 'make install' in the ipw2200 directory. Now you can bring the wireless interface back up w/ the new module versions. links: http://ipw2200.sourceforge.net/ (ipw2200 sourceforge page) http://ieee80211.sourceforge.net/ (ieee80211 sourceforge page) Display/ATI Driver The Custom ATI driver was installed. DVD (reading/movie playback): As of kernel version 2.6.16, DMA is available for the SATA DVD drive. To enable this, edit /boot/grub/grub.conf and add the following items to the current kernel options (after "rhgb quiet"): hdc=noprobe combined_mode=llibata (This assumes that the DVD drive is /dev/hdc) DVD (burning): k3b seems to run quite well. Because DMA is not enabled, the process is slow, but it works. Should go lots faster after the DMA issue is fixed. Suspend: Suspend to Ram is currently broken. According to the "Problems with SATA and Linux" page (see under DVD, above), this should be fixed come kernel version 2.6.16 For suspend to disk (hibernate/software suspend), I'm using suspend2. This can be enabled into a custom kernel, but instead, I'm using Matthias Hensler suspend2 enabled kernels available from his download page. I installed just the kernel, ignoring dependancies. Instead of using the RPM of the (required) hibernate script, I just installed it from the .tar file. I did this to avoid the issue caused by the fact that there's another 'hibernate' RPM out there (containing the Java 'hibernate' system). Get the Hibernate .tar file from the suspend2 page and save yourself having to specify ignore=hibernate every time you do a 'yum update'. (If you update the (java) hibernate package, it will install a bunch of Java RPMS that the (java) hibernate package has as dependancies.) links: http://mhensler.de/swsusp/ http://www.suspend2.net/ ACPI: Front panel buttons: Touchpad: The synaptics touchpad worked straight out of the install. The relevant configuration parameters are in the /etc/X11/xorg.conf file. ** talk about setting the HorizScrollDelta to "0" to disable the firefox page forward/backward annoyance. see: http://www.fourmilab.ch/fourmilog/archives/2006-02/000651.html (talks about synclient and how to disable the touchpad) multimedia keys: Weirdness here. I managed to get them working; but it took a bit of futzing around. I use XMMS for MP3 playing and when I used the XF86Audio keys plugin, was able to get the multimedia buttons working. Followed steps given here: http://gentoo-wiki.com/HOWTO_Use_Multimedia_Keys Here is my .Xmodmap: ------------------ Begin ! for built in lappy keyboard keycode 162 = XF86AudioPlay keycode 164 = XF86AudioStop keycode 144 = XF86AudioPrev keycode 153 = XF86AudioNext ------------------ End (note -- use "!" for a comment marker and not "#" as the wiki page says!) To get the sound level buttons working, I just used the Desktop -> preferences -> keyboard shortcuts Gnome dialog and set the button for audio up/down/mute and it worked. Modem: SD Reader: There is currently no support for the SD Card reader. I haven't heard anything about this being worked on. If you know something I don't, email me. ----------- To build new kernel -> Untar src into /usr/src symlink to src dir from /usr/src/linux patch in appropiate suspend2 version http://www.suspend2.net/ cd /usr/src/linux run ss2 'apply' script from this dir. Build kernel copy previousKernelSrcDir/.config to /usr/src/linux make oldconfig make menuconfig change local version suffix to include build date (general config->local version) This is done in case we want to rebuild the kernel to a new date make ; make modules ; make modules_install ; make install >> Info here on Mike's mods to the mkinitrd. verify the grub.conf Reboot into new kernel download and install new wifi driver modules (ieee80211/ipw2200) http://ieee80211.sourceforge.net/ http://ipw2200.sourceforge.net/ (if different version than is in the kernel) (now this needs to be given a prefix to prevent kernel module conflict now that ieee80211/ipw2200 are in kernel) needs local version number to differentiate it from kernel versions Remvoe old versions of each -- run the remove-old scripts for both ieee80211, ipw2200 made and installed from source -- ieee80211 first -- run make install, then ipw2200 -- run make install make sure modprobe.conf entries exist and modprobe the wireless device Install new modem driver http://www.linuxant.com/ Download HSF Modem driver, 'cnxtinstall.run' ~/system/modem/cntxinstall.run.sh (requires network access) Runs, in a browser, a tool to install and set up the hsf driver for the modem. The free version limits the modem speed to 14.4 kbps Download and install new version of broadcom enet driver http://www.broadcom.com/support/ethernet_nic/downloaddrivers.php see readme in ~/system/broadcom-enet-driver made and installed from source Download and install new ati driver http://thinkwiki.org/wiki/Fglrx A good central source for information about installing/configuring the proprietary ATI driver. The site is written for thinkpad owners but there's good information there regardless. There are two options for installing this driver. The first (what I did) is to one is to download the driver directly from ATI at: http://www.ati.com/ Follow links to driver. Download driver and run installer. The other is given on the thinkwiki page. Creating and installing a custom RPM for a custom-compiled kernel: # yum install ati-fglrx # VER=8.19.10.1-0.lvn.1.4 # copy version string from output of above command # wget http://rpm.livna.org/fedora/4/i386/SRPMS.lvn/ati-fglrx-$VER.src.rpm # rpmbuild --rebuild --target $(uname -m) --define "ksrc /lib/modules/$(uname -r)/build" --without userland ati-fglrx-$VER.src.rpm # rpm -Uvh --replacepkgs /usr/src/redhat/RPMS/$(uname -m)/kernel-module-fglrx-$(uname -r)-$VER.$(uname -m).rpm After this is done, I reboot the machine and entered back into X. Running fglrxinfo gives me: display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: MOBILITY RADEON X300 Generic OpenGL version string: 1.3.5461 (X4.3.0-8.19.10) Run glxgears I got 9865 frames in 5.0 seconds = 1973.000 FPS which seems pretty good.