Linux on the Toshiba Satellite 2755DVD

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

June 27, 2005


Describes how to set up a Fedora Core 1 Linux operating system on a Toshiba Satellite 2755DVD notebook computer.

1. Introduction

2. Hardware Upgrades

3. Disk Partitioning

4. Installation

5. The Windoze Partition

6. True Type Fonts

7. Modem Setup

8. Specifications


1. Introduction

The following document describes how I set up a Fedora Core 1 system on my Toshiba Satellite 2755DVD notebook computer.

The Toshiba 2755DVD is a mid-range laptop built in mid-2000:

Laptops are released on very short marketing cycles and Toshiba's frequent offerings generally involve multiple extremely similar models and incremental (rather than revolutionary) changes from earlier models. As such, various parts of this document may apply to a wide variety of Toshiba models. I am providing this information to help others avoid the problems I encountered.

I provide no guarantees for any procedures stated in this document. I performed most of these tasks only once and wrote all this down as I went along. As such, there are probably inaccuracies. Although some of the instructions given hereafter may be unnecessary (or perhaps not the best way to perform a given task), they worked for me and I'm not going to mess with a good thing.

The definitive source for Linux laptop information is the Linux on Laptops Page. Much of this information was gleaned from pages linked by this site.

Many of the problems associated with installing previous versions of Linux on this machine have been solved in the current distributions. If you are installing an earlier version or another distribution, you may want to consult my other Linux laptop pages:

This document assumes some minimal UNIX/LINUX knowledge. 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...freedom comes with a price and you're on your own. I would, however, appreciate any errata that you can point out so I don't mislead anyone else.


2. Hardware Upgrades

There are a couple of hardware upgrades you can make to this or any other old machine to dramatically increase performance. While neither of these will give you the performance of a 3Gig Xeon, this old machine can move with surprising alacrity.

Memory Upgrade: This machine can and should be upgraded to a maximum of 192MB of memory. More memory is better, especially for popular memory-intensive applications like Gimp or OpenOffice. Unfortunately, you may have difficulties finding a compatible module. I have been told that currently manufactured modules use the same PC100 standard but have a different SPD chip based on new JEDEC standard from November 2004. Before purchasing any memory, make sure that the module is specifically listed as compatible with this machine. You may also want to search Ebay for modules pulled from compatible machines.

Hard Drive Upgrade: The 6GB hard drive that shipped with this system is small, slow and noisy by contemporary standards. The primary cause of slow performance on this machine is not the slow processor, but actually hard drive access time. Upgrading to a new, larger hard drive will give a stunning improvement in performance while giving you ample space for applications and data. The BIOS is recent enough to accept hard drives up to 80GB. (ref).

Contemporary laptop hard drives almost always have a standard physical size and 44-pin IDE connector (as opposed to a 40-pin connector used with desktops that does not incorporate power supply lines). You can go to any of numerous sites on the web and buy hard drives relatively cheaply - although you may not want to entrust your precious data to the most inexpensive drives. The only trick is it has to be a 2.5" laptop hard drive, not a 3.5" desktop hard drive. I cannibalized a 40GB drive from my Toshiba 1905 when I blew out the motherboard and I didn't even have to reinstall the Linux OS.

The drive is located in a compartment under the floppy on the front of this machine.

Be careful not to cut yourself on the sharp edges of the cradle.

External Mouse: While this does not improve performance, some people prefer a traditional mouse or trackball to the touchpoint device incorporated into the 2755 keyboard. If you want to connect the external mouse to the PS/2 port, you need to change the BIOS settings to enable that port. Press <ESC> when booting and change the BIOS settings for "Pointing Device" from "Auto-Select" to "Simultaneous."


3. Disk Partitioning

The following instructions describe how to set up the hard drive partitions for a dual-boot Linux/Windoze installation. I suggest a Linux-only installation due to the limited size of the hard disk on this machine. If you are not doing a dual-boot installation, you can skip this section.

The Toshiba 2755DVD comes with Windoze 98 (2nd edition) preinstalled on a single partition. As such, FDISK can't be used to create a partition for Linux. However, most distributions ship with FIPS (a DOS utility) that permits you to split your single partition into two partitions.

The first trick is getting all of your windows files on the lower part of the partition so it can be split. To minimize the size of your Windoze partition, you should uninstall all the junk programs (ISPs, games, MS Outlook Express, etc) Don't forget to empty the recycle bin when you're done.

If you ever need to recover your Windoze system, there is a recovery disk that is shipped with the new computer.

Disable virtual memory from the Windoze control panel. I believe the Windoze 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->virtual memory

Reboot. Then run the Windoze 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 turn off "rearrange so programs start faster" and "Check the drive for errors." Using these command line options speeds up the process, but it still might take a while to finish...perhaps even an hour or two. If you click the "Show Details" button, you get an interesting looking screen that graphically shows the clusters being moved.

	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:

	sys a:

