Installing Linux on the Toshiba Satellite Pro 4320 Laptop
Alex Butcher, July 22 2000
1.0 Introduction
The Toshiba Satellite Pro 4320 is a recent, discontinued model. It is not
terribly friendly towards current Linux distributions, but with replacement
of a number of key components (i.e. The kernel, pcmcia-cs Card Services,
the SVGA X server and the ALSA sound drivers) it can be made into an acceptable
mobile workstation. It is assumed that the reader is familiar with DOS,
the Red Hat Linux installation process, as well as building and installing
Linux software (such as the kernel).
1.1 Key Features
The key features of the 4320 include:
-
14.1" Active Matrix Display
-
6GB Hard disc
-
S3 Savage/IX 64-bit Graphics Accelerator on a 2x AGP bus. 8MB of memory
is available. Composite PAL/NTSC output is available.
-
CardBus support for both PCMCIA slots
-
Yamaha DS-1 3D sound on the PCI bus
-
Integrated V.90 Lucent Software Modem
2.0 Installing Linux as a dual-boot alternative to Windows 2000
The only Windows installation media supplied with the 4320 is the recovery
CD, which, by default, will re-partition and reformat the hard disc. By
interrupting the recovery process and manually performing some of the steps,
it is possible to use the recovery CD to install without removing existing
partitions.
2.1 Creating Partitions
Boot your Linux installation media (either from floppy or CD) and create
a partition for Windows on /dev/hda1. Make it active and set the filesystem
type to 'c' [Win95 FAT32 (LBA)]. The partition type of /dev/hda1 will need
to be different in order to install Windows NT 4. Create any other partitions
you require.
My partition table follows. Note that the Extended Partition on /dev/hda4
is type 'f' rather than the default of type '5'. Whilst this isn't important
for a disc with less than 1024 cylinders, when Windows refers to partitions
on discs larger than this, it will use Cylinders-Heads-Sectors (CHS) definitions
of partitions rather than Logical Block Addressing (LBA) definitions and
this can cause disc corruption (due to the 1024 cylinder limit of the CHS
scheme).
[root@ajblaptop /root]#
fdisk /dev/hda
Command (m for help):
p
Disk /dev/hda: 255 heads,
63 sectors, 730 cylinders
Units = cylinders of
16065 * 512 bytes
Device
Boot Start End Blocks Id System
/dev/hda1 *
1 255 2048256 c Win95 FAT32 (LBA)
/dev/hda2
256 574 2562367+ 83 Linux
/dev/hda3
575 591 136552+ 82 Linux swap
/dev/hda4
592 730 1116517+ f Win95 Ext'd (LBA)
/dev/hda5
592 611 160618+ 83 Linux
/dev/hda6
612 618 56196 83 Linux
/dev/hda7
619 682 514048+ c Win95 FAT32 (LBA)
/dev/hda8
683 730 385528+ c Win95 FAT32 (LBA)
2.2 Installing Windows 2000
Boot from the Toshiba Recovery CD and follow the requests through until
it asks whether it's OK to repartition and reformat. If you say no to this,
you will be left at a DOS prompt on a ramdrive (F: in my case, as letters
C: through E: are assigned to partitions on the hard disc.
Follow the following steps to install Windows 2000. A similar process
can be used to install Windows NT 4 but this is left as an exercise for
the reader. The Toshiba utilities (MBR, NTBBP, F3Dchk) do have informative
(but quirky!) usage notes.
-
Format /dev/hda1 using format c:
Don't install system files using /s or use a label otherwise F3Dchk
will not expand the installation archive.
-
Clear the Master Boot Record using MBR /!
-
Install the NT Bootstrap using NTBBP /W2K 1 /S
-
Turn on write-back caching for drive C: using SMARTDRV C+
-
Expand the Windows 2000 archive using F3Dchk Z:\S432ENK1.W2K c: /Q
/V /P:20,14,40,1
-
Reboot and check that Windows 2000 boots and runs as well as can be expected.
2.3 Installing Red Hat Linux
Perform an ordinary installation of Red Hat Linux. Make your Linux root
partition (/dev/hda2 in my case) active using fdisk and remove the active
flag from /dev/hda1. You will need to specify a 2-button PS/2 mouse in
order to use the AccuPoint II pointing device (I don't know what purpose
the smaller AccuPoint buttons serve, nor how to use them as a third/fourth/fifth
button). Specify Generic 16-colour VGA and a 1024x768 multisync monitor
during X configuration for the time being. Install LILO on the bootblock
of the root partition. Reboot when the installation is complete and you
should now be able to boot to Linux by selecting 'Linux' or Windows 2000
by selecting 'dos'.
When you boot Linux, you will probably discover the 4320's first quirk
- the keyboard will fail to work unless you tap a (printing character?) key
during startup, or boot directly to X by making runlevel 5 the default
in /etc/inittab. It is not known what causes this behaviour.
3.0 Upgrading Red Hat Linux components
A few key components (the kernel, the pcmcia-cs Card services and the X
server) need to upgraded in order to get the best out of the video capabilities
and also to make usage of PCMCIA devices reliable. In addition, the ALSA
sound drivers need to be installed in order to be able to use sound and
the Lucent Software Modem kernel module will need to be installed in order
to be able to communicate with the modem.
3.1 Upgrading the X server
A binary-only X server that supports the S3 Savage/IX chipset can be found
at http://www.probo.com/timr/savagemx.html
This should be expanded and the server binary should be placed in /usr/X11R6/bin
I suggest renaming it from XF86_SVGA to XF86_savage before installing
it.
Red Hat Linux runs Xwrapper, which in turn runs /etc/X11/X which is
normally a symbolic link to the real X server. Move the old symlink out
of the way and create a new symbolic link using
cd /etc/X11
mv X X.vga16
ln -s ../../usr/X11R6/bin/XF86_savage X
You may need to create or modify a /etc/X11/XF86Config file. You can do
this using the normal tools (XF86Setup, xf86config, Xconfigurator). Alternatively,
my own XF86Config is included in the supplementary archive.
3.2 Upgrading the kernel
I had frequent problems with my 3Com 3C575 CardBus ethernet adapter failing
to startup, dropping off the network and loading i82365.o kernel module
causing a complete system hang during boot. These problems seem to have
gone away now that I've upgraded the kernel to 2.2.17pre13 and the pcmcia-cs
package to 3.1.18. I prefer to do this using RPM and my own hacked version
of Red Hat's original .spec file, but you might have your own approach.
My kernel configuration file and .spec file is included in the supplementary
archive.
It is recommended that you always keep the Red Hat kernel installed
as a safety measure. You will need to rename it in /etc/lilo.conf and re-run
lilo after adding your own section to boot your new kernel. My own lilo.conf
is included in the supplementary archive.
Sources for pcmcia-cs and the Linux kernel can be found at
ftp://pcmcia-cs.sourceforge.net/pub/pcmcia-cs/
and ftp://ftp.uk.kernel.org respectively.
The 2.2.17pre patches can be found at ftp://ftp.uk.kernel.org/pub/linux/kernel/people/alan/2.2.17pre
3.3 Installing the ALSA sound drivers
The ALSA project was started to provide a better API for sound applications
under Linux than OSS, but along the way, it's added support for some sound
chipsets that OSS does not support. This includes the Yamaha DS-1 (aka
DS-XG or YMF744) chipset that the 4320 uses.
Again, I prefer to upgrade this package using RPM and have included
my own .spec file based on SuSE's package in the supplementary archive.
Please note that there seem to be several ways of adjusting the volume
level on the 4320 (Fn+F4, ALSA's amixer, the volume wheel at the front-left
of the case and GNOME's gmix). I'm not entirely certain as to how these
interact, but I've included my configuration files for amixer and gmix
in the supplementary archive.
Sources for ALSA can be found at
http://www.alsa-project.org/download.php3
3.4 Installing the Lucent Software Modem kernel module
I initially experimented with both versions 5.65a and 5.68 of the binary
kernel module that Lucent supply to drive the modem under Linux. I found
that both versions tended to drop the connection at inopportune moments,
panic, and in the case of the 5.68 driver, hang the machine. I eventually
gave up and borrowed a Psion 56K PCMCIA Gold Card modem and suggest you
do the same.
The Lucent driver is linked from
http://www.close.u-net.com/ltmodem.html
Tony Curtis says in
http://www.tony-curtis.cwc.net/toshiba/linux-news.html
that his problems were eliminated by turning V.90 off, but I had no such
luck. Tony also believes that the driver stopped working from kernels 2.2.14
and up (<rant>which is the perfect demonstration of why closed-source,
binary drivers are a bad idea</rant>).
3.5 Tuning the IDE interface
The hard disc and CD-ROM drive support DMA, unmasked IRQs and 32-bit IO.
The hard disc also supports 16-sector multi-sector mode. These features
can be enabled using hdparm, which I run from an initscript 'tuneide' (included
in the supplementary archive).
3.6 Universal Serial Bus (USB)
I have no USB devices to test, therefore, I haven't configured USB.
3.7 IrDA Infra-Red port
I have no IrDA devices to test, therefore, I haven't configured IrDA.
4.0 Other Information
Supplementary archive - as referred to throughout this document
Linux Laptop Page - The bible, as far as Linux on Laptops goes.
Do your research before buying and it'll make life a lot easier!
Jonathan Buzzard's toshiba utilities
Toshiba's own semi-official Linux page
Winmodems
http://linmodems.org/
5.0 Revision History
Saturday July 22 2000 - Initial revision.