Dell Inspiron 8000 VT - Triboot WinME / Linux / OS/2

At some point I might may this a fully blown mini HowTo, but for the time being its not ;)

This guide assumes you are familiar with installing Linux and / or OS/2. If you are not, then you'll need a more detailed guide, and use this one to fill in the specific details for the machine.

Tech Specs
Initial Config
OS/2 Installation and Setup
Linux Installation and Setup


Tech Specs

ProcessorMobile PIII 1ghz (700mhz SpeedStep) (Coppermine)
Memory256mb
IDE ControllerIntel PIIx ATA/100 Chipset (82801BAM Ultra ATA)
Hard Disk20gb
DVDToshiba 8x DVD (SD-C2502 rev 1D13)
SoundcardESS Maestro 3i
Cardbus ControllerTexas Instruments TI-4451
VideoNVidia GeForce 2 Go, 16mb
Dell 1400x1050 LCD
IRSMC IrCC Fast IR Controller
ModemLucent WinModem 56K
NetworkIBM Cardbus 10/100 Ethernet
FirewireTexas Instruments IEEE1394 Controller

Initial Configuratiom

Hit F2 on boot, and enter the BIOS. Add the DVD drive to the boot sequence, after the floppy but before the HD. Enable the IR controller, on Com4. In the power management, disable suspend when on battery, as it does nasty things to the display. Save and reboot.

Get past all the M$ rubbish on first boot, and find your Partition Magic CD. Use WinME to check your hardware is close enough to mine, then fire up Partition Magic.

Don't touch the spare space at the start of the disk. This is for Suspend to Disk
Resize WinME back to its true size. I went for 2gb Fat32, with a new 2gb Fat16 partition after it, for data sharing.
If you're going to use OS/2, create the smallest primary partition at the end of the disk. Delete this to leave free space for bootmanager as the last step. The partition is simply to ensure there is space on the disk.
If you're going with linux, put a 20mb /boot inside the first 4gb, as you'll need to put lilo there too (the mbr gets altered every suspend to disk).

If you're installing linux, do so now. If you're tri-booting, install linux first. Otherwise, roll onto the OS/2 Install.


OS/2 Warp 4 Installation and Configuration

Installation

First off, don't try with plain old Warp 4. Its just not worth the hastle. Either get a copy of the Convenience Pack (via Software Choice or the Developer Connection), or the Serenity Systems EcomStation, which offers most of the same updates, but with a different installer.

I opted for the convenience pack, as between myself and my father we have a Software Choice subscription and a Developer Connection subscription, so had two copies. I guess the Serenity EcomStation install would be similar.

