Installing Debian Linux on a Toshiba Satellite M30-801
May, 2005
Introduction
This
document describes how I installed Debian GNU/Linux on my Toshiba
Satellite M30, and how I configured it to dual boot with Windows
XP. This information is shared in the hope that it might be of
some use to anyone, but I cannot accept any responsibilities for
damages in hardware/software that might occur after following these
guidelines.
Please
make full backups of your data before proceeding.
I
also included some installation details for hardware external to this
laptop.
Harware info
- CPU: Intel® Pentium® M 1500 MHz
- front side bus : 400 MHz
- 2nd level cache : 1 MB
- Intel® 855PM Chipset
- Sound: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97
Audio
Controller
- Graphics: nVidia Corporation NV34M [GeForce FX Go 5200]
- Ethernet: Intel Corp. 82801BD PRO/100 VE (MOB) Ethernet
Controller
- Wireless network controller: Intel Corp. PRO/Wireless LAN 2100 3B
Mini
PCI Adapter
- Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97
Modem
Controller
- FireWire (IEEE 1394): Texas Instruments TSB43AB22/A
IEEE-1394a-2000
Controller (PHY/Link)
- USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0
EHCI
Controller
- System memory: 512 MB DDR RAM
expandability : 2,048 MB
- Hard disk: 40 GB S.M.A.R.T.
certification
- Phoenix BIOS
 |
| DVD Multi drive |
- maximum
speed : Read: 24x CD-ROM, 16x CD-R, 8x CD-RW, 8x DVD-ROM, 4x DVD-R, 4x
DVD-RW, 2x DVD-RAM Write: 16x CD-R, 8x CD-RW, 1x DVD-R, 1x DVD-RW, 2x
DVD-RAM
|
 |
| Display |
- size : 15.4 "
- type : Wide View TFT display
|
 |
| Graphics adapter |
- manufacturer : NVIDIA®
- type : GeForce™ FX Go5200
- memory amount : 64 MB
- memory type : DDR Video RAM
- graphics accelerator : 128 bit
- connected bus : 4 x AGP bus
|
 |
| Internal video modes |
- resolution : 1,280 x 800
- maximum number of colours : 16.7 million
|
 |
| Battery |
- technology : lithium-ion
- maximum life : up to 3.7 (Mobile Mark™) hours
|
 |
| AC adapter |
- input voltage : autosensing AC adapter (100/240 V) for
worldwide usage
|
 |
| Interfaces |
- 1 x DC-in
- 1 x external monitor
- 1 x RJ-11
- 1 x RJ-45
- 1 x parallel
- 1 x TV-out (s-video)
- 1 x i.LINK® (IEEE 1394)
- 1 x SD™ Card slot
- 1 x external microphone
- 1 x Fast InfraRed (FIR)
- 1 x headphone (stereo)
- 3 x USB 2.0
|
 |
| Expansion |
- 1 x PC Card slot for 1 Type II card
- 2 x memory slots (0 to configure)
|
 |
| Wireless communication |
- Compliancy : FIR
- Wireless Technology : Fast InfraRed
- Compliancy : Wi-Fi™
- Network Support : 802.11b integrated, dual band (802.11a/b)
ready
- Wireless Technology : Wireless LAN
|
 |
| Wired communication |
- topology : Ethernet
- speed : 10/100 Base-TX Ethernet LAN
- topology : international V.90 modem, (V.92 ready)
- speed : 56 Kbps data (V.90) and 14.4 Kbps fax (V.17)
|
 |
| Sound system |
- supported audio format : 16-bit stereo
- supported sound standards : MIDI support
- speakers : built-in stereo speakers - tuned by Harman
Kardon
|
 |
| Keyboard |
- Keys : 86
- Windows® keys : 2
- inlaid numeric keypad : No
- Hot Keys : 3 (Internet launch button, Toshiba console
button, TV button)
- special features : Multimedia Bar with CD/DVD/MP3 player
control function
|
 |
| Physical dimensions |
- W x L x H : 360 x 270 x 25 (front) / 36 (back) mm
- weight : 2.78 kg
|
 |
| Pointing device |
- type : Touch Pad
- interface : PS/2
|
 |
| Warranty |
- 1-year international warranty
- 2-year international warranty
- 2-year pick-up-and-return warranty
|
 |
| Bundled hardware |
- AC adapter
- AC power cable
- Quick Start guide
- user manual
|
| Security features |
|
 |