You can now insert Installation CD # 1. From DOS or the Windoze Exploder you can copy RESTORRB.EXE, FIPS.EXE, and ERRORS.TXT from d:/dosutils/fips20/ to your floppy. You must do this all on a floppy because DOS cannot see the CD-ROM drive.

Leave the FIPS floppy in the drive and reboot 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

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 are also Windoze programs available for creating disk partitions. But FIPS usually works works, and you can save yourself the ca$h.

Provided you don't have the last cylinder problem, you will be asked to make backup of root & boot sector. Type 'Y' to accept.

You will then be asked to enter start cylinder. You can use the arrow keys to move the partition split around. I chose to leave a minimal amount (1.1GB) of Windoze space. Your numbers will vary depending on what is on you Windoze partition.

	old: 1106.0MB, cylinder 141, new 4620.3mb

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.

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:


4. Installation

Boot from CD: If, for some reason, the BIOS is setup with floppy or hard drive as the primary boot device, you will need to change it. Hold down the ESC key while rebooting the computer. Press F1 when prompted and you will be at the BIOS setup screen. Boot device order is at the top of the left side of the screen.

Graphical Installation: Your first choice after booting will be the mode of installation. Simply hit return at the "Boot:" prompt.

Media Check: You will be asked to do a media check of the CD to verify its integrity. After each check you will get a prompt to check additional CDs. If you have the time, you probably should do this to prevent unpleasant surprises later.

Welcome: The installer will finish loading and switch to SVGA mode with an attractive welcome screen that contains no useful information. Next.

Language selection: Since I'm an Ugly American (but fervently anti-Bush) I choose English. (default)

Keyboard Configuration: U.S. English (default)

Mouse configuration: Generic 3 Button Mouse (PS/2). You may also want to chose "Emulate 3 Buttons" since some X Windows programs need the middle mouse button, which is not available on this device. FYI: you get the middle button by pressing both L & R buttons simultaneously.

Monitor Configuration: Chose "Generic LCD Display - LCD Panel 800x600" with the default horizontal sync of 31.5-37.9khz and vertical sync of 50-70Hz.

Upgrade Examine: If you have an existing Linux installation, you will be asked if you want to upgrade. I fear upgrade programs and suggest doing a clean "Install Fedora Core".

Installation Type: I'm not sure what all the options provide, but I say do a Custom installation so you know what you're getting.

Disk Partitioning Setup: If you're doing a Linux-only install, "Automatic Partitioning" will work fine.

If you're doing a dual-boot install, choose "Manually partition with Disk Druid"

Delete the new partition you created with FIPS (hda2 - 4620 MB). You should then add the following new new partitions. The "hda" device names may come up as different numbers, but the size and configurations should be the same.

	/boot (100 meg - ext3) - becomes hda2
	Linux Swap (196 meg - Linux swap) - becomes hda3
	/ (root - 2651 meg - ext3 - Select "Use Remaining Space" - becomes hda5)

You should also edit the /dev/hda1 partition and set the mount point to something line /windoze.

Automatic Partitioning: If you choose automatic partitioning for a Linux-only system, you should select "Remove all partitions on this system". The next screen will let you review the partitioning setup, which will give you a boot partition, a root partition and a swap partition.

Boot Loader Configuration: Accept the defaults for GRUB (Grand Unified Boot loader) You probably don't need a GRUB password on a normal single user installation.

Network Configuration: If you have a PCMCIA network card, it can be configured here. Regardless, you should set a meaningful host name here (such as toshiba2755) unless you are planning to connect to a network that provides a DHCP server for assigning IP addresses and host names.

Firewall Configuration: Accept the default "Enable Firewall".

Additional Language Support: Add any that you need.

Time Zone Selection: Choose the appropriate zone for your area.

Set Root Password: If you will be the only user and system security is not an issue, chose something easy to remember. Otherwise, it is best to chose some arbitrary combination of letters AND numbers. You may want to write this down someplace as there is not a simple way of breaking into a Linux system without the superuser password. You will need to add a normal user account later.

Package Group Selection: This one is up to you. I use MWM in lieu of a desktop, but you should probably choose Gnome or KDE for your desktop. My total install size is 2,431MB.

	Desktops
		X Window System
	Applications
		Editors
		Engineering and Scientific
		Graphical Internet
		Text-based Internet
		Office/Productivity
		Sound and Video
		Authoring and Publishing
		Graphics
	Servers
		(All)
	Development
		Development Tools
		Kernel Development
		X Software Development
		GNOME Software Development
	System
		Administration Tools
		System Tools
		Printing Support
			Server Configuration Tools
		Windoze File Server

