Configuration
First the laptop i configured at Dell''s page (i only write the items that are different from the basic Dell configuration):
UXGA 1600x1200 screen 1 GHz Intel PIII Mobile processor 256 MB RAM in one module 30 GB Hitachi Harddrive nVidia GeForce 2 Go graphics chip Built-in Mini-PCI Intel Ethernet Pro 100/Lucent WinModem 56k combo LG DVD-ROM DRN-8080B Dvd drive
Installation:
As always with new hardware upgrade your BIOS to the newest version (A07 as of this writing).
Install the base system as usual, the netcard is compatible with the Intel EtherExpress PRO 100 driver, the kernel module name is eepro100.
When you reboot for the first time, you should press (and hold) shift during LILO (be quick!) and write Linux single at the LILO prompt. This is done so that we can remove the PCMCIA package because it crashes the system when started.
The root password is empty at the moment so just press enter when prompted about it. Use dpkg --purge pcmcia-cs to remove the pcmcia package. Then exit the shell and continue with the installation.
Remember to set up you sources as unstable, we will need a lot of new packages, to get all the features working.
Kernel compilation:
Download the latest kernel source (2.4.17 as of this writing), i assume that you know how to compile a kernel. Install the neccessary kernel building tools: binutils, gcc, libncurses5-dev, make and probably some more. I use menuconfig when compiling you a free to use something else.
Don''t enable APIC support in the processor type and features section, i have experienced difficulties with it.
Do enable Inspiron 8000 support as a module. To load it insert i8k force=1 in your /etc/modules file.
Remember to enable APM
To make the soundcard work, you should use the ESS Maestro 3 driver.
To make the netcard work compile the eepro100 into the kernel.
I suggest that you compile ext3 into the kernel too, as it will safe you from alot of fscking when your laptop runs out of battery or when it crashes, and its deadsimple to enable.
Start compiling!
XFree86
Setting up XFree86 should be a push, just download nvidia''s kernel and GLX drivers, unpack and make install inside it.
Install xserver-xfree86 and xserver-common. You should then be presented with and xfree86 setup program, choose the nv driver to use nVidia''s binary-only drivers.
Fancy buttons
To use the "multimedia buttons" install the i8kutils package.
And add the followling lines to your ~/.Xmodmap file. Be sure that when X starts it reads your .Xmodmap file, i use gdm and Gnome so all i did was add xmodmap /home/me/.Xmodmap to the startup porgrams list in the Gnome Control Panel.
! Multimedia buttons on Inspiron 8000, used by sawfish to control xmms
keycode 129 = F31
keycode 130 = F32
keycode 131 = F33
keycode 132 = F34
Now you should be able to map these buttons using f.x. sawfish.
The volume buttons is a completely different story though, they get invoked using the i8k kernel module, and therefore requires a daemon to run in the background. This is where the i8kutils package comes handy, it supplys a program called i8kbuttons that can react to these buttons. I made a file called /etc/init.d/i8kvolume and inserted the following in it:
#!/bin/sh # i8k buttons startup with adjvol prog. if [ -x /usr/bin/i8kbuttons ] then /usr/bin/i8kbuttons -u ''/usr/local/bin/adjvol + 10'' -d ''/usr/local/bin/adjvol - 10'' & fi
And afterwords you should create a symbolic link in /etc/rc2.d to start the daemon on every boot. Remember to set the i8kvolume script executable.
ln -s /etc/init.d/i8kvolume /etc/rc2.d/S50i8kvolume
The adjvol script that this script calls is something i wrote myself, stealing (in the opensource spirit ofcourse ;-) from the setmixer program packaged in debian. All the program does is provide a way for us to increse/decrease the volume without knowing what it currently is. Download it: link:/files/dell_inspiron_debian/adjvol.c%%, compile it (gcc -o adjvol adjvol.c) and copy it to /usr/local/bin/. Start the daemon: /etc/init.d/i8kbuttons, and try fiddling with the volume keys. Note: the Gnome Mixer Applet is good for checking if it works.
Ext3 Journaling filesystem:
To convert your ext2 filesystems to ext3 call tune2fs -j <device> on all your partions. And you don''t even need to reboot !!! P.S.: the tune2fs program is in the e2gsprogs package. Edit your /etc/fstab file, change ext2 to ext3.
That''s it! Reboot or switch to runlevel 1 and back again, to mount all the partitions as ext3, easy as hell!
APM
nVidias driver doesnt support APM yet, and therefore disables it. You can disable the check in the kernel source, but you still cant suspend while X is running, so i think ill just stick with it until nVidia writes decent drivers.
That said, the display power-off and the other BIOS features still works.
USB
To use the USB ports on the back of your laptop you should enable USB support in the kernel, and use the kernel option called usb-uhci - if you compile it as a module, remember to add it to the /etc/modules.
Then all you have to do is install the usbmgr package, edit /etc/usbmgr/usbmgr.conf, en uncomment the line with host usb-uhci. You can additionally install the usbview package, which consists of a Gtk+ based USB viewer, so you can get a view of the USB tree, automatically updated while you insert/remove devices.
The first time i plugged in my Logitech mouse, the kernel imediatealy detected it, and X used it right away. Thanks Linux kernel developer team!