Start by putting in the bootable CD (often cd 2), and boot (you did set up the CD boot option, and do the partitioning already, didn't you?). When prompted for the OS/2 Warp CD, it wants the install cd, usually the other cd. Shortly you'll be told you don't have a partition set installable, so let it fire up LVM for you.

All being well, LVM will auto-create compatability volumes for the HPFS and FAT16 volumes (probably via a reboot). This done, install boot manager (hit enter and select the option). Now, go to the physical view, and create a new partition on your disk. Don't make it bootable, and use an existing partition. Select your FAT32 one, and enter a name of WinME, with a drive letter like H. Repeat the creation, this time for /boot, with a name of Linux, and no drive letter. Flip back to the logical view, and add Linux, WinME and your HPFS partition (which you might want to name under the physical view) to the boot manager menu. Be sure to also set the HPFS partition as installable. Now, exit saving changes.

For display adapter, I went with the default Unaccelerated SVGA Gradd. Don't pick a soundcard at this point, and don't install IR or PCMCIA. Since my network card uses a point enabler, I was able to add its driver initially. If your network card is PCI (eg the integrated one), you can add it in the network setup. If it's cardbus with a card services aware driver, you need to install a null network card for the time being, so networking installs, and you can add the card drivers once pcmcia card services are working.

Display

Once the system was up, I installed the latest version of the SciTech display drivers (beta 42), available from http://www.scitechsoft.com/. It will warn you that the card is unsupported and that unaccelerated Vesa mode will be used. Hopefully, a version in the near future will work with the GeForce 2 Go card nativly. Select a LCD 1600x1200 display, and I run with 1280x1024x24bit.
If you really want snazy accellerated support, you'll need to go bitch at NVidia. Apparently, they won't release the specs to SciTech. Find any email on their site http://www.nvidia.com and let your displeasure be known.

Sound

Get the soundcard drivers for the Maestro 3 from hobbes (Currently, es198x.zip). Unpack and install as per the readme.

Desktop Power

I would recommend installing XWorkplace, available from netlabs. Beware that this will slightly degrade stability, but I find its extra functionality is worth it. You will need to install WPI first (again from netlabs).

IFS's

You can install the Fat32 drivers (available on hobbes). Just follow the procedure as if you had a WSeB system (which in effect you do owing to running the convenience pack). You'll then have access to the WinME patition. You won't be able to access your Ext2 partitions, as the os2 driver is out of maintainance, and no longer recognises partitions created by 2.2.x and 2.4.x kernels. Linux, on the other hand, will happily read and write to your HPFS partitions (under 2.4.x, or 2.2.x with the backport code, otherwise 2.2.x will only read hpfs).

XFree86/2

If you've installed the emx runtimes, you can get XFree86 for OS/2. I have yet to test how well this works, but I'll post my results here.

PCMCIA

For PCMCIA Card Services, none of the free drivers will work, as the socket controller is too new. The touchstone drivers, which cost money, do work. See the Dr Martinus Notebook/2 Page for information on the driver, and how to order it. I'm running with the following switches:
/E /EC:auto /VS:auto /MS:0,1 /AP:on /II:off /MX:off
I've got my Point Enabled IBM Carbus Card in slot 2 (thats what the MS bit is for).

IR

I've yet to play with the IR under OS/2. I've decided to try to get it working fully under linux first.

Internal Modem

Using the IBM Supplied LT Modem driver, available from the Dr Martinus Notebook/2 Page, the modem works fine at up to 33.6kbps. Hopefully the new version, when it comes, will do v90, but for the time being, 33.6 isn't bad.

USB

Most of the USB stuff is installed by the convenience pack, so should just work. As I don't have any supported usb devices at the moment, I've been unable to test them.

More Information

For more information on Notebooks with OS/2, see the Dr Martinus OS/2 Notebook Site.


Linux Installation

It is assumed that you've already partitioned your disk using Partition Magic.
I installed Redhat 7.1, but any 2.4.x kernel based distro should be fine (eg latest SuSE, Debian, Mandrake etc)

With Redhat, I picked expert mode. The X server couldn't start, so the text based one loaded. I used disk druid to configure the disks, not fdisk. I entered the mountpoints I'd penciled in when partitioning, selecting to also mount my non linux partitions under /mnt.
Lilo should be installed onto a small /boot located inside the 4gb limit. This is because the mbr is altered by suspend to disk, so is not a safe place for lilo. Hopefully, the installer will set the active partition to this /boot, if it doesn't then use fdisk under WinME after the install.

Install whatever you feel like, I'd suggest either Custom or Laptop.

During the XFree86 config, select any GeForce 2 card, but don't be supprised when it doesn't start. You may have to skip the X configuration section, and re-configure when the system has booted.

On first boot, I had a few things installed / uninstalled by Kudzu, owing to a different mix of kernel options and modules leading to things being loaded in a different order.

Video (X Windows and Framebuffer)

To get X working, you need to use the NVidia supplied drivers, and not the free nv driver. This is because the free driver doesn't yet recognise the GeForce 2 Go card. Maybe it will in X 4.2.0. The NVidia driver does work fine. It can be downloaded from http://www.nvidia.com, then clicking on driver download. You will need a kernel module (get both the RPM and the tarball if you intend to compile your own kernel, otherwise the RPM will be find) and the X driver (RPM should be fine). Installation instructions are installed with the X driver, in /usr/share/doc/NVIDIA_GLX-1.0. Follow README to configure X, and then read LAPTOP-README, as you need to pass the kernel module some parameters. If you don't correctly set the parameters for the kernel module, the module will install, but the X Server won't be able to communicate with it, and will report it failed to load the Kernel Module.
Update: Make sure you get a driver of release 1512 or later, as this fixes most of the problems originally found with the card.
Update: I've got X4.1.0 going from the rawhide rpms. Install the rawhide rpms, then re-install the GLX rpm (this'll remove the XFree86 accelerate function, and put in the NVidia ones). Finally, download X4.1.0 Xprogs, and snarf out libXv.*, as the rawhide rpms don't ship with it, and you'll be wanting Xv for xine et al.

I have been unable to make the rivafb kernel framebuffer driver work with the hardware. I think it needs the pci fingerprint for the GeForce 2 Go added somewhere in it. The vesafb support does work quite well. I use the following in /etc/lilo.conf:
append="video=vesa:ywrap"
vga=0x317

There are still a few outstanding problems with the video support, but things are improving fast. Make sure you read the Laptop specific section of the readme (/usr/share/doc/NVIDIA_GLX-1.0), as this explains how to get 1400x1050. You no longer need to reboot after running X, as was the case with the 1200 series driver.

Synaptics Touchpad support in X

Under Windows, you can do funky things with the touchpad, such as scrolling verticially using the far right edge, double tap to click etc. This support has recently become available for linux, using the driver from here.

Ensure you have the XFree86 / X.org development headers installed (eg xfree86-4.1-devel). Then, grab the latest synaptics driver, run "make" then "make install". Finally, follow the instructions in INSTALL for how to configure XFree86 to use it.

IR Support

