Linux on the Toshiba Satellite 335CDS

Author: Michael Minn (see www.michaelminn.com for current contact info)

February 20, 2004


Describes how to set up a Red Hat 7.2 Linux system on a Toshiba Satellite 335CDS notebook computer.


1. Introduction

2. Disk Partitioning

3. BIOS Changes

4. Installation

5. Installation Tweaks

6. True Type Fonts

7. System Specifications


1. Introduction

The following document describes how I installed Red Hat 7.2 Linux on a Toshiba Satellite 335CDS notebook computer. I am providing this information to help others avoid the problems I encountered when installing Linux on a 335CDS or similar Toshiba notebooks.

The Toshiba 335CDS is a mid-range laptop built in late 1998 running an Intel 200Mhz Pentium II. It has a 4 GB hard drive and built-in CD-ROM drive. It comes with the standard 32 MB of RAM which I subsequently upgraded to 64 MB. Upgrades to the maximum of 162 MB(?) are no longer commercially available.

The following instructions assume some rudamentary knowledge of Linux and/or Unix-like systems, although installation on this particular machine is relatively simple. You will need to know how to edit a text file - vi is an old standard console editor, although it's rather confusing to learn.

I provide no guarantees for any procedures stated in this document. You're more than welcome to e-mail me if you've got a problem, but I can't guarantee a prompt or helpful reply. Like many things in the Linux world...you're on your own. I would, however, appreciate any errata that you can point out so I don't mislead anyone else.

The definitive source for Linux laptop information is the Linux on Laptops Page.

For installation of other versions of Linux, see my Red Hat 7.0 or Corel Linux (version 1) pages.


2. Disk Partitioning

The Toshiba 335CDS came with Windows 98 preinstalled on a single partition. As such, FDISK can't be used to create a partition for Linux. However, Red Hat (and most other distributions) ship with FIPS (a DOS utility) that permits you to split your single partition into two partitions.

Since the hard drive on the 335CDS is only 4 Gig, you may want to consider making your system a Linux only system, as opposed to a dual-boot system that allows you to use Windoze or Linux. The automatic disk partitioning feature of the Red Hat installation program should handle that, but I haven't tried it.

Make sure to perform a backup of any important files on your Windows system. Although this partitioning process should leave your Windows files intact, it's better to be safe than Republican. You should then delete any files you don't need and remove any programs you don't plan to use in the future.

Empty the recycle bin before starting the partitioning process.

The first trick is getting all of your windows files on the lower part of the partition so it can be split. Start your computer and allow it to boot into Windows.

Disable virtual memory from the Windows control panel. I believe the Windows swap file is kept on the high part of the partition and that's the section that's going to be moved to Linux

	control panel->system properties->performance tab->virtual memory

Run the Windows defrag and scandisk utilities from an MS-DOS prompt (so you can use the command line options). This will move everything down to the lower part of the partition. When the defrag window comes up, click the SETTINGS button and uncheck the buttons so you DO NOT rearrange so programs start faster and DO NOT check drive for errors. Using these command line options speeds up the process: a full defrag normally takes a few hours, but this one only takes around ten minutes.

	defrag /p /q
	scandisk

You now need to create a boot disk containing the FIPS utility. Insert a blank floppy and create a bootable CD from an MS-DOS prompt:

	format a:
	sys a:

You can now insert your Red Hat distribution CD # 1. From the MS-DOS prompt or the Windows Explorer you can copy the following files from d:/dosutils/fips20/ to your floppy:

	RESTORRB.EXE
	FIPS.EXE
	ERRORS.TXT

Remove the Red Hat distribution CD, but leave the FIPS floppy in the drive and restart your system. The computer will boot to a DOS prompt. Type FIPS to start the FIPS utility.

You will pass through a Welcome screen to a Partition screen. You will get a warning about physical start/end sector not matching logical start/end sector. This is okay, press any key to accept.

You will be told Partition table adapted to current drive geometry. Press any key to accept. This will take about five minutes.

