Linux on the Toshiba Satellite 5105-S607

  1. Overview
  2. Partitioning for dual-boot
  3. Installing Linux
  4. Hardware
  5. Links

Overview

I've had very little trouble using this laptop with Gentoo linux (www.gentoo.org). It's very fast and most of the parts work with little effort. Unfortunately, some of the cooler features of the laptop, like the cPad touchpad/LCD screen, rely on proprietary drivers that only work in windows. Thus far Synaptics, the manufacturer of the device, has refused to give out any technical specifications that would allow someone to make a Linux driver. The only thing the cPad can do in linux is display the default Toshiba logo. Also, the two proprietary Flash card slots won't work in Linux. These issues, however, are relatively minor, and overall my experience with the laptop has been good.


Partitioning for dual-boot

I only rarely use Windows, but since the laptop came with it preinstalled I decided to leave it on my hard drive. To set up partitions, I first used Partition Magic 7.0 to resize the default NTFS partition down to about 10 GB. Free partitioning programs like the FSF's Parted or fdisk sadly can't resize NTFS partitions without destroying all the data on them. If you don't feel like spending the 55 bucks for something you'll only use once, you can easily get a cracked copy from gnutella.

Once you've resized the windows partition, it's time to create your linux partitions. You can do this manually with fdisk or with the built-in partition programs in Red Hat or Mandrake's setup programs. I like to have a separate boot partition, which is not normally mounted, so that if the root filesystem gets corrupted the system will still be bootable. I use ext3 because sometimes I let the battery's power run out.

Once you've got the partitions set up, you'll need to instal GRUB into the Master Boot Record of the hard drive. to do this type:

# grub
grub> setup(hd0)
Next, if you want to dual-boot, you'll need to add an entry to the grub config file (see your distro's help for the location of this file) like this:
title=Windows XP
root (hd0,0)
makeactive
chainloader +1
That should be it. Your system should be set up for dual booting Linux and Win XP.


Installing Linux

There's not a whole lot to say here, just follow the installation instructions of your distribution, and it should work. If you plan to compile your own kernel, look at the hardware sections below to see what kernel modules you'll need.

Hardware

ACPI
This laptop uses ACPI exclusively; APM isn't supported. Use the latest ACPI patch from the Linux ACPI Project, and enable all the options (battery, fan, thermal, button, etc.). You'll also want to install acpid, which handles acpi events and can be used to run scripts when certain things occur. ACPI has so far worked fine for me. If you want to check your CPU's temperature, the battery level, and various othe things, you can look at /proc/acpi for information.
CD-R
To use the combination CD-R/DVD drive, you'll need to include SCSI support and SCSI generic support in your kernel. You'll also need to make sure that ide-cd and ide-scsi are compiled as modules. To use the drive as a normal cd-rom ide-cd must be modprobe'd; when you want to write cd's you'll need to remove ide-cd and insert ide-scsi, like this:
modprobe -r ide-cd
modprobe ide-scsi
You'll need to install cdrecord and mkisofs, and you'll probably want a front-end like xcdroast. (I personally use gcombust)
USB Floppy Drive
To use the USB floppy drive, a few options need to be enabled in your kernel: SCSI support and USB mass storage support. These can be compiled as modules or built-in, whichever you like. If you have devfs enabled, the floppy device is /dev/discs/disc1/disc.
Video
The video card on this laptop, the nVidia Geforce4, has excellent support in linux. Just download and install the nvidia-glx and nvidia-kernel packages, and in your XF86Config file, in the device section, put the line:
Driver "nvidia" 
That's it. Here is a copy of my XF86Config for reference.
Input Devices
The touchpad uses a USB bus, so you'll need to compile USB Human Interface Device support into your kernel. If you've done that, the device to use is /dev/input/mice. It's easy to use a secondary USB mouse; look at the Input section of my XF86Config for an example. The keyboard has a tendency to repeat keystrokes. If you have this problem, put the line:
Option "XkbDisable"
into your XF86Config. To use the Toshiba Fn key, you need to compile Toshiba laptop support as a module and insert it like this:
modprobe toshiba tosh_fn=0x62
Sound
The sound card, though it claims to be some kind of Yamaha (YMF753 I think) actually uses the intel810 driver. I use ALSA with this card; just install the ALSA drivers and set up your computer to autoload the modules snd-intel8x0 and snd-pcm-oss (if you want OSS compatibility) on boot. You can also use standard kernel sound if you like. The sound works fine, and the small LCD/buttons on the front can even be used to play cd's when the computer is off. The small LCD has a little visualization scope that shows bars of varying heights when sound is playing, even under linux.
Other
As I mentioned before, the proprietary Flash slots don't work under linux. This isn't a big loss though, since flash memory is expensive and if you're like me you've never used it or seen it used before. Other than that, there isn't much else to discuss. I assume the PCMCIA slots and FireWire port (kernel module: ohci1394) work, but I don't have any hardware to test them with.

Links

Ben Lynn has a site with a lot of good information, most of which applies to this model as well.
Jonathan Buzzard's page has some downloads, although I couldn't get his utilities to work on my laptop.



You can contact me, if you really want to , at gmartin at mit dot edu.