|
Model: Satellite M30-801
|
| HDD_Int: |
Intel ICH4-M - ok
|
| Sound: |
AC 97 (Sigmatel STAC975051T) - ok
|
| VGA: |
nVIDIA GeForce FX 5200 Go - ok
|
| CPU: |
Intel P-M 1500 - ok
|
| RAM: |
PC2700 |
| Modem: |
Softmodem (Lucent SCORPIO) - ok
|
| IrDA: |
Super IO SMSC LPC47N217 - ok
|
| USB: |
Intel ICH4-M (USB2.0) - ok
|
| CD_Int: |
Intel ICH4-M - ok
|
| PCMCIA: |
Toshiba ToPIC100 (Intel 82365 comp) -
ok
|
| Firewire: |
Texas Instruments OHCI (43AB22) - ?
|
| APM: |
V1.2 |
| Mouse: |
PS2 - ok
|
| ACPI: |
V1.0b - ok
|
| Chipset: |
Intel 855PM |
| Network: |
Intel 82562ET (Kinnereth) - ok
|
| FloppyDisk_Int: |
USB |
| Wireless: |
Intel PRO/Wireless 2100 - ok
|
| SD_Card: |
Toshiba SD TypA - ?
|
Partitioning:
This is the layout of the partitions on my disk:
Name
|
Flag
|
Part
Type
|
FS
type
|
Label
|
Size
(MB)
|
hda1
|
boot
|
primary
|
NTFS
|
Windows XP
|
15998.17
|
hda2
|
|
primary
|
Linux ext3
|
/boot
|
49.36
|
hda5
|
|
logical
|
W95 FAT32 (LBA)
|
/data
|
3997.49
|
hda6
|
|
logical
|
Linux ext3
|
/
|
10001.95
|
hda7
|
|
logical
|
Linux swap
|
|
1003.49
|
hda8
|
|
logical
|
Linux ext3
|
/home
|
8957.33
|
Dual boot
Although most of my work on this laptop is made under GNU/Linux, I
still keep Windows (XP Professional) for several reasons. To make this
laptop dual boot both systems, I installed Windows in the first place,
and then I installed Debian. I'm using GRUB as the boot manager. Here's
some lines from my menu.lst file - you must change (hd0,1) for the
relevant partition on your system:
splashimage=(hd0,1)/grub/mammatus.xpm.gz
title Debian GNU/Linux, kernel
2.6.8
root (hd0,1)
kernel /vmlinuz-2.6.8
root=/dev/hda6 ro acpi=on vga=0x360
savedefault
boot |
X setup
download and install NVidia drivers, follow the instructions of the
readme file.
Truetype fonts: copy the fonts from your windows directory and paste
them at /usr/share/fonts/truetype...
Screenshots of program configuration:




