By : Matt Dobey
Original Document: May 24, 2007
Last Update: May 31, 2007
I set out looking to find a portable machine that had a lot of muscle... I wanted to be able to convert, edit, and then upload videos to my website. After a couple of weeks looking over the popular manufacturers, I decided that if I customized a Toshiba P200 I could get what I was looking for, and tried to pick hardware that would be the most likely to end up being supported by Linux.
The machine came in a well packed box within a box with the power supply, restore disks, and even a free Labelflash DVD. The machine came loaded with Windows Vista Home Basic, which I had planned to take on a few day trial run... Well, 10 minutes after I completed the initial Winblows setup, I just couldn't burn that Debian Net Install CD fast enough!
This customized P200 is what's known as a mobile desktop. It has the horsepower of a desktop in a mobile package.
# lspci 00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03) 00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express PCI Express Root Port (rev 03) 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02) 00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02) 00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02) 00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02) 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02) 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02) 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02) 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02) 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2) 00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02) 00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 02) 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02) 01:00.0 VGA compatible controller: nVidia Corporation G70 [GeForce Go 7600] (rev a1) 04:00.0 Network controller: Intel Corporation Unknown device 4229 (rev 61) 05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E PCI Express Fast Ethernet controller (rev 01) 06:04.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller 06:04.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller 06:04.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) 06:04.3 Generic system peripheral [0805]: Texas Instruments PCIxx12 SDA Standard Compliant SD Host Controller
# lsusb Bus 005 Device 002: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader Bus 005 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000 Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000 Bus 001 Device 003: ID 04f2:b008 Chicony Electronics Co., Ltd
| Works! | Works With Effort | Does Not Work! | Not Tested |
|---|
| What | Status | Notes | ||||
|---|---|---|---|---|---|---|
| Intel Core2 Duo Processor | Works! | SMP kernel required. CPU scaling and cooling work. | ||||
| BIOS (Phoenix) | Works! | Omnibook can access many of the low level features of the BIOS. (Hot keys do not work!) |
||||
| HDD (SATA) | Works! | ATA_PIXX kernel option. Disable all PATA support if compiling custom kernel. | ||||
| Hibernate / Suspend | Works With Effort | Requires 2.6.21 Kernel | ||||
| Internal 10/100 MB Network Realtek RTL8101E |
Works! | Realtek cards have always been well supported by Linux. | ||||
| Intel 4965 AGN (802.11a/g/n) | Works With Effort | ndiswrapper and Winblows XP drivers needed. | ||||
| GeForce Go 7600 LCD Display |
Works! | nv driver worked using LCD as single display. | ||||
| GeForce Go 7600 S-Video Output |
Works With Effort | "nvidia" drivers are required. I was only able to get this version to compile: NVIDIA-Linux-x86-100.14.06-pkg1.run |
||||
| Sound (Intel HD Audio) | Works With Effort | (snd-hda-intel) Sound worked right after installing the original 2.6.18 kernel. Did not work with Debian 2.2.21 kernel, or when compiling any 2.2.2x custom kernels. |
||||
| DVD-RW |
|
CD / DVD Read worked no problem. Haven't even thought about Labelflash... | ||||
| Touchpad | Works! | Worked right after Debian install. | ||||
| USB 2.0 | Works! | (EHCI) I have connected Mini DVR's, digital cameras, Motorola V3c RAZR phone, flash drive, and everything worked! | ||||
| FireWire | Not Tested | FireWire not tested. | ||||
| PC Card | Not Tested | Not tested. | ||||
| Modem | Not Tested | Modem not tested. | ||||
| Bluetooth | Works With Effort | Omnibook required for Bluetooth. | ||||
| Texas Instrument 5 in 1 SD Card Reader | Does Not Work! | Several approaches have failed. | ||||
| Chicony USB 2.0 Camera (Built into LCD) | Does Not Work! | Tried Debian webcam solutions, and can't even get an image from the camera... Vendor ID: 04f2, Product ID: b008 |
||||
| SGS Thomson Microelectronics Fingerprint Reader | Works With Effort | This was one of the easiest things to get working. | ||||
I chose to install Debian using a netinst.iso CD image of the daily snapshot of Debian's next release called "Lenny".
Other versions of the Debian-Installer like the current stable release named "Etch", can be found here.
Please consult Debian's install docs before attempting an install.
The install took about half an hour to complete over my cable modem using a mirror at the U of I, that's pretty close to me, and also sits on a big pipe.
BIG NOTE IF YOU HAVE THE INTEL 4965 AGN Wireless ADAPTER! - If choose to install using a Net Install CD, you MUST use the internal NIC, as the wireless adapter is not yet supported!
A copy of my original installation report to Debian can be found here.
After the install, pretty much everything worked... Or at least as much as usual after installing a Linux distro. I have been a Linux user for almost 10 years, and I have only had one install that I can recall where I didn't have to do anything afterwards. I had an old box die once, and I just put the old hardware into a newer box. Plus, Linux is all about making broken old hardware work, and if you've got hardware that's "new", it probably also means that it's too new for the driver guys to reverse engineer.
After installing "Lenny", the LCD was working great using the "nv" driver, sound worked using esound, the Realtek RTL8101E internal 10/100 network card worked,
Most Linux distros now have a package management system that allows users to install programs without compiling. For example, CentOS has yum, openSUSE uses YaST, RedHat uses up2date... Gentoo uses emerge that will grab the correct version of source out of the portage tree, and then compiles the source on the local machine.
Debian's package management utility "APT" is second to none. It allows you to quickly install, upgrade, or downgrade anything from apache, to X, to a new kernel. The "dpkg" utility is used by "apt-get" to automatically configure and install your new package. To learn more about "APT", check out the APT HOWTO.
To get your P200 up and running, you will need to install the following packages.
# apt-get update # apt-get install subversion rsync libtool autoconf jackd pkg-config libsndfile1 libsndfile1-dev \ mffm-libsndfilew-dev sndfile-programs libjackasyn-dev libjack-dev libjack0.100.0-dev pkg-config \ libusb-0.1-4 libusb-dev libasound2 libasound2-dev
You are now ready to upgrade your kernel.
Before you can begin compiling any of the required programs, you need to either install a kernel image, source, and header packages for your distribution, or you can download "Vanilla" source from kernel.org and compile a custom kernel.
If you've used a laptop before, you know how important the hibernate and suspend functions are. If you've read over my installation report, you will note that the first issue I reported was an issue with uswsusp. Working with the Debian team, we found that the issue was resolved by upgrading to Debian's 2.6.21 kernel. More information about this issue can be found in this mail list thread.
The easiest way for Debian users, is to use apt-get to install the linux-headers-2.6.21-1-686, linux-image-2.6.21-1-686, and linux-source-2.6.21 packages.
# apt-get install linux-headers-2.6.21-1-686 linux-image-2.6.21-1-686 linux-source-2.6.21 # mv /usr/src/linux-2.6.21.1 /usr/src/linux-2.6.21.1-1-686
Reboot, and you should be running your new kernel. Now we can begin setting up Wireless Networking.
I have compiled hundreds of kernels from source over the years, on many different computers with lots of different hardware, using at least 10 different distros...
So far, this has been the hardest machine to get a kernel I compiled working with all of the hardware. Unless you are running another distribution, you have some special requirements, or you just want to compile your own kernel, I suggest sticking with Debian's kernel.
"Don't be scared of it!" If you're the kind of person who likes a challenge, give it a try yourself... Configuring and compiling a kernel can be a very educational and rewarding experience. It's always funny when you have a few buddies over, and they ask "What the hell is your computer doing??" Then you get to try to explain it to them. ;-) The most important thing about configuring a custom kernel, is knowing exactally what hardware you have on your system.
Source for compiling your own kernel can be found at kernel.org
Change into the right directory, download, and extract the source.
# cd /usr/src/ # wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.3.tar.bz2 # tar -jxf linux-2.6.21.3.tar.bz2 # cd linux-2.6.21.3
If you want to start where I left off, you should backup the original .config file, and download mine.
# cp ./.config ./.config_ORIG # wget http://linux.dobeyracing.net/how_to/toshiba_p200_laptop/linux-2.6.21.3_config # mv ./linux-2.6.21.3_config ./.config
Whether you choose to start from scratch, or if you've copied my .config file, it's time to setup your kernel.
First, you should update the stock .config file with the "make oldconfig" command.
Unless you want to control what options are selected for you, you can simply run :
# yes "" | make oldconfig
Next, configure the kernel with the "make menuconfig" command. Scroll through all of the options and select the ones that you require. You can either opt to make modules ([M]), or to compile ([*]) the components into the kernel.
Remember that it is very important to know what hardware you have on your system. If your machine is identical to mine, or you trust that I somehow covered every option possible, you can skip this step and just use my config.
# make menuconfig
It is now time to compile your kernel and modules... This will take between 5 and 30 minutes depending on how many things you choose to compile. My kernel took 12 minutes to compile on my machine.
There are two ways to compile a kernel and modules on a Debian system. The first is to use Debian's "make-kpkg: utility to build your own linux-image Debian packages that are very easy to install and remove with "dpkg". The second is to do it the old fashioned way with the Makefile distributed with the source.
First we make the kernel image and kernel modules. Then we install your new kernel and modules. And finally try to make the initramfs that makes suspend / hibernate work.
The --append-to-version option allows you to enter a numeric version that will show up as an addition to the kernel version. The --revision option allows you to maintain different revisions of similar versions. I use the date for --append-to-version, and the number of the kernel compiled that day for --revision.
# time make-kpkg --append-to-version=.052907 --revision=1.0 --initrd kernel_image # dpkg -i ../linux-image-2.6.21.3.052907_1.0_i386.deb # shutdown now -r
That's it... If you setup your version right, your new kernel should be the top and default selection in the boot menu.
First we make the kernel image and kernel modules. And finally we install your new kernel and modules.
# time make bzImage modules # make install modules_install # mkinitramfs -k -o ~/tmp/initramfs-2.6.21.3.052907 2.6.21.3
After installing your new kernel and modules, you need to manually update your boot loader's configuration file. By default, Debian uses grub. Use your favorite text editor to modify menu.lst as needed. You must add a line to tell the boot loader to recognize the initramfs. Search on google for "mkinitramfs".
# vi /boot/grub/menu.lst # update-grub # shutdown now -r
Reboot and hopefully you don't end up with a kernel panic! ;-p
One of the first things that you have to get working on a laptop is wireless networking. Of course I opted to purchase the latest and greatest adapter, the Intel 4965, which supports the new wireless N protocol. This is very new, and is supposed to be the "wave of the future"... I have seen that a driver for the 4965 might be available as soon as the end of June. The P200 is also available with a Intel PRO/Wireless 3945ABG adapter that is supported by the iwlwifi project, but only supports the "old" protocols... ;-)
If you know that you have the 3945ABG card, or if you are unsure, run iwconfig.
# iwconfig lo no wireless extensions. eth0 no wireless extensions. sit0 no wireless extensions.
If you see something similar to the above, your wireless card is not recognized.
If you see a wlan0, your card has been recognized, and you are ready to Configure Wireless Networking.
If you have the Intel 4965, at least for now, you will need to download and install ndiswrapper and configure it to use the latest drivers for Winblows XP.
To install ndiswrapper you need to download the source to an appropriate location, extract the tarball, and install ndiswrapper.
# cd /usr/local/src/ # wget http://downloads.sourceforge.net/ndiswrapper/ndiswrapper-1.44.tar.gz?modtime=1179400689&big_mirror=0 # tar -zxf ndiswrapper-1.44.tar.gz # cd ndiswrapper-1.44 # make uninstall && make && make install
Download the latest drivers for Winblows XP from Intel here. Extract the .zip archive and tell ndiswrapper to look at the right .INF in ./Drivers/.
# unzip -q V11.1.0.0_XP_DRIVERS.ZIP # ndiswrapper -i ./Drivers/NETw4x32.INF
Run the following, and the result should look the same :
# ndiswrapper -l
netw4x32 : driver installed
device (8086:4229) present
If you get something like the above, it's time to insert your new ndiswrapper kernel module.
# modprobe ndiswrapper
Now run iwconfig to see if it worked.
# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
sit0 no wireless extensions.
wlan0 IEEE 802.11g ESSID:off/any
Mode:Managed Frequency:2.462 GHz Access Point: Not-Associated
Bit Rate:300 Mb/s
Fragment thr:0 B
Encryption key:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
If you see something like that, you're in luck, and need to Configure Wireless Networking.
This can be done manually by using iwconfig, or through a GUI like Gnome's Network Selector.
# apt-get install network-manager-gnome
The Network Selector can be found under Applications --> Internet --> Network Selector
You're on your own to figure out your internal wireless setup from here...
Once you've got it hammered out, don't forget to add a line into your /etc/modules file to load the ndiswrapper module while booting.
# echo "ndiswrapper" >> /etc/modules
Wireless networking should now be setup! Unhook the Ethernet cable from the laptop and walk away from that desk!!
If you have the Intel Graphics Media Accelerator 950, you will need to google "xorg-video-intel" and check out the Intel GMA Wikipedia article. You also need to see X.Org's IntelGraphicsDriver Wiki Page. It seems that a few other users are reporting on the forums that some work is required to use all of the features of that card too.
Like every other component of this particular machine, I opted to get the biggest, baddest option I could with the 256 MB NVIDIA GeForce Go 7600. Having used about 20 laptops running on Winblows over the years, this display is the best. It has the best video quality that I have seen on a LCD on a laptop.
If you only need to use the LCD screen, you can skip this step as the "nv" driver will surely work for you.
Unfortunately, at no point have I been able to get the Hot key (FN+F5) to work to switch between the LCD, CRT, and S-Video outputs. After three days of googling and reading through tons of forum posts, I still haven't found the right solution... If you come up with a solution, please share!
The best option that I have come up with so far, I would call an ugly hack... It uses the "nvidia" driver's "TwinView" funtionality to extend the Desktop across the LCD on the laptop and the S-Video output on a TV. Another problem with my hack is that videos will only play "fullscreen" on the LCD.
Installing the NVIDIA drivers with their installer is super simple once you get the right version. It just so happened that version was released three days after I started trying to get the display to work. For the first three days, I was unable to compile the drivers. After getting the latest version, it has worked with all of the kernels I have tried. More information on the NVIDIA driver.
During the installation, you will be asked if you want NVIDIA's Installer to configure your xorg.conf for you. I always select "NO", and do it manually. The setup is very lame, and only creates one display for the LCD.
# wget http://us.download.nvidia.com/XFree86/Linux-x86/100.14.06/NVIDIA-Linux-x86-100.14.06-pkg1.run # sh NVIDIA-Linux-x86-100-14.06-pkg1.run
Now it is time to manually configure your xorg.conf file. I suggest that you copy my xorg.conf. I have setup two modes, one for single display on the LCD using the "nv" driver, and another for the dual monitor approach using the "nvidia" driver.
Simply change between the two "DefaultServerLayout" selections. Only one choice can be selected at a time. If you choose to edit your xorg.conf on you own, that's encouraged, because like I said, the Dual Screen mode is an ugly hack, but looking at mine might give you a few ideas.
Either way, you'll want to back up your original xorg.conf just in case... ;-)
# cd /etc/X11/ # cp xorg.conf xorg.conf_ORIG # wget http://linux.dobeyracing.net/how_to/toshiba_p200_laptop/P200_xorg.conf # cp P200_xorg.conf xorg.conf # vi xorg.conf
Select the desired display mode. If you have the Intel GMA 950, I don't know what to tell you, but I would think that you could just change the driver. Let me know if it works if you try.
Finally, restart X by hitting CTRL + Backspace.
Getting sound was the hardest thing for me to get working with my custom kernel. The drivers installed with Debian "Lenny" worked, but did not work with the modules installed by the Debian 2.6.21 kernel. All attempts to get sound working compiling kernels failed. So, I found the homepage of ALSA, downloaded the latest source and followed their instructions for Intel HDA. I don't know what the difference was, but following their destructions to the letter worked for me.
These instructions were pretty much ripped off from the Matrix:Module-hda-intel Page on the AlsaWiki. More in-depth instructions are provided on that page, but this will get you going...
We need to make a directory in /usr/src. I tried from other directories and gave up and followed the directions on the Module-hda-intel page. Worked like a charm after that. After we make the directory in the right place, we can grab a copy of the source and begin installation.
# cd /usr/src/ # mkdir alsa # rsync -avz --delete --exclude=.hg* rsync://alsa.alsa-project.org/hg alsa # cd alsa/alsa-driver/ # ./hgcompile --with-cards=hda-intel --with-sequencer=yes;make;make install # cd ../alsa-lib/ # ./hgcompile;make;make install # cd ../alsa-utils/ # ./hgcompile;make;make install
After the new ALSA modules are made, we need to tell the kernel to load them. Open /etc/modules and insert everything between the "..."s into the file.
# vi /etc/modules ... alias char-major-116 snd alias snd-card-0 snd-hda-intel alias snd-card-1 snd-cmipci options snd-cmipci id="first" mpu_port=0x330 alias char-major-14 soundcore alias sound-slot-0 snd-card-0 # OSS/Free portion - card #1 alias sound-slot-0 snd-card-0 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss # OSS/Free portion - card #2 (cmipci) alias sound-slot-1 snd-card-1 alias sound-service-1-0 snd-mixer-oss ...
Now we can try restarting alsasound, but this has, and has not worked for me. I have been unable to determine why.
# /etc/init.d/alsasound restart
If restarting alsasound fails or you still have no sound, don't fret, finish with the remaining configuration steps, reboot, and you should have sound.
If alsasound restarted without errors, run alsamixer and make sure that your card had volume and is not muted.
# alsamixer
Test your ALSA installation to make sure it works.
# alsaplayer some_file.mp3
Alsaplayer should open your file and you should hear sound. If nothing happens, check dmesg and make sure your modules were loaded.
After installing the ALSA modules, we need to create a configuration file in your user's home directory that will tell ALSA and and other programs how to handle sound events.
$ vi ~/.asoundrc
Copy and paste the following into the ~/.asoundrc file you are now creating and don't forget to save.
pcm.hda-intel {
type hw
card 0
}
ctl.hda-intel {
type hw
card 0
}
After your next reboot, you should hear sound after logging in. If you get no sound, try the steps described above to test your installation.
I travel a lot... To be more exact, I ride in a truck for 10 hours every Saturday, and being that I am addicted to computers and the Internet, I needed Bluetooth to get the most out of the EVDO Internet connection through my Verizon Wireless Motorola V3c RAZR. It's pretty sweet if you've got the EVDO signal instead of the 1x. Anyways, you get about 5x's the connection speed through the phone using Bluetooth instead of the USB cable.
Now at least for me, most of the cool ACPI features worked right after installing Debian... Unfortunately, the only solution for getting Bluetooth up and running seems to break most of this functionality... For example, when I first installed Debian, I was surprised that the LCD changed brightness when then power supply was plugged in or removed... After inserting the omnibook module, this no longer works.
Unless you specifically need Bluetooth for something, I would not install Omnibook.
Omnibook is a Linux kernel module that provides support to the kernel for many of the different low level hardware components such as the display, fan, LCD, processor scaling, etc. It seems to support my laptop pretty well, with a few exceptions.
Omnibook is currently "experimental", so beware. I don't think that you will be able to do anything that I haven't; unless you turn the fan off then compile the kernel 5 times...
That's the reason for the warning... You will have easy access to lots of this silly little stuff that's really important to the operation of your new machine. Don't mess with it unless you're really sure you know what you're doing, or just don't care if you brick a $1,000 computer...
We need to download the Omnibook source and after trying the source tarball from the sourceforge site, I found that svn was the way to go. So, we need to grab a snapshot of the source trunk, make, and install the omnibook modules.
# cd /usr/local/src/ # svn co https://omnibook.svn.sourceforge.net/svnroot/omnibook/trunk # cd omnibook/trunk/ # make uninstall # make # make install
After the modules have been made and installed, we need to load them into the kernel. The omnibook module needs to be told what type of a notebook it's dealing with, which is specified when loading by declaring the "ectype". I tried them all and found that ectype=12 supported the most things correctly.
# modprobe ectype=12
Next we need to verify that the module loaded properly and that your CPU fan is running.
# ls /proc/omnibook blank bluetooth cooling display dmi fan hotkeys lcd temperature throttling touchpad version wifi # cat /proc/omnibook/fan Fan is on (level 23)
While the hotkeys don't work, you can also manually adjust the brightness of the LCD display by setting the value. Note that 7 is the highest setting.
# echo 7 > /proc/omnibook/lcd
After you have the module loaded and tested, you will want to add it to /etc/modules so that it loads during boot.
# echo "omnibook ectype=12" >> /etc/modules
This completes the installation of omnibook.
I have tried several different approaches trying to get this working, including installing tifm from source and the install script on this Ubunutu Forum post. The kernel would at least recognize that there was a card in the reader after compiling tifm from source. The install script on Ubunutu's Forum wouldn't even install. Here is another forum post with a bunch of other BS to try. For now, I'm just going to wait on support for the reader, and connect to the camera with the USB cable.
It is also important to note that 3 of the 5 card types supported by the reader are not yet supported by Linux. The unsupported types are Memory Stick, XD, and SM.
As with the SD card reader, I have tried several different approaches trying to get this working. This was not a factor in my purchase of this computer, and I'm not into webcams, so it's no big deal to me. As far as I can tell, this camera isn't even recognized by any of the most used webcam applications.
I have to admit that I was totally blown away... The one thing that I thought that there would be no way that it was supported, was the fingerprint reader. This was the easiest thing to get working on the whole system. I only wish that X would allow you to use the fingerprint reader when unlocking the screen or resuming...
Thinkfinger is a "driver" for the SGS Microelectronics Fingerprint Reader. It also has a PAM module that will allow you to use the reader with PAM supported programs.
# apt-get install libthinkfinger-dev libthinkfinger0 libpam-thinkfinger thinkfinger-tools
Users of other distros can find source and further destructions on the thinkfinger home page.
Here are a few of the places that I often visited while getting this machine to run.
TuxMobil - Linux on laptops, notebooks, PDAs, mobile phones
Linux on Toshiba Laptops & Notebooks
The end for now... Good luck!!