About To Install: Kick off the install process. About 30 minutes into the installation, you will be prompted to insert installation CD #2 - Linux is bloating very nicely, thank you very much. Total installation time will be about an hour to 90 minutes, depending on the packages you choose. Messages from the installation be logged in /root/install.log.

Boot Diskette Creation: At the conclusion of the install you will be asked to create a custom boot disk. The one time I actually needed one of these things, it didn't work (kernel panic) so you may not want to waste your time.

Reboot: You will be prompted for a reboot. Be sure to remove the boot disk and installation CD before rebooting.

First Login: Since no users are added at installation time, you will need to login as root and add a user. For security, it is best to not spend alot of time logged in as root. You will be prompted by the passwd command for the new password.

	useradd -m (username)
	passwd (username)

startx: After logging in as the new user, you start the X desktop with the "startx" command.

soundThe ESS/Maestro 2E sound chip installed in the Toshiba 2755 is detected by the installation program and no additional configuration should be necessary. This chip provides capability for wavetable systhesis but does not have an FM synth for MIDI playback. XMMS, the X multimedia system, is a graphical file player similar to winamp that comes with this and most standard Linux distributions. Unfortunately, the xmms shipped with Fedora ships with RH 8.0 needs ARtS (Analog Real Time Synthesizer), which is used for creating annoying warning beeps. It also does not come with MP3 support. It's better to just recompile from source. Note that you need to have included GLIB/GTK+ with your installation packages to compile. The source code can be downloaded from the XMMS Website. You will need to set the XMMS configuration or the player will lock up when you try to use it. Click the right mouse button on the player in the area just above the control buttons and chose "Options->Preferences". For the output plugin, choose "OSS Driver". Chose the button to "Cconfigure" the driver. Under the "Devices" tab, chose "use alternate device" and type in /dev/dsp. OK everything and try playing a .wav file.


5. The Windoze Partition

Booting to Windoze: The setup described in this configuration is a dual boot configuration. By default, GRUB (the GRand Unified Boot loader) loads Linux at boot time. However, you will get a GRUB screen briefly at boot time that will allow you to use the down/up arrow keys to select Windoze or Linux as the OS. Press RETURN after making your selection.

Accessing the Windoze Partition: The Windoze partition can be read seamlessly from Linux. In the partitioning setup given above, the disk is mounted on the mount point "/windows". However, the default mounting mode will only allow the superuser to modify it.

You can manually edit the /etc/fstab file and modify the mounting parameters to make the /windows partition more accessible. If you open the file (as superuser) you will see six columns that should be more or less self-explanatory.

You should find the line with a mount point of /windows. In the fourth column you should add the following parameters so the line looks something like the following:

	/dev/hda1   /windows   vfat   exec,dev,suid,rw,uid=500,gid=500,umask=0  0  0

The uid and gid should be set to the user that you want to own the partition. You can find a user ID (a three digit number) by typing "id" from a console when logged in as that user. Then remount the partition:

	umount /windoze
	mount /windoze

Accessing the Linux File System from Windoze: Frank Wilson notified me that there are a couple of utilities that permit access to the Linux partitions from Windoze. A terrifying thought. I have not tried either of the two schemes he mentioned and I can not endorse or reject them.

fsdext2 is a utility that will mount the Linux partition read-only on the next available Win95 drive letter (D:, E:, etc).

explore2fs (no URL given) will let you both read and write to your Linux filesystem from DOS/Windoze. However, this is certainly less safe than read-only access.

WINE: Supposedly it is possible to use WINE (a Linux Windoze emulator) to run a number of Windoze programs including office suites. However, I haven't tried it recently. If you need to run Windoze programs like M$-Word and Excel and the Windoze Media Player, supposedly Crossover Office from Code Weavers has an implementation of Wine that guarantees successful running of specific software. I've never tried it.


6. True Type Fonts

Linux is notorious for it's ugly fonts. One of Apple's triumphs (stolen by The Beast) is TrueType fonts. They represent fonts as vectors and as such scale very cleanly. Linux includes support for TrueType fonts in the font server XFS but since there are few non-proprietary fonts available, TrueType fonts are not included in Linux distributions. However, you can easily modify Linux to use the TrueType fonts from your Windoze partition - and taking back from M$ what they took from Apple.

Since you will be making a system configuration change, you must be SUPERUSER to perform these commands.

The X font server requires some information files in the TrueType font directory. Run the TTMKFDIR & MKFONTDIR utilities to build the fonts.dir and fonts.scale files used by XFS:

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

Paths to XFS font files are specified in the configuration file, /etc/X11/fs/config. Modify the "catalogue" section of this file to point to the Windoze font directory. Modify your "catalogue" section to look like this. The only change is the /windoze/windows/fonts 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,
		/windoze/windows/fonts,
		/usr/share/fonts/ja/TrueType

