Linux on a Toshiba Satellite M30-951 laptop
How to install and configure Fedora Core 2
Toshiba M30

This article describes how to install Linux (in this case Fedora Core 2) on a Toshiba M30-951 laptop.

There are several different versions of the Toshiba Satellite M30 laptops available, so this article might also apply to other Toshiba M30 models.

While the model number (in my case 951) describes the configuration (such as CPU type, graphics card, hard disk drive, optical drive etc.), the additional Pro ("Toshiba Satellite Pro M30-951") seems only to indicate that the laptop has been sold with a bundled version of Windows XP Professional.

Table of Contents

 


Decisions for Buying this Laptop

From October 2004 to February 2005 I was doing a six-months internship at a management company near Zurich, Switzerland, as preparation of my Bachelor Thesis. As I moved to Switzerland and therefore have to do some of the work "on the road" (better: "in the train") while travelling home to my wife on the weekends, I had been looking for a mobile workstation. It should have

  • a "not too small" display (at least 15 inches) and a resolution higher than 1024x768
  • at least 40 GBs of disk space as I would need a Windows and a Linux partition and one in addition for exchanging data between the two operating systems
  • a CD or DVD writer
  • a built-in Ethernet interface
  • at least 2 USB slots
  • optional: Wireless LAN

The new laptop should be very reliable so that it could accompany me at least until the end of my Master studies in about 3 years. Finally, I had to decide between an IBM Thinkpad R51 and the Toshiba Satellite M30 (both at the same price). I have chosen the Toshiba because it had the advantage of a widescreen display (very nice when coding or watching movies) and built-in WiFi technology.

As I intended to install Linux and use it most of the time anyway I might have saved some money as I have bought the non-Pro Satellite that has been shipped with a version of Windows XP Home Edition. I have bought the laptop as a special offer at Saturn store »Potsdamer Platz« in Berlin in August 2004 for 1.499,- Euro (about USD 1,820.- at that time).

Specifications

  How to get to work?
- Intel® Centrino™ Mobile Technology with an Intel® Pentium® M processor 715 (1.50 GHz) works with modified speedstep-centrino
- Intel® PRO/Wireless 2200BG Networking works with ipw-2200
- Intel® 855PM Chipset n/a (works out of the box)
- 400 MHz Front Side Bus (FSB)
- 2 MB 2nd Level Cache
- 512 MB RAM (max. 2 GB, 2 memory expansion slots available in total, both used at present)
- NVidia GeForce FX 5200 graphics card with 64 MB DDR Video RAM (AGP 4x) works with modified xorg.conf
- 15.4" widescreen display (WXGA, 1280x800, 16.7 Million Colors)
- 60 GB hard disk drive n/a (works out of the box)
- DVD Super Multi drive
Reads: CD-ROM (24x), CD-R (24x), CD-RW (12x), DVD-ROM (8x), DVD-R (4x), DVD-RW (4x), DVD+R (4x), DVD+RW (4x), DVD-RAM (2x)
Writes: CD-R (16x), CD-RW (4x), HS CD-RW (8x), DVD-R (4x), DVD-RW (2x), DVD+R (2.4x), DVD+RW (2.4x), DVD-RAM (2x)
n/a (works out of the box)
- Rechargeable LiIon battery n/a (works out of the box)
- External Interfaces:  
   1x External Display (analog) (not tested yet)
   1x RJ-11 (V.90/V.92 modem) (not tested yet)
   1x RJ-45 (10/100 MBit Ethernet) works with e100 module
   1x Parallel Port (IEEE 1284) should work (untested)
   1x TV-Out (S-Video) (not tested yet)
   1x i.LINK® (IEEE 1394, FireWire™) (not tested yet)
   1x SD Card Slot (not tested yet)
   1x Fast InfraRed (FIR) (not tested yet)
   1x external Microphone (not tested yet)
   1x external Headset (not tested yet)
   3x USB 2.0 n/a (works out of the box)
   1x PC Card slot for a Type II PCMCIA card (not tested yet)

Before the Installation: Cleaning up

Well, I do not trust pre-installed or pre-configured computers, so the first thing for me to do was to wipe out the hard disk, create a new partition table and do a clean, fresh install with the software of my choice :)

I decided to install Windows first as I used to have problems on some desktop computers with installing Windows after Linux. So I created the following partitions, installed Windows XP into the NTFS partition (/dev/hda1) and made a FAT32 partition (/dev/hda7) for exchanging data between Windows and Linux:

# fdisk -l /dev/hda

Platte /dev/hda: 60.0 GByte, 60011642880 Byte
255 Köpfe, 63 Sektoren/Spuren, 7296 Zylinder
Einheiten = Zylinder von 16065 * 512 = 8225280 Bytes

    Gerät Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        1785    14337981    7  HPFS/NTFS
/dev/hda2            1786        1789       32130   83  Linux
/dev/hda3            1790        3064    10241437+  83  Linux
/dev/hda4            3065        7296    33993540    f  W95 Ext'd (LBA)
/dev/hda5            3065        3319     2048256   83  Linux
/dev/hda6            3320        3450     1052226   82  Linux Swap
/dev/hda7            3451        7296    30892963+   c  W95 FAT32 (LBA)

  • /dev/hda1 is used by Windows XP (14 GB, NTFS)
  • /dev/hda2 is mounted on /boot (32 MB seem to be enough for the kernel images and some other stuff in /boot, but the Fedora installer complains about a /boot partition being smaller than 75 megabytes. I simply ignored that and formatted /boot with the ext2 file system)
  • /dev/hda3 is mounted as / (10 GB, ext3 journaling file system)
  • /dev/hda5 is mounted as /home (2 GB, ext3 journaling file system)
  • /dev/hda6 is used as swap partition (1 GB, about double of RAM size. Should have at least a little more than RAM size otherwise we will never be able to do Suspend-To-Disk)

Installation of Linux (Fedora Core 2)

After having installed and tweaked Windows XP, I booted off the first disc of the 4-CD Fedora Core 2 (FC2) set (there are also CD and DVD images available on the Fedora mirrors but at that time FC2 was released I did not own a DVD writer). Hint: Hold F12 while booting to get a boot menu at startup, where you can decide if you want to boot from CD/DVD, hard disk or network. It took me quite a while and several Windows starts to figure that out... Yes, I should have RTFM :)