At this point, the first time I ran FIPS, I got an Error...last cylinder not free message. After I turned off virtual memory and reran defrag, this problem was solved. Hopefully it won't happen to you. Obviously, if it does, FIPS stops here and doesn't split your partition. There is a help file in the d:/dosutils/fips20/ directory on the distribution disk that may be of help. There is also a program called "Partition Magic" that supposedly you can use to create disk partitions. But if FIPS works, you can save yourself $60.

Provided you don't have the last cylinder problem, you will be asked to make backup of root & boot sector. Type 'Y' to accept. Also type 'Y' when asked if you have a bootable floppy in the drive.

You will then be asked to enter start cylinder. You can use the left and right arrow keys to move the partition split around. I chose to basically split the partition in half:

	old: 1956.9 MB, cylinder 497, new 1953.0 MB

FIPS will gives you new partition table. Type 'c' to continue.

Ready to write new partition scheme to disk: Do you want to proceed:. Type 'y'.

As befits a DOS application, FIPS will crash with a memory allocation error. You can ignore it.

Remove the FIPS boot floppy and press ctrl-alt-delete to reboot. Run scandisk (from DOS or the program launcher) and turn your virtual memory back on.

You now have two partitons on your disk and you can start the installation of Linux.

References:


3. BIOS Changes

Before beginning the installation process, you need to make some changes to the BIOS. As initially installed, the PCMCIA services will hang (apparently with an unrecoverable kernel fault) and issue the message:

	PCI: No IRQ known for interrupt pin A of device 00:13.0.
	Please try using pci=biosirq
	PCI: No IRQ known for interrupt pin B of device 00:13.0.
	Please try using pci=biosirq

This problem can be fixed by changing the BIOS setting for the PC Card. AS THE COMPUTER IS BEING REBOOTED OR TURNED ON, hold the <ESC> key down. The computer will prompt you to press the F1 key - do so. This will bring up the System Setup utility.

Press the <PgDn> key to go to page 1/2 of values. Press the Down Arrow key to advance the cursor to the "PC CARD" Controller Mode value. It probably will be set to "Auto-Selected". Press the space bar until it reads "CardBus/16-bit". This should solve the PCMCIA problemi. Many thanks to Chad Wood for providing this fix.

You should also change the boot order (upper right hand corner of page 1) to FDD->CDROM->HDD so you can boot the installer from the floppy.

Press the <End> button to exit the utility and respond "Y" when asked "Are you sure?". The system will reboot.


4. Installing Red Hat Linux

Prior to Linux installation be sure to backup any files on the Windoze partition that you may need.

Linux installation is primarily handled by the Red Hat installation program. However, there is a problem with the Red Hat 7.0 installation CDs that prevents them from being used as boot disks. Therefore, you will have to create a boot floppy.

In the Windows Explorer, go to the /dosutils directory on the Red Hat CD #1 and double-click rawrite. This will start the utility in an MS-DOS window.

When prompted for an "disk image source file name", type ..\images\boot.img

When prompted for an "target diskette drive", type a:

Follow the instructions to insert a blank (formatted) floppy in the floppy drive and press ENTER. You can use the FIPS floppy you created earlier since you won't need it again during this installation.

When the program finishes, the banner area of the window will indicate "Finished". You can now reboot (restart) with the boot floppy and Red Hat installation CD still in their respective drives. The Red Hat Linux installation program should start.

Welcome to Red Hat Linux 7.2: press Return to accept the default installer. The graphical installer will start after a few minutes.

Installation Language: choose the one appropriate for you.

Keyboard Configuration: Accept default keyboard configuration options

Mouse Configuration: Accept default generic 3-button mouse (PS/2) after selecting Emulate 3 Buttons

Welcome Screen: accept

Install Options: choose custom

For disk partitioning, choose "Manually partition with Disk Druid" (next).

Partitions (Windoze/Linux dual boot): The Windows partition is hda1. Edit it and make the mount point "/windows". Delete the new partition you created with FIPS (hda2 - 2894.5mb). Add the following new new partitions. The "hdax" may come up as different numbers, but the size and configurations should be the same.

Partitions (Linux only): Delete any existing partitions and add the following partitions. You can modify it to your whim, but you need at least three partitions: a 51MB boot partitions, a swap partition for virtual memory and a root partition.

