Debian on a Dell Inspiron 1150

A local... budget... retailer, the Warehouse, recently started selling the Dell Inspiron 1150 for the low, low price of $1299. I saw that, and swooped on it.

It's four months later, and I love my Inspiron 1150. Sure, it's not the top billed laptop of 2004, it doesn't have all the features of the most expensive laptops you can buy these days, and god is it heavy! But it's a laptop, and it's mine.

Partitioning

So anyway, one day I was waiting on a ride up the hill, and decided that while I was mooching around, I should prepare the system for Linux. So, and I really don't recommend this, while I was on battery power I used Partition Magic 8.0 to carve the drive up into chunks.

I resized the Windows XP partition into 10 gigs, and created a 9 gig Linux partition, with a 512 meg swap partition.

I formatted the partitions, with root formatted as a ReiserFS system, and installed Debian 3.0.0 r1, kernel 2.4.18 bf24 (whatever that means). Then the fun began.

Ethernet

Firstly, I had to get the network card active. That meant finding the right drivers, which came from the Broadcom website.

Compile that, and insert it... bring up eth0 with
$ ifconfig eth0 192.168.1.6 netmask 255.255.255.0
and I was away.

Next, I threw in a few apt sources, after typing

$ apt-get update
I went away for a while. It's slow going at 56k, but eventually I got down the updated sources. Next step:

$ apt-get dist-upgrade

and away it went. I left it going over night. Eventually, I got sick of it, and took it in to the local university and put it on the network there. They have a local Debian repository, so I had my dist-upgrade in 61 seconds... 374 megs in 61 seconds! That was incredible. It took about 40 minutes to install all those updates... then the fun began.

Synaptics Touchpad configuration

apt-get install gpm

Configuring that wasn't as easy as it should have been. After some experimentation, I discovered that the Synaptics pad didn't respond well to the Synaptics driver, so instead I went for

device=/dev/psaux
type=ps2

Then,
/etc/init.d/gpm restart
worked nicely. So, with GPM going, I was ready for the next big challenge:

X Configuration

What a nightmare. I upgraded the kernel to 2.4.27 to make things a bit easier, and after recompiling the kernel time and time and time again, I discovered that I had to set the kernel to SMP to get rid of the error I got while trying to compile ksyms.o in the kernel. (If anybody knows why this happened, and how to get around it without having SMP turned on in the kernel, send me an email and let me know.)

Then, I discovered the i810 with XFree86 4.x HOWTO

Very useful, indeed. Much appreciation to Toby Russell for writing that page, as it saved many hours of trial and error. Basically, it tells you what you need to download, and how to configure it to support the i810 chipset. The short, short version, for those who know what they are doing:

Get the kernel source.

When you're making it, under "Code Maturity Level options", select EXPERIMENTAL or (you may find it's labeled differently, depending on your version of the kernel) "Prompt for development and/or incomplete code/drivers".

Then, under the "Character Devices" menu choice, near the end of the list, select "/dev/agpgart (AGP) support" (which isn't available if the previous instruction hasn't been followed), then select the "Intel I810/I815/I830M (on-board) support" option.

Then, compile the kernel, and you're away. (Again, more detailed instructions on how to set this up are in the previous link.)

Once I'd done that, I ran into a new bunch of problems. More precisely, X was exiting without making any entries into /var/log/xdm.log or /var/log/XFree86.0.log. Nor were there any entries in /var/log/syslog, or /var/log/messages.

I'd get three lines, something like this:

X: warning: process set to priority -11 instead of requested priority -10
xinit: No such process (errno 3): Sever error.
xinit: unable to connect to X server

Not *exactly* like that, but rather close. That first error line is, though.

After doing some searches, I discovered that
XFree86 -configure
was a good thing to try. So I did. This happened:

$ XFree86 -configure
Bus error

More searching lead me all around the place, until I thought I should update my X (as it hadn't been updated in a few days). An update didn't help... but aptitude revealed something: there were a bunch of libraries that were rather out of date, compared with the updated X binaries. An update of those later, and X was running very nicely.

The next step was to get KDE running... download, install, and away that went.

Eventually, I discovered that DRI wasn't working. That's a faster way to write OpenGL stuff to the screen, I think. The way to tell is to type, in an Xterm, glxinfo. These are the first three lines of what I had returned:

vmcdonal@darius:~$ glxinfo
name of display: :0.0
display: :0 screen: 0
direct rendering: No

So, I downloaded some Linux graphics drivers from the Intel website, and away it went.

Earlier tonight, I stumbled across something telling me that there's a working Synaptics touchpad driver for XFree86. You can get this with:

apt-get install xfree86-driver-synaptics

Then you'll need to modify your /etc/X11/XF86Config-4 to something like below:

Section "ServerLayout"

Identifier "Simple Layout"

Screen "Screen 1"
# InputDevice "Mouse1" "CorePointer"
InputDevice "touchpad" "CorePointer"
InputDevice "Keyboard1" "CoreKeyboard"

Section "InputDevice"
Driver "synaptics"
Identifier "touchpad"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "LeftEdge" "1900"
Option "RightEdge" "5400"
Option "TopEdge" "1900"
Option "BottomEdge" "4000"
Option "FingerLow" "25"
Option "FingerHigh" "30"
Option "MaxTapTime" "180"
Option "MaxTapMove" "220"
Option "VertScrollDelta" "100"
Option "MinSpeed" "0.02"
Option "MaxSpeed" "0.18"
Option "AccelFactor" "0.0010"
Option "SHMConfig" "on"
# Option "Repeater" "/dev/ps2mouse"
EndSection

Sound configuration

Sound configuration was *easy*. I downloaded these files:

alsa-driver-1.0.9rc2.tar.bz2.tar
alsa-oss-1.0.9rc2.tar.bz2.tar
alsa-lib-1.0.9rc2.tar.bz2.tar
alsa-utils-1.0.9rc2.tar.bz2.tar

(By the time you read this, the version numbers will most likely have changed.) I untarred them with tar -jxf, configured them, compiled them, and then installed them. The sound worked without a problem.

Note for Debian users who don't know:

You'll run into an issue where root can play music, and the normal user can play, but you can't hear any sound. What's happened is that the sound output for the normal user is muted. You'll need to run alsamix to fix that, but you'll most likely get an error of some sort. If you do get an error, then you'll want to peruse /etc/group to find out what group number audio has. (Mine was 29.) Armed with this information, as root, you'll type

adduser -Ggroupnumber username

For example, in my case, I had to type

$ adduser -G29 vmcdonal

Now I can access alsamix. Once I unmute the channels (hit m to unmute) I can then play my music.

Internal Modem configuration

I didn't bother with this. I played with it for a while, but couldn't make it work. If anyone has managed, let me know and I'll make mine go, then I'll put the instructions in here (with a credit, of course).

This covers all of the hardware in my laptop.

Linux On Laptops