The bios configures the virtual IR comm port, which is detected by linux. Check that /var/log/dmesg has references to a second serial port. Make sure you compile as modules irda.o, irlan.o, ircomm.o, irtty.o, irport.o and smc-ircc.o. Now, add the following to your modules.conf:

  # IrDA over a normal serial port, or a serial port compatible IrDA port
  alias tty-ldisc-11 irtty
  # IrCOMM (for printing, PPP, Minicom etc)
  alias char-major-161 ircomm-tty     # if you want IrCOMM support
  # IRLAN
  alias irlan0 irlan
  # FIR Support
  alias irda0 smc-ircc
  # IrNET module...
  alias char-major-10-187 irnet       # Official allocation of IrNET
 
Now, to enable slow speed IR (eg for talking to your mobile), type irattach /dev/ttyS3 -s 1 (change the tty depending on what is reported in /var/log/dmesg). Put your IR device in range, and check that it has been found in /proc/net/irda/discovery. You can use irdadump to check your devices are polling each other. Find the daddr, and use irdaping to check comms (note - do this to and unpatched Win2k box, and it'll fall over. A patch is available, to make Win2K respond to the ping without crashing...)

For fast IR (FIR), use modprobe smc-ircc, and all being well it'll report the same settings as for the IR comm port, and be away.
Note that I have no FIR devices to test with currently, so I can only be sure the driver loads without error.

Sound

The Redhat sndconfig correctly identifies the the card, provided that sound is configured as a module, and the maestro module has been compiled. The modules you need are soundcore and maestro3.

Firewire

The generic ohci driver loaded without any obviously bad errors. However, as I have no Firewire devices, I have been unable to test further.

Networking

Using the 2.4.x Cardbus support and the PCMCIA Card Services version 3.1.28, my IBM Etherjet 10/100 carbus card worked without a hitch. With the Cardbus support compiled into the kernel (i.e. not as a module), then kudzu was able to find and configure the card. I didn't purchase the integrated network card, so I have no experience with it.

Modem

This works very well, once you've downloaded and installed the support for it. The LTModem is available from http://www.physcip.uni-stuttgart.de/heby/ltmodem/. You need to download and unpack the tarball from there. I went with ./build_rpm, to build a rpm for my kernel which I installed, but the other ways should work fine. Once the kernel module is installed, and the relevant options and alias's are in /etc/modules.conf, you're ready to roll. Point your pppd configuration program at /dev/ttyLT0 and you're away.

IDE, DVD etc

The Intel PIIXn support in 2.4.x with Generic PCI Busmaster DMA support will give you nice, high speed disk and dvd drive access out of the box.

To play DVDs, you can use Livid, Xine or VideoLan.
I'm using Xine 0.9.1 without a hitch :) Be sure to enable raw devices, and get the latest NVidia drivers so Xv will work. I had less luck with Livid, and VideoLan always segfaults after a few moments for me :(
As for setting the DVD drive to RPC-1 from its default RPC-2 mode (i.e. disabling drive region coding), you'll need a firmware upgrade for the drive. However, doing so will probably invalidate the waranty, so clearly I'd never attempt this. Rumour has it that the X series firmware from http://perso.club-internet.fr/farzeno/firmware/dvd/ldvdf.htm will give an error at the end of the flash, but will actually remove the region lock. The drive will then report itself differently, eg XD13 instead of 1D13, and Drive Info reports the drive as region free. Obviously, I couldn't comment on the validity of the rumour, not wishing to invalidate my warrant and all ;)

Fancy SMM Stuff

The 2.4.14 kernel includes support for the Inspiron 8000 SMM (Sytem Management Mode), which gives you access to loads of cool stuff about the laptop. See http://www.debian.org/~dz/i8k/ for details, and the userland tools.

SpeedStep

With the right patches, such as these, you should be able to tweak the SpeedStep settings of the laptop from under Linux, provided you have ACPI enabled. However, it seems that there isn't the support just yet for doing this on the Inspiron 8000, so it won't get you very far...
The speedstep-lib.c module does recognise the processor as a mobile PIII with a Coppermine core that ought to support SpeedStep, and correctly detects it as normal (0x2 - SPEEDSTEP_PROCESSOR_PIII_C) pIII speedstepping coppermine.
However, the subsequent code to fetch the stepping frequencies fails. It seems that no driver exists to fetch or change modes for the supporting chipsets that the Inspiron 8000 has - none of the standard ones will work. From looking at the comments, this is to do with bugs in the 82815 host bridge, which means the standard drivers won't touch it. Because of this, the appropriate acpi and cfufreq entries are all disabled. Until a support driver is written / existing one made to work with the host bridge, you just can't get at the speedstep functionality active on the processor :(
(You can check on the info by enabling "SPEEDSTEP_DEBUG" in arch/i386/kernel/speedstep-lib.c and arch/i386/kernel/speedstep-ich.c, doing a "make modules" and "make modules_install", then finally doing "modprobe speedstep-lib" and seeing the entry it puts into dmesg)

You may also wish to patch the DSDT table, to remove some of the bugs in the Dell Bios acpi listings. The following pages will help: