Logo ©1994-2007 Kevin Boone
My professional interests
Computing
Law
Education
Science and research

My leisure interests
Martial arts
Heritage railways
Garden railways
Motorcycles
DIY

Downloads
Linux downloads
Windows downloads
Java downloads
Perl downloads
Home automation downloads

About me
Home & family
My CV

Site info
Contact the author
Download policy
Keyword index

  Home > Computing > Linux

Running Linux on the Toshiba Satellite 4080XCDT

Last modified: Thu Jul 8 11:49:40 2004

This document describes how I installed Linux on my Satellite 4080XCDT. Now it is set up the system works very well, but there were a number of nasty surprises. As it happens, some of these are documented on other Web sites, but of course I didn't have access to the Web because I didn't have a working computer at the time!

Basic installation

I am using Mandrake 6.1, which I understand is similar to RedHat 6.1. When I first powered up the laptop, it wanted to install Microsoft Windows (95 or 98). I let it install Windows 95 for the time being, because it occurred to me that Windows would be the only source of information about hardware configuration. I guess I will eventually reformat the Windows partition as native Linux when I have got the laptop exactly as I want it. On delivery the disk was partitioned into four, with the first three partitions getting 2GB and the fourth getting whatever is left over. The Windows installation process puts Windows on the first partition, and leaves the others blank but formatted for DOS. Naturally the Linux root partition must use Linux native format (ext2). So in the end I formatted the hard disk as follows:
  • Partition 1 (2048 MB): Windows 95 (unchanged from original state)
  • Partition 2 (2000 MB): Linux root
  • Partition 3 (2000 MB): Linux /home
  • Partition 4 (the rest): Linux swap
Of course, Linux can use DOS/Windows filesystems without difficulty (except for ownership and access rights, which don't exist in DOS), so we don't have to sacrifice the entire 2GB of partition 1 to Windows. In practice I keep my sound and video files in this partition, because I'm not particularly bothered about access rights for these things.

The first nasty was that when I started Linux for the first time after the installation the keyboard did not work! It turns out that this problem is well documented, but I didn't know this at the time. To cut a long story short, it turns out that the console-mode mouse driver (gpm) interferes with the keyboard on this machine in a way that I don't understand. The solution is to prevent the gpm service being started at boot time when given the chance by the installation program. If you forget, you can boot from a floppy disk and delete the start-up script for gpm from all the subdirectories of /etc/rc.d. This is a drag, so it's best to remember to disable it at install time.

With this sorted out, the machine booted to the command prompt with no further difficulty. I did not choose to have X started automatically at boot time, as I imagined that X would be awkward to configure, and it was.

Hardware configuration

As far as I can tell, there is no `BIOS setup' program that is entered at start-up time, and no obvious power-on self-test (if anyone knows differently, please tell me). [ Update: many thanks to those people who wrote in to tell me... Apparently you can hold down the ESC key during boot, then press F1 when you get a `Check System' message. ] What hardware configuration that is possible can be achieved using the Windows control panel, or using the configuration floppy supplied. This is important because this is the only way to tell the laptop to boot from the CD-ROM. Most new Linux distributions are on bootable CDs, which saves the hassle of making a boot floppy. It will be necessary to use either Windows control panel or the configuration floppy to disable the internal modem, if you want to use a plug-in modem as I do.

X11

The Satellite 4080 has a Trident Cyber 9525 video chipset with 2 Mb of video RAM. This device is supported by later versions of XFree86 (I use version 3.3.5), but I found configuration of the monitor modes a bit awkward. As it happens, there's plenty of example XFree86 configuration files on the Web that work with this laptop so I won't repeat mine (but I will send it if asked). I use 1024x768 mode, 16 bits per pixel, and it looks very nice. However it is a bit slow (not painful, but noticeable) compared to modern desktop computers that I have used, and I suspect that hardware acceleration is not working very well. If anyone has any information on this I should be very glad to recieve it.

Perhaps because the gpm driver is disabled, the XF86 configuration program did not detect the mouse, and did not give me the chance to select it, so I had to edit the configuration file manually. The mouse uses PS/2 protocol and is on /dev/psaux.

I found that the X display is improved considerably by installing the package of 100 DPI fonts that comes with XFree86, but are not installed by default with the standard XFree86 setup process.

Sound

The sound device is an Ensoniq Maestro 2E. My Linux distribution did not support this device, and I don't believe any others do at present. I understand that RedHat is working on a driver, and I imagine it will appear in the next release of RedHat linux. In the meantime an experimental driver is available from the RedHat Web site, and this works perfectly well. The driver is supplied as source code so you will need to compile it. The result is a file called `maestro.o' which you can load using `insmod'. As I don't need the sound driver loaded at boot time, I use a shell script to start it, which essentially does `modprobe sound' followed by `insmod maestro.o'. You may need to modprobe opl3, etc., if you want to play midi files. The driver needed no configuration, either at compile time or when loaded. I have tested the driver with the RealVideo player, and it works faultlessly.

Modem and Internet access

The built-in modem is a `soft' modem and, presumably, requires a very complex driver. At present there is no Linux support for this device, although it is rumoured that someone is working on it. This is a big job, and I needed a modem now. So I use a Psion-Dacomm 56 kbps plug-in (PCMCIA) modem. The PCMCIA drivers detect the card automatically, and assign it to /dev/ttyS2. As luck would happen, there is a conflict between the port or IRQ settings for this device and the internal modem. The only fix I could find was to disable the internal modem (which is no loss as I can't use it, but it's a drag because it means booting from the configuration floppy again). In fact I had been warned that this would be necessary, but I tried it without, and as a result spent three hours trying to debug a PPP connection that was almost working. Having disabled the internal modem I found that the plug-in modem, and Internet access, worked perfectly well.

I use FreeServe as an ISP, because it is free (FreeServe is a large ISP that operates in the UK). Although FreeServe works perfectly well with Linux, I don't know of any way to create a new FreeServe account using Linux (answers on a postcard please). The only way I know to create a new FreeServe account is to run the setup program on the CD-ROM they supply, which only works with Windows. So it's over to Windows for this bit. Having got it working under Windows I copied down the various settings and transferred them the Linux using `netconf'. With this done all the standard Internet stuff works fine.

Ethernet

I use a Xircomm 10/100 PCMCIA ethernet adapter for local-area networking. This card was auto-detected by the PCMCIA drivers, and no configuration was necessary.

   
Search

WebThis site

Shameless plug

By the author of this site. Buy on-line from Amazon USA | UK

Editorial
So you want to be a university lecturer? Read this first!

Speak like your boss: new developments in managerese

Computing features
File handling in the Linux kernel: an in-depth look at how Linux handles files, filesystems, and file I/O

All sorts of Linux stuff

Confused about CLASSPATH? answers are here

First steps in EJB using jBoss (recently revised for jBoss 3.2)