Boot Loader Installation: Accept the default for GRUB (the Grand Unified Boot Loader). (next)

GRUB Password: You probably don't need one. (next)

Firewall Configuration: you probably want to choose "Medium". (next)

Language Support: choose the one right for you

Time Zone Selection: choose the appropriate zone for your location. (next)

Account Configuration: enter a root password. You should also add at least one user account since it is safer to run Linux as a non-root user. (next)

Authentication Configuration: accept defaults

Package Group Selection: This one's up to you. You may want to tweak it with individual package selection. I chose the following. Occupies around 1,138MB.

X Configuration: The video chip will be automatically probed as a "Chips and Technologies CT65555" with a 2MB cache. (next)

About to Install: This is your last chance to abort before starting the install process. The Installation will take around 45 minutes. In the middle of the installation, you will be prompted to insert CD #2. The installation log is /tmp/install.log

Boot Floppy: You can create a boot floppy disk - you can recycle the FIPS disk you used to create your windoze partition. This is optional. I've never needed one.

Monitor Configuration: Choose GENERIC->GENERIC LAPTOP DISPLAY PANEL 800x600. The Horizontal Sync and Vertical Sync values should automatically change to type "31.5 - 37.9" and "40-70", respectively.

Custom X Configuration: Choose "High Color (16 bit)", "800x600" screen resolution and "Text" login type. You can press "Test Setting" to verify.

  • Installation is complete. The system will reboot.

    5. Installation Tweaks

    CDROM problem: Attempts to mount CD-ROM to cause the message: "/dev/cdrom is not a valid block device". This is due to a failure loading the ide-cd module at startup. This failure was due to unresolved symbols because the cdrom.o module should be loaded before the ide-cd module. This problem is in the module dependency file and can be fixed by running depmod AS SUPERUSER. Huge thanks to a thread of messages on the Yahoo Linux message group

    	/sbin/depmod
    

    Sound: The Yamaha OPL3-SA sound chip in this machine has always been a problem with Linux because the chip cannot be auto-detected and the documentation for OSS really sucks. Oddly enough, audio doesn't work with the opl3 module but instead with the cs4232 module. /etc/modules.conf contains the parameters needed to use this module and specifies to the Linux sound system (OSS-Free) what modules to load for specific sound devices. Edit the /etc/modules.conf file and add the following lines

            alias midi opl3
    	alias sound cs4232
    	alias sound-slot-0 cs4232
    	alias sound-slot-1   off
    	alias sound-slot-2   off
    	alias sound-slot-3   off
    
    	alias sound-service-0-0  cs4232 # /dev/mixer
    	alias sound-service-0-1  opl3 # /dev/sequencer
    	alias sound-service-0-2  opl3 # /dev/midi
    	alias sound-service-0-3  cs4232 # /dev/dsp
    	alias sound-service-0-8  cs4232 # /dev/music
    	alias sound-service-0-12 cs4232 # /dev/adsp
    
            options opl3 io=0x388
            options cs4232 io=0x534 irq=5 dma=1 dma2=0 mpuio=0x330 mpuirq=5
    
    

    Note that with this configuration, only the PCM (audio) channel on the volume control (mixer) works. CD playback volume can be controlled with the volume control slider on the CD player. Thanks to Thomas Hood for his info on sound module configuration.

    Modem: The Toshiba Satellite 335CDS shipped with a Xircom CreditCard Modem CM-56T, a 56K PCMCIA modem that is no longer manufactured or supported by Xircom. The modem is supported by the serial_cs module, which will connect it to /dev/ttyS03. The command line program wvdial can be used for dialing. Running wvdialconf once will detect the modem and create the /etc/wvdial.conf file. You can then edit it to add your login information. Your file should look something like this:

    [Dialer Defaults]
    Modem = /dev/ttyS03
    Baud = 115200
    SetVolume = 2
    Init1 = ATZ
    FlowControl = NOFLOW
    Dial Prefix = 1
    Area Code = (your area code)
    Phone = (ISP access number)
    Username = (your username)
    Password = (your password)
    Ask Password = 0
    Dial Command = ATDT
    Stupid Mode = 1
    

    Unfortunately, this version of wvdial does not support automatic detection of nameservers, so you should create a /etc/resolv.conf and add some nameserver IP addresses. The two below were supplied by my ISP:

    nameserver 207.69.188.187
    nameserver 207.69.188.186
    

    The modem works, but very slowly. I had been told that setserial /dev/ttyS3 spd_vhi would improve the speed. There may be some problem related to inetd as well.

    6. True Type Fonts

    Linux is notorious for it's ugly fonts. Linuxi includes support for true type fonts in the font server XFS. However, true-type font files are proprietary so they can't be distributed with the Linux CDs. Since you are making a system configuration change, you must be SUPERUSER to perform these commands.

    Paths to font files are specified in the configuration file, /etc/X11/fs/config. The easiest place to find True Type fonts is the Windoze partition of your hard drive. You will need to modify the "catalogue" section of this file to point to your Windoze fonts directory. Your modified "catalogue" section should look something like this. The only change to the file should be the last line and the comma separator on the next-to-last line.

    	catalogue = /usr/X11R6/lib/X11/fonts/misc:unscaled,
    		/usr/X11R6/lib/X11/fonts/75dpi:unscaled,
    		/usr/X11R6/lib/X11/fonts/misc,
    		/usr/X11R6/lib/X11/fonts/Type1,
    		/usr/X11R6/lib/X11/fonts/Speedo,
    		/usr/X11R6/lib/X11/fonts/75dpi,
    		/usr/share/fonts/default/Type1,
    		/windows/windows/fonts
    

    Run the TTMKFDIR & MKFONTDIR utilities to build the fonts.dir and fonts.scale files used by XFS:

    	$ cd /windows/windows/fonts
    	$ ttmkfdir > fonts.scale
    	$ mkfontdir
    

    You will now need to restart the X font server, xfs. You can either reboot or logout of X Windows and type the following commands As Superuser at the VGA console.

    	$ killall xfs
    	$ xfs &
    	$ startx
    

    If you want to add new true type fonts, you can copy the .ttf files to the /windows/windows/fonts directory and rerun the ttmkfdir/mkfontdir sequence above.

    References:

    	http://www.linuxdoc.org/HOWTO/Font-HOWTO.html
        http://www.linuxdoc.org/HOWTO/Font-HOWTO-4.html
    	http://www.redhat.com/mirrors/LDP/LDP/lame/LAME/linux-admin-made-easy/x613.html
    	http://www.frii.com/~meldroc/Font-Deuglification.html.
    	http://www.linuxdoc.org/HOWTO/mini/FDU/index.html
    

    7. System Specifications

    CD-ROM: TEAC CD-220EA
    FLOPPY: Generic NEC Floppy Disk
    Hard Drive: Toshiba MK4006MAV (geometry 993/128/63) Generic IDE Disk Type 01 (Acculogic IDE Controller)
    Display: Chips and Tech. 65555 PCI (Toshiba)
    
    PCMCIA: Toshiba ToPIC97 CardBus Controller IRQ 11, Memory 04080000-04080FFF
    Toshiba ToPIC97 CardBus Controller IRQ 11, Memory 04082000-04080FFF
    Xircom CreditCard Modem CM-56T: I/O 02E8-02EF, IRQ 3
    
    USB: NEC PCI to USB Open Host Controller: IRQ 11, Memory Range FCFFF000-FCFFFFFF
    Video Capture: Nogatech-Nogavision
    Sound: Yamaha OPL3-SAx Sound System
    	I/O Ranges: 0220-022F, 0539-0537, 0388-038F, 0330-0331, 0370-0371
    	IRQ 05
    	DMA 01, 00
    COM1: I/O=03F8-03FF, IRQ 04
    LPT1 (printer): I/O 0378-037A, IRQ 07
    
    Partitions: 64M Swap, 16M /boot, 1000M /(root - grow to disk)
    Monitor: Generic LCD Panel
    X Configuration: Chips & Technologies CT65555