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.
Processor | Mobile PIII 1ghz (700mhz SpeedStep) (Coppermine) |
Memory | 256mb |
IDE Controller | Intel PIIx ATA/100 Chipset (82801BAM Ultra ATA) |
Hard Disk | 20gb |
DVD | Toshiba 8x DVD (SD-C2502 rev 1D13) |
Soundcard | ESS Maestro 3i |
Cardbus Controller | Texas Instruments TI-4451 |
Video | NVidia GeForce 2 Go, 16mb Dell 1400x1050 LCD |
IR | SMC IrCC Fast IR Controller |
Modem | Lucent WinModem 56K |
Network | IBM Cardbus 10/100 Ethernet |
Firewire | Texas Instruments IEEE1394 Controller |
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.
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.
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.
Get the soundcard drivers for the Maestro 3 from hobbes (Currently, es198x.zip). Unpack and install as per the readme.
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).
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).
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.
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).
I've yet to play with the IR under OS/2. I've decided to try to get it working fully under linux first.
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.
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.
For more information on Notebooks with OS/2, see the Dr Martinus OS/2 Notebook Site.
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.
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.
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.
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 IrNETNow, 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.
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.
The generic ohci driver loaded without any obviously bad errors. However, as I have no Firewire devices, I have been unable to test further.
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.
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.
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 ;)
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.
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: