Linux on a Toshiba Satellite M30-951 laptop
How to install and configure Fedora Core 2
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
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
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).
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
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).
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.
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 184.108.40.206) and CD/DVD burning (220.127.116.11 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/
(Change foo to
you user name and bar to your user's
$ 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.
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.
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
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
as kernel parameter (e.g. add it to the corresponding line in your GRUB menu.lst or grub.conf).
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
Thanks a lot, Riccardo!
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 ;)
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.
Here is a list (unsorted) with other pages that contain information on running/installing Linux on a Toshiba Sattelite M30 laptop:
My To-Do list contained the following (unsolved) entries:
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.
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.
For the picture of the Toshiba M30 laptop:
This site is listed at: and linux-on-laptops.com