Author: Michael Minn (see www.michaelminn.com for current contact info)
April 11, 2004
The following document describes how I set up a Dual-Boot Red Hat Linux 8.0 system on a Toshiba Satellite 2755DVD notebook computer. If you are installing an earlier version or another distribution, you may want to consult my Red Hat 7.2 Page, Red Hat 7.1 Page, Red Hat 7.0 Page or Red Hat 6.2 Page. Many of the problems associated with installing previous versions of Linux on this machine have been solved in Red Hat 8.0 and I recommend that you chose this version over older versions or other distributions.
The Toshiba 2755DVD is a mid-range laptop built in mid-2000 and running an Intel 600Mhz Pentium III. It has a 6 Gig hard drive and built-in DVD/CD-ROM drive. It comes with the standard 64 Meg of RAM which I have subsequently upgraded to the maximum 192 Meg...I highly recommend that you do the same.
I have been told that these instructions are also valid for the Toshiba 2750DVD & 2775DVD, although I have not personally verified this. 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.
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...you're on your own. I would, however, appreciate any errata that you can point out so I don't mislead anyone else.
The Toshiba 2755DVD comes with Windows 98 (2nd edition) 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.
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 for the first time. There is apparently a way to get a refund from Microsoft if you don't ever boot Windows, but I needed the OS anyway for my dual-boot system. Just because I hate having alot of junk around on my desktop and hard disk, I spent a few minutes uninstalling all the junk programs (ISPs, games, MS Outlook Express, etc) that clutter the desktop on a new system. It's not a necessary step, but it made me feel better. If you ever need to recover your Windows system, there is a recovery disk that is shipped with the new computer.Don't forget to empty the recycle bin when you're done.
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->virtual memory
Reboot. Then 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 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:
You can now insert your Red Hat distribution CD # 1. From DOS or the Windows Explorer 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.
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.
On my first attempts, I had problems booting from the installation CDs. Later, no problems. It is possible to create a boot floppy on another linux machine using the dd utility and the image from /images/boot.img on the installation CD.
Once you finally get Anaconda (the Red Hat installer) running (see above), installation is relatively straightforward and the tweaks required by earlier versions to get the display working or to keep the system from locking up are no longer requred in version 8.0. However, there are some steps that will be needed to fully use this machine and they are included later in this document.
The Red Hat installation program will start in VGA mode and give you a boot: prompt. Simply hit return to choose the default graphical installation. If you wait too long, it will automatically start in this mode.
After an initial minute or two of activity, the graphical installer will start And give you some prompt screens. The following are the choices used on my installation and may be slightly different depending on your particular situation.
You will get a welcome screen that contains no useful information.
Language selection: since I'm an American I chose English. (default)
Keyboard model: is the default: Generic 105-key Intl PC, U.S. English with Enabled dead keys. (default)
Mouse configuration: Generic 3 Button Mouse (PS/2). (default)
Installation type: Workstation
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.
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.
Firewall Configuration: Medium and Use Default Firewall Rules. "High" security will not permit FTP or RealAudio.
Additional Language Support:English (USA) (default). Yours may differ if you have a different primary language.
For Time Zone Selection choose the appropriate zone for your area.
Account Configuration: you will be asked for a "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.
At least one Account Name should be added at this time. You can add or modify them later, but you need at least one because for system safety since it is best not to do most user level work as superuser.
Workstation Defaults: I customize the installation packages:
Added: Package Group Selection: Engineering andd Scientific Authoring and Publishing Kernel Development Windoze File Server (SAMBA) System Tools Deleted: Games
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 45 minutes and messages from the installation be logged in /tmp/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.
X Interface Configuration: accept the default of S3 Savage/MX. Previous versions/distributions of Linux had serious problems with the Savage/IX graphics chip in the Toshiba 2755, but these problems were fixed in Red Hat 7.1.
Monitor Configuration: accept the default Unprobed Monitor with horizontal sync of 31.5-48.5khz and vertical sync of 50-70Hz. (default)
For "Custom Graphics Configuration", chose "High Color (16 Bit)" for color depth and "800x600" (not the default) for Screen resolution. I RECOMMEND USING TEXT LOGIN TYPE. This makes it much easier to log in to a console in case there is a problem with X Windows. It also makes it easier to see console messages printed by problematic programs.
You will then be prompted for a reboot. Be sure to remove the boot disk and installation CD before rebooting.
If you chose text login mode, you will be given a VGA login prompt when you initially boot Linux. After you login, you type startx to start the X Windows desktop. Be aware that the screen will go completely black for a few seconds while X starts.
Within a few minutes of booting Linux, you may notice a flurry of disk activity. This is normal. If your system stays on for an extended period of time, you may notice similar activity early in the morning (mine starts at 4:02AM). A program called anacron runs system administration programs on a daily, weekly and monthly basis. The configuration file is /etc/anacrontab runs the script /usr/bin/run-parts, which in turn points to the directories containing other scripts, /etc/cron.daily and /etc/cron.weekly. I believe the program that is most disk intensive is updatedb, a program that cleans updates a central database for slocate. Since I never use slocate, I deleted the /etc/cron.daily/slocate.cron file. I also deleted /etc/cron.daily/tetex.cron, which deletes unused TeX fonts (since I never use TeX). However, I left tmpwatch (which cleans out unused files in the /tmp directory), and logrotate (which cleans up old system logs).
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 Red Hat screen briefly at boot time that will allow you to use the down/up arrow keys to select Windows or Linux as the OS. Press RETURN after making your selection.
Accessing the Windows Partition: The Windows 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. Red Hat documentation indicates that the depricated "linuxconfig" program is the way for modifying this behavior (in the /etc/fstab file), but linuxconf is apparently not installed in the standard laptop installation procedure.
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. 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/Windows. 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.
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 Windows 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.
Modem Setup: No driver for the internal Lucent Mars Winmodem is shipped with the Red Hat distribution and if you try to run KPPP (the Linux dialup utility), you get a message that no modem is found. However, there is a kernel driver module available on the web. Previous versions of this module had serious problems with this module locking the system, but these problems have been fixed in the current version.
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.
Download the current driver from Christopher Hebeisen's page. There are a number of RPMs for Red Hat 8.0, but I had problems with them configuring themselves correctly. I would suggest just compiling from source and copying the modules into a module directory. AS SUPERUSER:
tar -zxvf ltmodem-8.26a9.tar.gz cd ltmodem-8.26a9 ./build_module cp *.o /lib/modules/*/kernel/drivers/net
Edit your /lib/modules/2.4.18-14/modules.dep file and add the following line at the end. The "2.4.18-14" value may differ if you are running a different kernel version. Use the uname -r command to find your kernel version.
/lib/modules/2.4.18-14/kernel/drivers/net/lt_modem.o: /lib/modules/2.4.18-14/kernel/drivers/net/lt_serial.o: /lib/modules/2.4.18-14/kernel/drivers/net/lt_modem.o
Edit your /etc/modules.conf to associate the /dev/modem device with the lt_serial module. Add the following line:
alias /dev/modem lt_serial
Add the modem to your network configuration with the GNOME configuration program (neat) from the start menu:
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 Windows and Mac.
ISP Setup: With my provider (Earthlink), I simply needed to set the Provider settings. Earthlink logins have the form ELN/user_name.
The program for connecting to the internet is hidden under System tools->Network Device Control. The Activate button will connect.
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.
The ESS/Maestro 2E sound chip installed in the Toshiba 2755 is detected by the Red Hat 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.
MIDI output/input is available through a variety of USB devices. The cheapest (around $50) is the Roland UM-1, available through Edirol, Roland's distributor of desktop music products. Another more expensive Roland USB device, the UA-100, supports both MIDI and high quality digital audio with an extensive array of effects. This is supported by my USBUA100 driver - click for more information. High quality 16-bit digital audio is also available through the Roland UA1-A, a small self-powered USB device with RCA (unbalanced stereo plug) connectors. This devices uses the standard audio.o USB Audio Device Class kernel module driver that is part of the Linux kernel. I haven't personally used it, so I'm not sure what setup is involved. Numerous other options exist... see The Linux USB project for more information.
The XMMS (the X multimedia system) is a graphical file player similar to winamp that comes with most standard Linux distributions. Unfortunately, the xmms that 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.
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 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