Linux on the Toshiba Satellite 1800-S203
Author: Michael Minn (see www.michaelminn.com for current contact info)
June 24, 2008
The following document describes how I set up an Ubuntu 7.10 (Gutsy Gibbon) system on my Toshiba Satellite 1800-S203 notebook computer.
The Toshiba 1800-S203 is a mid-range laptop built in mid-2001:
- Intel Celeron (coppermine) 801 MHz CPU
- Trident Microsystems Cyber-blade AI1 video chip
- 1024 x 768 TOS52 LCD screen
- 128 MB RAM installed (max 512 MB in two PC100 SDRAM SODIMM sockets)
- 10 GB hard drive
- Toshiba SD-C2502 DVD/CD-ROM drive
- Ali Corporation M5451 PCI AC-Link controller audio device
The primary issue installing Ubuntu on this machine is the absence of support for DDC video monitor detection, which will cause the default installers to lock up. So the instructions below are a bit more complicated than a standard Ubuntu installation, which usually involves just a handful of prompts and mouse clicks.
1. Before You Begin
Memory Upgrades: Although Linux will operate with the small memory/hard-drive configuration that this machine came with, your performance will be significantly poorer than it can be. It is highly recommended that you purchase a memory upgrade. The memory SODIMMs slide into a pair of slots accessible through a screwed-on cover on the bottom of the machine. I got a pair of 256MB PC100 SDRAM modules from 4AllMemory.com for around $80 + shipping.
Hard Drive Upgrade: While your upgrading the memory, you should also get a larger, faster hard drive. While having more space is helpful, the speed improvement with a more modern hard drive will make a noticeable performance improvement. The hard drive fits into a carriage on the side of the machine that is released with a single screw. I got a new 80GB Western Digital drive for around $80 from DriveSolutions.com. Be sure to get an ATA drive, not one with the newer SATA connector that will not fit in this machine.
Dual Boot Install: This machine came with Windoze 98 pre-installed and I later installed a legit copy of XP on the machine from CD. If you want to be able to run Windoze and Linux on the same machine, you will need to either split your existing Windoze partition or repartition your hard drive and completely reinstall Windoze on one of the new, smaller partitions. Splitting an existing NTFS partition with ntfsresize is not covered in this document. I chose the reinstall path, using the Ubuntu Live CD to run fdisk and split the partition before reinstalling XP.
Backup Your Windoze Registration Files: Regardless of whether you chose to reinstall Windoze or split your Windoze partition, you should keep your Windoze XP registration files to avoid having to go through the M$ activation procedures. Copy these two files onto a floppy or flash drive. If you have to reinstall Windoze, these files may be copied into the new installation. However, these files contain system specifications (memory, disk serial, disk size, etc) and depending on how significant your system upgrades are, copying these files may not work. There are cracking programs out there, but I've never tried them and can't recommend them without violating the damn DMCA. (reference), (reference)
Upgrade Your BIOS: Although I'm not certain this is necessary, you should go to csd.toshiba.com, get a copy of the most recent BIOS for this machine, and flash your BIOS. This operation must be performed from Windoze. In my case, the upgrade was from v1.90 to v2.20.
2. Install Command Line Ubuntu
UPDATE 6/24/2008: I have received reports that, as of Ubuntu 8.04, although the graphical install still doesn't work "out of the box", you can do a normal install. Then, when rebooting, choose "error mode" to boot to command-line mode, edit the xorg.conf file as described below, then reboot graphically.
Ubuntu is a popular and friendly variant of the Debian Linux distribution. Normally, installation can be accomplished with a handful of mouse clicks. However, because the installer has a bug related to the video chip in this machine, you will need to install a command-line version first. Use of the regular installer will result in a freeze when you get to the point where the installer starts configuring the windowing system (X). The procedure is a bit cumbersome, but I haven't found an easier way.
Download and Burn the Alternate Desktop CD: You will need to perform a command-line installation which is only available on the "Alternate Desktop CD". You specify this CD with a checkbox on the Ubuntu download page. The downloaded file is a CD disk image (ISO) that you should burn to a CD using your CD burning software of choice.
Boot the Installation CD: Insert the installation CD in the CD drive and reboot. If the machine ignores the CD and boots from the hard drive, you need to change your BIOS boot order by holding down the ESC key while rebooting and changing the boot order on the BIOS screen so that the CD drive is first in the order list.
Install A Command-Line System: At the Ubuntu boot screen, you should choose the option, "Install a command-line system" and press RETURN. You will be asked a series of questions...
Language: your choice
Country: your choice
Keyboard Layout: do not auto-detect. You will be prompted for options. U.S. English speakers can accept the defaults.
No Network Interfaces Detected: There's no native network interface on this machine and even if you have a PC card network port, it may not be recognized at this stage. So just continue. Ive
Hostname: not that significant, but you may want to choose something more meaningful than the default of "ubuntu".
Partition disks: If you are creating a Linux-only system (no Windoze dual boot) you can choose "guided". I wanted to make sure everything got set up correctly so I chose "manual". This drops you into a disk partitioner and the following were my settings. The exact sizes are up to you, although I use an unusually large swap space just for safety.
/dev/hda1 ntfs 41,126 MB hda2 /boot 197 MB ext2 hda3 swap 1003 MB swap hda4 / 37,696 MB ext3
Time Zone: your choice
User full name: I suggest for anonymity that you use an alias rather than your real name
Username: Default will be based on the full name you give.
Password: Choose something easy to remember, but a "strong" password includes upper and lower case letters, numbers and punctuation. "password" is not a strong password; "Pa55w@rd" is a little better.
(begins install of base system - around 20 minutes)
HTTP proxy: Leave blank unless you're on a corporate network of some kind
(select and install software - around 6 minutes)
Install GRUB boot loader: Accept defaults
At this point you should be able to reboot into a command line version of Ubuntu
3. Install The Graphical Interface
The problem with the default graphical Ubuntu installation is that the system will lock up (freeze) when the process gets to the point where it starts setting up your X Window configuration. Oddly, this is not a problem with running the live CD, only when running the installation procedure.
The problem appears to be that the Trident video chip driver tries to use VESA's Display Data Channel (DDC), a standard allows the monitor to tell the video card (or on some cases the computer directly) about itself; particularly the supported screen resolutions and refresh rates. However, this hardware configuration apparently does not support DDC and X simply freezes waiting for a DDC response that never comes. (reference)
Reboot: Reboot with the installer CD in the drive and choose "boot from first hard drive" from the installer menu. This will give you the GRUB bootloader screen with options for how to reboot. Choose the default top line, which will give you a text login prompt. After logging in, you will have a command line.
xorg.conf: The workaround for the DDC bug is that you need to install an xorg.conf configuration file without DDC BEFORE installing the X Window system and the Ubuntu Desktop. The following is my /etc/X11/xorg.conf file. The key is the line in the "Device" that says Option "NoDDC". (reference)
# xorg.conf (X.Org X Window System server configuration file) # # Custom file by Michael Minn Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "us" EndSection Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protoxol" "ImPS/2" EndSection Section "Device" Identifier "Trident Microsystems CyberBlade/i1" Driver "trident" BusID "PCI:1:0:0" Option "NoDDC" EndSection Section "Monitor" Identifier "ToshLCD" Option "DPMS" HorizSync 30-71 VertRefresh 50-100 EndSection Section "Screen" Identifier "Default Screen" Monitor "ToshLCD" Device "Trident Microsystems CyberBlade/i1" DefaultDepth 16 SubSection "Display" Depth 16 Modes "1024x768" EndSubSection SubSection "Display" Depth 24 Modes "1024x768" EndSubSection SubSection "Display" Depth 16 Modes "800x600" EndSubSection SubSection "Display" Depth 24 Modes "800x600" EndSubSection EndSection Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" InputDevice "Configured Mouse" EndSection
Copying xorg.conf: If you're unfamiliar with the Unix command line, the easiest approach is to create the xorg.conf file in Windoze with notepad (not Word), copy it onto a flash drive and then copy it from the flash drive into your Linux installation. The command line commands to mount the drive and copy are:
sudo mount /dev/sda1 /media sudo cp /media/xorg.conf /etc/X11/xorg.conf sudo umount /media
The manly option is to use the command-line editor, VI, to type the file in directly. A good tutorial on VI is HERE...
Installing X: With the xorg.conf file in place you can install X and the Ubuntu Desktop. Your xorg.conf will not be overwritten.
sudo mount /media/cdrom sudo apt-get install xorg ubuntu-desktop
Although I haven't verified it, Ubuntu 8.04 and later supposedly give a "Couldn't find package xorg" error message because that package has been replaced. Try "x-window-system-core" instead:
sudo mount /media/cdrom sudo apt-get install x-window-system-core ubuntu-desktop
This part of the installation takes around 90 minutes with long periods of no obvious activity. Best to kick it off before leaving for work in the morning or before bedtime.
GRUB2 Boot Option (Update 9/4/10): Although I haven't verified this, as of Ubuntu 10.4, I have been told that you will also need to disable X/KernelModeSetting to avoid additional lockups. Edit /etc/default/grub and change the GRUB2 kernel command line options to:
Reboot: You should now be able to reboot and Ubuntu will come up with a full graphical login and interface.
4. Ubuntu Tweaks
Remove Splash Screen: Disable the splash screen will allow bootup messages to be visible, which can be helpful for diagnosing system problems. While some folks take a Windoze attitude and like to keep them out of sight and out of mind, knowledge is power. To remove the spash screen, edit the /boot/grub/menu.lst file and remove "quiet" and "splash" from the kernel line in the boot menu option(s) near the bottom of the file.
Update Application Repository: Since this machine does not have a native network connection, apt-get needs to be updated to be able to connect with security.ubuntu.com and to know where to get new program packages. From a command line terminal:
sudo apt-get update
If you don't do this, automatic installs (like the Flash Player) will fail. Manual invocations of apt-get will give you messages like:
E: Couldn't find package xxx
Unneeded Services. By default Ubuntu starts alot of services that are unnecessary on a small, old, standalone laptop. All those additional services slow down boot times and, in some cases, may present unnecessary security risks. You can use the services manager in the GUI at System->Administration->Services. You can also delete files from the /etc/rc* directories, although you should use caution to avoid disabling something you need. I turned off the following services:
- Automated Crash Reports Support (apport)
- Bluetooth device management (bluetooth)
- CPU frequency manager (powernowd)
- Hotkeys management (hotkey-setup)
- Multicast DNS service discover (avahi-daemon): Used by bonjour chat and some Apple systems
Flash Player: Flash Player is de rigeur nowadays for web browsing. The plugin installer in the Firefox browser will find and install the Flash Player when you click on the "Find Missing Plugins" toolbar that appears when you visit a site with Flash objects
Since this machine has no native networking interfaces other than a POTS modem, you will need to purchase an external device of some kind to connect to the modern world.
Ethernet: A friend gave me an old Xircom RealPort ethernet 10/100+Modem 56 REM56G-100 PCMCIA card to use as a network interface. The card is detected at boot time and the Ubuntu desktop executed DHCP on it automatically at startup, making no further configuration necessary. PC Card ethernet devices are a fairly stable technology so you can probably buy any card without much concern about Linux compatibility... but keep the receipt just in case.
Wireless: I got a little Netgear WG111T USB device that works fine on both the Windoze and Linux sides. However, it requires a little bit of tweaking to get it to work, which is described on my peripherals page
Dialup: The modem chip in this machine is accessed through ALSA (the Linux sound system) and supported by the SmartLink modem daemon (slmodemd), which is contained in the sl-modem-daemon package. You will also need the gnome-ppp package. I don't need dialup on this machine and haven't actually gotten it working, but some rather involved instructions are available HERE...
6. Memory Problems
My machine had memory problems that were causing unpredictable crashes and failures. Not certain if this is endemic to this model, but the following are some of my experiences.
Symptoms: When using the machine in Windoze XP (before the Linux install) it would sporadically and spontaneously blue screen and immediately reboot. We thought it was a problem with the XP installation and tried reinstalling XP. Oddly, the installer would freeze inexplicably when reaching around 37 minutes remaining. It was possible to complete the installation by repeatedly restarting the installation procedure. However, the reboot problems remained and programs (especially installers) would crash with odd errors.
On the Linux side, the Ubuntu installer software (debootstrap) would fail to install some components. Scripts would fail with strange syntax errors (because they were decompressed into faulty memory). Installers for other distributions, such as Fedora's Anaconda installer, would not complete. Becuase of the low memory requirements of the command-line installer, it was possible to get a command-line installation working.
MEMTEST86: The Ubuntu command line installation creates as one of the boot loader (GRUB) options a memory diagnostic utility, MEMTEST86. When I ran memtest, I was getting a number of errors in memory above 256MB.
Bad Memory Stick or Bad Memory Slot?: On a lark, I tried removing one of the memory sticks (the one toward the front of the machine that is face down). The memory tester failed almost immediately. However, when I replaced the memory in the front slot and pulled the stick from the back slot, the memory test went fine. When I swapped the memory sticks in the front slot, the memory test failed again, indicating that the memory stick was bad. But since the machine was having problems before we replaced the memory, I'm still not certain whether the bad slot messed up the memory or I just happened to replace a bad memory stick with a bad memory stick. Regardless, I was able to get the machine running with one 256MB memory stick and felt it was better to leave well enough alone.
Recovering From Installer Crash: I did discover that I could use the "sudo dpkg --configure -a" to finish installs when the installer crashed. However, this workaround was unnecessary when I got the memory working and the installer stopped crashing.
7. Other Linux Distributions
Given the mild difficulty of installing Ubuntu on this machine, you might consider another distribution, although once the install process is done, Ubuntu runs fine on this machine.
PCLinuxOS is another Debian variant (using the KDE desktop rather than Gnome) that installs without a hitch on this machine. Like Ubuntu, it comes on a single live CD that you can install from. If you don't feel any overriding need to specifically have Ubuntu, you might consider PCLinuxOS instead.
Fedora Core is the community-supported offering from RedHat, one of the more venerable professional distributions. It's what I use on my everyday machine, although it's not as "friendly" to less-knowledgable users. Fedora Core 5 seems to install fine on this machine, although I didn't take the time to actually finish the complete installation process.
Knoppix is a Debian-base distribution that comes on a Live CD. Although it can be installed on a hard drive, supposedly sofware installation is rather unfriendly and it should be thought of strictly to be run from the CD. Automatic filesystem detection locks up the loader, so it should be started from the boot prompt without fstab creation:
DamnSmallLinux is a smaller variant of Knoppix that is useful for repairing broken machines. Like knoppix, it can be installed on a hard drive but is not recommended for permanent installation. Because of the DDC problem described above, it should be booted with a manual X installation and no filesystem detection to prevent lockups on this machine:
dsl xsetup nofstab
When given the option to choose between XVesa and XFBDev, choose XFBDev since XVesa locks up the machine.
PuppyLinux is a small, overly cute distribution that I hoped would work on this machine. However, it freezes when trying to bring up X (probably because of the DDC bug) and I couldn't figure out how to start it with noddc.
I have long had a theory that people who came before us should be given the benefit of the doubt when they gave names to things that were clearly designed to warn us away from those things. The canyon where California's God-forsaken nuclear power plant is located is called... Diablo Canyon. That should have been a hint, maybe. (Rachel Maddow)