Dell Inspiron 4000 with Linux (RedHat 7.0)

Hardware

(I've also got a 3Com Ethernet PCI card, but I've not tried installing it on Linux yet.)

Introduction

I was a little apprehensive about submitting a report at all.  Why?  Well, I don't really consider myself a qualified Linux hacker.   I've no excuse for not being one (I've even got a degree in Computer Science from a well-known university) but I've never been that interested in operating systems and tinkering with them.  I'm really only interested in programming.

However, I then considered that my experiences might provide some encouragement for other timid souls out there on the net.  So if you're teetering on the brink of getting a Dell Inspiron in order to run Linux, but have doubts about being able to deal with the problems, read on.  If you're a seasoned Linux user just looking for the nitty-gritty, this page is probably not for you.

Trial Installation

When you get an Inpiron 4000, it comes with Windoze Millennium installed and a factory-installed hidden 'hibernate' partition.  No fdisk (that I know of) can see this partition but it's there.  Windoze fdisk confirms that its own partition is less than 100% of the disk.

At first I thought I could leave this partition alone, having established that it occupied the first 35 cylinders, and tried installing Red Hat with manual partitioning, beginning at cylinder 36.  This didn't work - it kept locking up when trying to format the file system.  Eventually I decided to give up this approach and opted for a bog-standard, automatic-partitioning, workstation install.  This time it worked, and when I ran  fdisk /hda  it confirmed that the 'invisible' partition was no more and that linux had claimed 100% of the hard drive.  Bottom line: if you want to install Linux, that hidden partition has got to go.

The Hibernate Partition

[Aside: Do you really need 'Hibernate'?  I'm not convinced you do, as long as you're never going to boot-up Linux in battery mode, start making all kinds of changes (and/or editing files) without saving them, and then walk away and forget about it.  If the very mention of the word 'fdisk' fills you with terror, my advice would be not to bother - it's not that important. Otherwise...]

Having zapped (without even trying) the factory-installed Hibernate partition, I turned my attention to Hendrik van Hees' page for an explanation of how to install a suitable replacement.  This is quite straightforward, apart from one crucial point (which is stressed both by Hendrik van Hees and Marcel van der Goot): when you finally come to run the program to install the partition, ignore what it says about phdisk being the one for Inspiron - make sure you use mks2d.

Since the original partition had already been overwritten, I've no way of knowing what happens if you run mks2d with the original partition still there.  Either way, you'll have to create some space suitable for a primary partition of the required size.  Unlike phdisk, mks2d doesn't ask you how big you want the partition - it chooses a suitable size all by itself!

Why a DOS utility, written with Linux in mind should choose to create an OS/2 partition, I've no idea.  Still, it works.  You can put it into 'hibernate' by typing Fn-A, but you'll have to modify your lilo.conf file before you can successfully 'wake it up' again.  Otherwise it'll do a normal reboot and complain like hell.

Now, LILO is something I'll probably never understand.  It wasn't for ages that I realised that LILO and lilo are two different things, and that tweaking the lilo.conf file won't change anything until you've run lilo.  I basically experimented by copying what Hendrik van Hees had done, and the best I can do is display my ammended lilo.conf file (which works on my machine) and let you draw your own conclusions.

At the time of writing, my hard drive looks like this:

Disk /dev/hda: 255 heads, 63 sectors, 1222 cylinders
Units = cylinders of 16065 * 512 bytes

Device Boot Start End Blocks Id System /dev/hda1 1 35 281106 84 OS/2 hidden C: drive /dev/hda2 * 36 38 24097+ 83 Linux /dev/hda3 39 1222 9510480 5 Extended /dev/hda5 39 1200 9333733+ 83 Linux /dev/hda6 1201 1222 176683+ 82 Linux swap

And my lilo.conf file is this:

boot=/dev/hda
map=/boot/map
#install=/boot/boot.b
prompt
timeout=500
message=/boot/message
linear
default=linux

image = /boot/vmlinuz-2.2.16-22
	label=linux
	read-only
	root=/dev/hda5	
# Up to here it's the original lilo.conf
# I've just commented out the install line, since it's a default

other = /dev/hda1	# Hibernate partition
	table=/dev/hda    
	label=wakeup
	loader=/boot/os2_d.b

Don't worry about having to find and download os2_d.b - it should already be sitting in your /boot directory.

Going into hibernate causes the 'boot' flags to be swapped between the normal boot partition and the hidden one.  If, however, the hidden partition is already set to 'bootable', it won't go into hibernate, and instead will report that there is already an unrestored memory dump there.  When you reboot from the hidden partition, the boot flags are swapped back to normal.  Does this mean you can only boot the hidden partition it it's set to 'bootable'?

Unfortunately, no.  It'll boot quite happily, even if it's two months old.  Also, booting the normal image when you should have booted the hidden partition will cause all kinds of problems.  For one thing, the boot flags will never get reset unless you go into fdisk and do it yourself.  Obviously a certain amount of care is needed here.

Still think you really need 'hibernate'?

Final Installation

Having created my 'hibernate' partition, I did a manually-partitioned, custom install using fdisk (details above).  I chose a minimal installation, but made sure I had gnome and gnorpm (so I could easily install further packages).  I would also recommend installing the manpages package, otherwise you're going to be missing a lot of useful manpages.  After saying 'yes' a couple of times to confirm I wanted all module dependencies satisfied, it installed OK.

Graphics Card

No problem, Red Hat 7 knows all about the Rage Mobility M3.

Modem

Apart from having to download the 'linmodem' driver (see Marcel van der Goot's page) I also had to install a few more packages, including PPP and minicom.  minicom is really useful for modem testing, especially since the feedback from chat is a) inadequate and b) sent to anywhere but stderr.  Reading through and performing all the steps in the linmodem documentation is a lengthy process, but I must say the documentation is excellent and (for me) quite educational.

PPP

I had a bit of trouble ammending the scripts that were provided (you'll find them in /usr/share/doc/ppp-2.3.11/scripts).  Apart from the obvious modifications, there were 2 other changes required which took me a long time to pin down.  First of all, ppp-on references the modem as /dev/ttyS0, whereas I eventually found it at /dev/modem (a soft link to /dev/ttyTL0).  I'm not sure how it got there, but it was either Red Hat or the linmodem installation.  Secondly, the TIMEOUT in ppp-on-dialer of 30 seconds was not long enough to connect to my ISP.  I changed it to 50.

Soundcard

Apparently, if you're running kernel 2.4.2 or later, you shouldn't need to do much to get the maestro to work.  My kernel is 2.2.16-22 so I had to download some kind of driver.  I followed the example of Matthew Smith and went for the ALSA.  If you've already installed the modem, you should have all the necessary utilities to compile the driver.  The make process is surprisingly lengthy and I noticed the cooling fan kick-in half way through!

The only problem I've noticed is that since I've installed all the gnome multimedia stuff, the speakers don't work when I start up in text-mode.  This doesn't bother me that much (they were far too loud before and made me jump whenever I scrolled too far in less) but if anyone knows of a quick fix, I'd be interested.

What remains?

I've not tried the ethernet card yet with Linux, but I don't anticipate any problems there.  As to the CD-Writer and DVD stuff, I'm not sure I'm going to bother.  I shall be adding some kind of Windoze system (probably 2000 Server) and I may just content myself with running DVD and the Adaptec software on that.


Comments and/or questions to: Captain Nemo
my spam-proof email address