During the installation I chose German as installation language and the German keyboard layout (with! dead keys as nodeadkeys makes it impossible e.g. to write my brother's name). I don't mind if I have to press  `  and  (Space)  to write the accent while coding. I have done so for several years and I think I got used to it.

As I have done FC2 installation several times before, I chose custom configuration of the partitioning and the software packages to be installed. Everything went just fine and finally after a reboot the GRUB boot menu showed up and I could boot FC2 with a 2.6.5 kernel.

The Ethernet card was recognized as eth0 during install and as I have set up a DHCP server at home I could connect to the Internet automatically after Linux had finished booting.

The sound card worked out-of-the-box (using ALSA and the intel_8x0 module).

Staying up-to-date: Updates using yum

First of all I wanted to update the software as FC2 was released quite a while ago and there have been some important bug fixes or major improvements (such as KDE 3.3).

As many workstations of mine (or my family members) run Fedora Core 2 I decided to put a yum.conf for Fedora Core 2 (FC2) on the net. I saved it as /etc/yum.conf, overwriting the default yum.conf of FC2.

Now I started (as root)

# yum -y update && yum -C clean

and went for a couple of coffees... yum downloaded about 300 megabytes of updates and needed quite a while for installing them. I do a yum update once a week to keep my system up-to-date.

Configuring and installing a new kernel

If you have never built a kernel on your own before, the Kernel Rebuild Guide might be a good start for you.

You can download the latest kernel sources at http://www.kernel.org. I am still using a 2.6.7 kernel as the 2.6.8 kernels seems to be screwed up with NFS (I was told this has been fixed in 2.6.8.1) and CD/DVD burning (2.6.8.1 still restricts writing to CD/DVD media to root only).

After downloading the kernel sources, I suggest you unpack the archive to /usr/src. Create a folder /usr/src/linux-2.6.7 and chown it to your user name:

$ cd /usr/src/
$ su -c "mkdir linux-2.6.7; chown foo:bar linux-2.6.7"

(Change foo to you user name and bar to your user's group).
Then you unpack the downloaded archive:

$ tar xvjf /tmp/linux-2.6.7.tar.bz2

(I assume you have downloaded the 2.6.7 kernel sources to /tmp. If you use a different kernel, you have to change the arguments to the appropriate kernel version, of course.)

Now you find the kernel sources in /usr/src/linux-2.6.7. Go to that directory and configure your kernel (using make config, make menuconfig or make xconfig), it's your choice! You could also use the kernel .config for Toshiba M30-951 I have created.

For setting up the Pentium M SpeedStep technology, you need to modify a kernel source file. Please refer to "Using SpeedStep technology".

After having configured the kernel sources, you need to run

$ make && su -c "make modules_install" && su -c "make install"

This will compile your kernel (including the modules) and (asking you two times for your root password) install the appropriate files. After restarting you will find a new entry in your grub menu, so you can choose to boot your new kernel.

Using SpeedStep technology

The processor that has been built into the M30 laptop is not recognized properly with speedstep-centrino.c included in the standard kernel sources. This results in the module claiming to be unable to find appropriate hardware when you try to modprobe the module speedstep-centrino.

Please make a backup of /usr/src/linux-2.6.7/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c. Then you can use the file I have found on William Stein's homepage for installing Debian Linux on his IBM Thinkpad T42p -- it works perfectly with the Toshiba M30. You can download the modified speedstep-centrino.c here.

Configuring the X11 server

NVidia provides closed-source binary drivers for Linux that can be downloaded at http://www.nvidia.com/linux/.

Before installing the NVidia display driver you have to switch to runlevel 3 (X server may not be running) by typing

# init 3

as root at the command prompt (#).

During the installation you will be asked if you want to try downloading a suitable module for your kernel from the NVidia web site. As I recommend using a kernel you built on your own it is important that you have also installed the kernel sources so you are able to build the NVidia kernel module on your own.

After the installation finishes you need to do some tweaking to get your display working with the correct screen resolutions. I have uploaded the xorg.conf for Toshiba M30, you may download and use it.

Now you can init 5 and hopefully your X server starts in 1280x800 (full screen).

If you want to use the 1280x800 resolution also in a framebuffer console (you might to rebuild your kernel as Framebuffer Support is not always compiled with the "standard" kernels) you should modify your grub.conf as follows:

title Fedora Core 2
root (hd0,2)
kernel /boot/vmlinuz-2.6.7 ro root=/dev/hda3 rhgb vga=0x360

(Your GRUB entry might look different, especially the /boot/... and the root=... part, you should add the bold part.)

Solving the keyboard problllllllllllllem

As the touchpad is recognized and activated by Linux (at least it was with all distros I tried out) automagically, the same problem occurs from time to time: While you are typing, the laptop seems to hang for some milliseconds and the prints the last character before that hang far more often then you pressed the corresponding key (in German this is called "prellen", I don't know the english word for it, sorry!).

You can solve this problem by adding

psmouse.rate=40

as kernel parameter (e.g. add it to the corresponding line in your GRUB menu.lst or grub.conf).

Problems with the parallel port interface (solved)

When I tried to connect my office laser printer to the laptop I ran into some trouble. Although the parport module seems to be loaded fine, I can see the following error message in the syslog:

kernel: lp: driver loaded but no devices found

As the parallel port works fine with Windows XP I tried to pass the I/O address, IRQ and DMA as options to the module, but it did not solve the problem.

Update (2005/11/20): Riccardo Cazzola sent me the following information concerning printing using a parallel port printer with the M30 laptop:

I'm using a satellite m30, and the parallel port start functioning after
compiling kernel with pnp
After this linux will find your port

Thanks a lot, Riccardo!

Wireless LAN (WiFi)

You have two choices if you want to add wireless LAN support to your Linux installation: you can either use a thingy called ndiswrapper and use the native Windows drivers or you choose (how I did) the native Linux drivers that do not implement everything yet but work fine for me.

Download the latest sources of ipw-2200 driver from http://ipw2200.sf.net. You also will need the firmware images that you can download from the same site. Unpack the driver and simply run make (as normal user) and make install as root. Do not mind the CRC warnings while running make, as they are only warnings, not errors :) Unpack the firmware files to /usr/lib/hotplug/firmware (as root)

Now you can load the module by typing (as root)

# modprobe ipw2200

If you want WiFi support to be initiated at boot time, you should add the following line to your /etc/rc.local:

modprobe -r ipw2200 && modprobe ipw2200

If your WiFi switch is set to "Off", the module will not be loaded at all as unloading the module results in an error (hardware not detected). If it is set to "On" the module can be unloaded correctly (it has not been loaded at that time so nothing is done at all...) and afterwards it is loaded.

I am using KWiFi that came with KDE to detect any wireless networks around (there were more in Berlin, but here in Zurich you'll find enough public hot spots [access point, AP] (especially in the inner city) to check your e-mails...). After having found an AP you have to set the ESSID using iwconfig:

# iwconfig eth1 essid "APofYourChoice"

Then you'll hope that this AP has DHCP configured and you'll get an IP address by typing

# dhclient eth1

If you don't get an IP address (if everything is configured right that takes 30 seconds max.) you should try another hot spot. Perhaps the one you have chosen does not support DHCP or you got associated to an AP (like I just was) that provides an IP address but does not route your IP traffic to the internet.

Perhaps there is an easier way to set the ESSID. Please tell me if you know any better ;)

Refund if you are not using Windows

There are several pages on the Internet that might help you to get a refund when returning Windows because you do not use it (e.g. you installed Linux and never want to see a Microsoft operating system again). I did not try it as I am still using Windows for some tasks (such as 3D games).

When I opened the package there was a seal that I had to break to completely unpack the laptop. It told me that Toshiba won't refund me under any circumstances if I would like to give back the Windows license.

Other pages with more information about the M30 and Linux

Here is a list (unsorted) with other pages that contain information on running/installing Linux on a Toshiba Sattelite M30 laptop:

Comments to this article

My To-Do list contained the following (unsolved) entries:

  • Get the modem to work
  • Get the IR adapter to work

As I switched over to an Apple PowerBook G4 recently and do not possess the M30 anymore, I have not continued trying to resolve these problems. Nevertheless I will keep this page up-to-date if I get any new information about the M30 (my brother still runs his on Linux, but with Ubuntu).

If you have any comments to this article please feel free to contact me.


The Author

Jean Pierre Wenzel holds a Master's degree in Business Computing from University of Applied Sciences (HTW) Berlin. He is working as IT consultant and software engineer for a large German software company.

His Weblog can be found at http://blog.jeanpierre.de. Jean Pierre's e-mail address and GnuPG key are available on his homepage.

Credits

For the picture of the Toshiba M30 laptop:
Toshiba Europe GmbH
Public Relations
Hammfelddamm 8
41460 Neuss
Germany
http://www.toshiba.de


This site is listed at: TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones and linux-on-laptops.com