Power management
Works with ACPI.
Cpu frequecy scaling
One can check the various states by issuing "cat" commands to the
relevant files at /sys/devices/system/cpu/cpu0/cpufreq. These files are
(from Linux CPUFREq user guide):
- cpuinfo_min_freq: this
file shows the minimum operating frequency the processor can run at (in
kHz). In my case is: 600000.
- cpuinfo_max_freq: this
file shows the maximum operating frequency the processor can run at (in
kHz). In my case is: 1500000.
- scaling_driver: this file
shows what cpufreq driver is used to set the frequency on this CPU. In
my case the driver is: centrino.
- scaling_available_governors:
this file shows the CPUfreq governors available in your kernel. I have
"userspace" and "performance".
- scaling_available_frequencies:
this file shows the available frequencies for the cpu to be run while
in "userspace"governor mode.
- scaling_governor: this
file shows the currently activated governor.
- scaling_min_freq and scaling_max_freq: show the current
"policy limits" (in kHz). 1500000
- scaling_setspeed: 1500000
You can then adjust the various parameters by "echoing" the relevant
files. Just open a console and use the following commands (you'll need
administrator privileges):
If you're using the performance governor you can change the fastest and
slowest frequencies, by issuing:
| #
echo performance >
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor |
To use the fastest
speed
|
| #
echo powersave >
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor |
To use the slowest speed |
Using the userspace governor, you can set your CPU frequency to one of
the many supported by you CPU (check
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies).
For instance, to set the the cpu freq to 900000, you should issue the
commands:
| #
echo userspace >
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor |
(to set the userspace
governor), and then: |
| #
echo 900000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed |
|
Touchpad
You can use the Synaptics touchpad driver (need to compile evdev
module).
Ethernet
Works with e100 module
Wireless network card
(from http://www.vicentgozalbes.com/index.php)
This is a ipw2100 wifi
card. You need to download the firmware ipw2100-fw-1.3.tgz and decompress it in: /usr/lib/hotplug/firmware/
| :/usr/src#
tar -zxf ipw2100-fw-1.3.tgz
:/usr/src# mv
*.fw /usr/lib/hotplug/firmware/
|
Now download the driver sources - ipw2100-source_0.56-1_all.deb, install it and create the
module (install module-assistant and debhelper):
:/usr/src#
dpkg -i ipw2100-source_0.56-1_all.deb
:/usr/src#
module-assistant a-i ipw2100
|
Now with
modconf, install the modules for the
wifi card:
Select: kernel/drivers/net/wireless/ipw2100
and then select all the modules for ipw2100 (ieee80211_crypt,
ieee80211_crypt_wep, ieee80211, and ipw2100).
Sound
Works with ALSA and the SND_intel8x0 module. I also compilled support
for SND_AC97_codec, SND_MPU401, OSS emulation, etc. Check my .config file.
Special keys
The 3 keys on the left of the laptop, can be configured and used
through fnfx-client. Make sure you have a .fnfxrc
file in you home
directory
USB support
works with USB_IHCI_ECD module.
USB/Serial adaptor
I
have an Aten UC-232A USB to serial adaptor, to enable to communicate
with devices such as my Palm, my dive computer, or my GPS.
This
adaptor works with the module pl2303 (USB support, USB Serial
Converter support, USB Prolific 2303 Single Port Serial Driver.
In you kernel configuration include support for the module.
CONFIG_USB_SERIAL_PL2303=m
Nikon Coolpix 4500
The
camera can be accessed just like a normal storage device, using the USB
storage module. If
you have no SCSI disks in your computer system you can access the
storage of your camera as /dev/sda1. If you have one SCSI disk you
can access the storage as /dev/sdb1, and so on.
Logitech Chordless desktop
It's a USB wireless keyboard and mouse, full of multimedia keys and
stuff. You must install the hotkeys package to take advantage of all
the special keys.
Infra red
Works with smsc-ircc2 module. You need to enable ISA support for the
driver to show up in the kernel
(thanks to Gabriel Guillon)...
# smcinit
and then:
# modprobe smsc-ircc2 ircc_cfg=0x8a
ircc_dma=3 ircc_fir=0x130 ircc_irq=3 ircc_sir=0x3f8
I get this message:
Overriding FIR address 0x0130
Overriding SIR address 0x03f8
SMsC IrDA Controller found
IrCC version 2.0, firport 0x130, sirport 0x3f8 dma=3, irq=3
smsc_ircc_set_sir_speed(), Setting speed to: 9600
No transceiver found. Defaulting to Fast pin select
IrDA: Registered device irda0
I can then hotsync my Palm device with /dev/ircomm0.
Hardware sensors
Aparently this laptop comes with some
hardware sensors (included with the Intel® 855PM Chipset), but
they're disabled by Toshiba.
lm-sensors doesn't detect any sensors!!!
i2cdetect -l:
i2c-0 dummy ISA main adapter ISA
bus algorithm
fcma-paneves:/lib/modules/2.6.8/kernel/drivers/i2c/chips# isadump 0x295
0x296
WARNING! Running this program can cause system crashes, data loss and
worse!
I will probe address register 0x295 and data register 0x296.
Continue? [Y/n]
0 1 2 3 4
5 6 7 8 9 a b c d
e f
00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
PC card/cardbus
# PCMCIA/CardBus support
#
CONFIG_PCMCIA=y
# CONFIG_PCMCIA_DEBUG is not set
CONFIG_YENTA=y
CONFIG_CARDBUS=y
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
# CONFIG_TCIC is not set
Firewire
Haven't tried it yet.
http://www.ict.tuwien.ac.at/ieee1394/opensource.html
http://www.linux1394.org/
SD card
I read somewhere that this uses a proprietary controller from Toshiba,
so it's unlikely that this will supported :-(
Modem
This
laptop has a software modem that can be used with
slmodem-2.9.9.tar.gz
(available at linmodems.org):
| :/usr/src#
tar -xzf
slmodem-2.9.9.tar.gz
:/usr/src# cd
slmodem-2.9.9
:/usr/src#
make; make install
|
Now install the package sl-modem-daemon_2.9.9-1_i386.deb that will
create the necessary nodes:
| :/usr/src#
apt-get install sl-modem-daemon_2.9.9-1_i386.deb |
On my system this device is: /dev/ttySL0
Then you must reboot and configure the connections (for instance, with
pppconfig).
Palm Zire 71
This Palm device can be used with Linux with the popular tools
(jpilot,
kpilot, etc.).
The modules to select depend on the connection you're using. I'm using
either the infrared, the USB cradle, or the serial cable via a USB to
serial connector, so these are the modules and decices I use:
| Config_USB_serial_visor |
for the usb cradle connection
(/dev/ttyUSB1)
|
| CONFIG_USB_SERIAL_PL2303 |
for the usb/serial connection
(dev/ttyUSB0)
|
CONFIG_SMC_IRCC_FIR
|
for the infra red connection
(/dev/ircomm0)
|
Tunning the hard disk
Include these lines to your /etc/hdparm.conf file:
/dev/hda
{
# mult_sect_io = 16
# write_cache = off
dma = on
transfer_mode = 69
io32_support = 1
keep_settings_over_reset = on
} |
Add the following line to your /etc/rc.d/rc.local:
# Tune HDD
/sbin/hdparm -d1 -X69 -c1 -k1 /dev/hda
# Tune CD/DVD drive
/sbin/hdparm -d1 -c1 -k1 /dev/hdc
or modify the /etc/sysconfig/harddisks file accordingly.
(Be aware: Settings depend on your hardware).
Check settings with:
hdparm /dev/hda
hdparm /dev/hdc
kernel config (Debian way)
First
you'll need to install the kernel sources:
| #:
apt-get install
kernel-source-2.6.6 |
then
| #: cd
/usr/src |
and
decompress the archive: |
| #: tar
xvfj kernel-source-2.6.6.tar.bz2 |
You should now
have a
directory (i.e.
kernel-source-2.6.6) with the kernel sources in it. If you have
a /usr/src/linux link remove it with:
Create a new link
with:
| #:
ln -s
/usr/src/kernel-source-2.6.6 /usr/src/linux |
Then,
configure the kernel with:
After that, just build the kernel
package with:
| #:
make-kpkg
buildpackage -rev Custom.1 kernel_image |
replace "Custom.1" by the name you
want to give to you kernel package
|
Note:
You need to have the kernel-package .deb
package installed or you'll get an error.
If your build
completes without any errors type:
make the modules with:
| #:
make-kpkg
modules_image |
And install the new kernel image
and
modules you've build with:
#:
dpkg -i
kernel-image-****.deb nvidia-kernel****.deb ipw2100-modules****.deb
|
Then
edit you /boot/grub/menu.lst to include special options you need (like
splash image, vga, acpi, etc.), and reboot your new kernel.
Set
VGA=0x360 to get a 1280x800 console.
Java JRE/JDK Installation on Debian
See: http://www.debian.org/doc/manuals/debian-java-faq/
Java plugin for Mozilla-Firefox
The instalation of Java's plugin for Mozilla is quite easy. You
have to download the binary from Sun's
web site, make a folder to install it to:
| #
mkdir -p /usr/lib/java/jre |
and copy the binary file to the folder you've just created. The execute
the binary file:
| #
./j2re-1_4_2_06-linux-i586.bin |
Then create the symbolic links on the Mozilla's plugin folder:
#
cd /usr/lib/mozilla-firefox/plugins/
# ln -s
/usr/lib/java/jre/1.4.2.6/plugin/i386/ns610-gcc32/libjavaplugin_oji.so |
and
#
cd /usr/lib/mozilla/plugins/
# ln -s
/usr/lib/java/jre/1.4.2.6/plugin/i386/ns610-gcc32/libjavaplugin_oji.so |
Then, edit the file /etc/profile e and include Java's path
to
your system's path:
e.g.: PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games"
It should stay like this:
PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/lib/java/jre/1.4.2/bin"
JAVA_HOME="/usr/lib/java/jre/1.4.2"
Speeding boot time (Exim4 problem)
I had a problem with my system, when not connected to my job's network,
that made the computer stop for a long time during boot, while
displaying a message like this: "Starting MTA:...".
It turns that I have Exim installed and configured in such a way that
it would search for the mail server at startup. When not connected to
the network it would take ages until it timed out.
I've just discovered a way to fix the problem. There are many other
solutions (of course ;-), but this one worked out for me.
Edit your /etc/exim4/update.conf.conf file and set the option:
dc_minimaldns="false" to "true".
Files:
XF86Config-4
Kernel config
.fnfxrc
Links
Linux Mandrake 10 on a
M30
Vicent
Gonzalbes weblog (in spanish)
Toshiba M30-404
Linux installation guide
Linux
on a Toshiba M30-841 notebook
http://newsletter.toshiba-tro.de/main/
http://www.jeanpierre.de/m30/
© Pedro Neves, 2005.