Although you will need to make one further change to effectively use your TrueType fonts, you can test them by restarting the X font server, xfs. Logout of KDE so you are at the VGA console. Then type the following commands As Superuser:

	$ killall xfs
	$ xfs &
	$ startx

You can also transfer .ttf files from other machines via floppy or CDROM. Note that there are different font files for the italic, bold, bold italic and regular versions of the fonts. Some of the True Type files can be very large so you may need to use multiple floppys. After copying them to /usr/share/fonts/truetype you must run through the subsequent ttmkfdir, mkfontdir, reboot steps.

References:


7. Modem Setup

Modem Setup: No driver for the internal Lucent Mars Winmodem is shipped with most distributions. The one that exists (ltmodem) is a hybrid kernel module that includes some proprietary binary code.

Download the current driver source from Christopher Hebeisen's page. Use version 8.30a3 or later as there are compilation problems on Fedora with version 8.26a9. Because the driver is a kernel module, you will need to install the kernel source files so the kernel include files are available for compiling the modem driver module.

	tar -zxvf ltmodem-8.30a3.tar.gz
	cd ltmodem-8.30a3
	./build_module
	./ltinst2
	./autoload

The PPP daemon that controls the connection will get the names of DNS servers from the ISP and place them in the /etc/ppp/resolv.conf file. However, Linux uses /etc/resolv.conf for name resolution. So, you will need to create a soft link:

	ln -s /etc/ppp/resolv.conf /etc/resolv.conf

Although both KDE and GNOME have graphical dialers, the command line dialer wvdial is the simplest way to dial out...and the configuration file are the same ones used by KPPP. Create the file /etc/wvdial.conf and place the following contents in it:

	[Dialer Defaults]
	Modem = /dev/ttySL0
	Init1 = ATZ
	Phone = (your ISP's access number)
	Username = (username supplied by ISP)
	Password = (your password)

To dial, type wvdial.

Say the word "Winmodem" to a Linux laptop owner and you'll hear alot of four letter words...none of them "Love". Winmodems are not really self-contained modems, but telephone interfaces. The internal processing handled by hardware inside a traditional modem has been moved to software in a Winmodem. Given modern processor speeds, this is not as silly as it might seem, especially since this can reduce latency in processing...something especially important to online gamers. The fatal downside for Linux is that few manufacturers choose to invest in additional software development for Linux when there is a much larger and more lucrative market in Windoze and Mac.

E-Mail: You can use Mozilla Mail to get your e-mail. I tried using the much promoted Ximian Evolution, but couldn't get it to send. Again, with Earthlink, the incoming and outgoing mail server is mail.earthlink.net.

Mozilla is also the browser of choice. Not as speedy as KHTML (upon which the KDE konqueror browser is based) but it renders better.

A very cool feature of Mozilla is the native ability (unlike Internet Exploder) to stop pop-up ads! The feature is under Edit->Preferences->Advanced->Scripts & Plugins. Under "Allow webpages to," unhighlight the check box next to "Open unrequested windows". I can't believe I've lived my whole web life without this feature.

References:


8. Specifications

CD ROM
TEAC DV-28E
Firmware 7.0F
DMA

Disk Drives
Generic IDE Disk Type01
Generic NEC Floppy Disk

Display
S3 Inc. Savage/IX w/MV
Memory Range 000A0000 - 000AFFFF
Memory Range 000B0000 - 000BFFFF
Input/Output Range 03B0 - 03BB
Input/Output Range 03D0 - 03DF
Interrupt Request 11
Memory Range 18000000 - 1FFFFFF
Memory Range 000C0000 - 000CBFFF
Memory Range 20000000 - 2000FFFF

Floppy Disk Controller
Input/Output Range 03F0 - 03F5
Input/Output Range 03F7 - 03F7
Interrupt Request 06
Direct Memory Access 02

Lucent Microelectronics 56k WinModem
Toshiba Internal V.90 Modem
Port COM2
Interrupt Request 11

COM1 Port Properties
Input/Output Range 03F8 - 03FF
Interrupt Request 04

LPT1 Printer Port
Input/Output Range 0378 - 037A
Interrupt Request 07

Sound
ESS Technology ES1978 Maestro 2E

ESS Device Manager
Interrupt Request 11
I/O range FC00 - FCFF
Gameport Joystick
I/O range 0200 - 0207
Maestro DOS Games/FM Devices
I/O range 0220 - 022F 
I/O range 0388 - 038B
Interrupt Request 05
DMA 01
Maestro MPU401 Devices
I/O Range 0340 - 0341

USB
Intel 82371AB/EB PCI to USB Universal Host Controller
Interrupt Request 11
I/O Range FF80 - FF9F