Tuesday, April 20, 2010

Toshiba Portege R100 Upgrade and Reformat

Tales from my first adventure into the ultra-portable computing world.

UPDATED: 4-20-2010 with Ubuntu 10.04 Install Info

This whole thing was sparked by white, dimunutive, sub-laptop I saw on campus called the Asus Eee PC. I immediately knew I wanted one. While doing some research on the Eee PCs I ran into a user review of an 2G Surf Edition. The reviewer was dissatisfied with the speed and screen size, (a minuscule 7" LCD), and gave the suggestion that the Toshiba R100 with a larger 12.1" LCD and more processing power and storage can be had on eBay for about the same price of an Eee PC 4G Surf. I did exactly that.
After reading up on the R100s I picked one up from a seller in Montana for under $400 shipped. Upon receiving it, it sat on my desk taking up only 11.25" by 9" and only 0.65" thick, (take that MacBook Air!) and weighed a tad over 2 pounds. It was the base model with a 1.0GHz processor, 256MB ram, and pokey 4200 RPM 40 GB hard drive. All I received with the laptop was the AC adapter, no optical drives, no second battery or recovery media, which would cause me problems later on. It did however come with enough bloatware to choke a horse, which is a good reason why you should always reformat your computers when you get them, new or used. Fortunately the Windows XP CD key was affixed to the bottom of the unit otherwise I probably wouldn't have received that either.

Upgrade Components Selection
The first step in my refurbishment was replacing the sluggish hard drive because one of the appealing features of the Eee PC was its incredibly low boot times and quick responsiveness of the OS even when Windows XP was installed, mostly due to its flash based mass storage. So the hunt began for a SSD hard drive that could replace the irregular 1.8" 50 pin PATA hard drive. I settled on the Samsung MCBOE32G8APR which ended up costing slightly more than the laptop itself. You might think putting such an expensive hard drive in a cheap laptop is ludicrous, and maybe you're right, but I did this more as a hobby than for profit. Along with the SSD, which was available on newegg.com, I ordered a 1GB SODIMM of Crucial DDR memory, a cheapo USB floppy drive and an IDE / SATA to USB converter, (you'll see why I ordered these in a moment). To complete my assortment of replacement parts: a new LCD from ebay for $200, mine had been badly marred from the keyboard hitting the screen when closed, a screen protector from shaggymac.com to protect the new LCD from the same occurrence, an Intel 2200 802.11b/g wireless Mini PCI card, for a cool twenty bucks, to replace the existing wireless card which was only 802.11b. Finally I also picked up a new battery since the the old one gave me about 10 minutes of power. I did some research and found a BTI 1800mAH battery (old one was 1600mAH), part number TS-P2000L, that was marked as a replacement for the Portege 2000, the predecessor to the R100. With the SSD installed, the wireless on and the screen at 3/4 brightness, the new battery gives me about 2 hours of life.

Hardware Installation
Before pulling the old hard drive I tossed in the the new RAM and booted up windows to verify that it would jive with the laptop. It did and windows reported it as 1.25GB of RAM interestingly enough. Installing the new LCD was just a matter of finding the 10 screws, underneath the stick on pads, around the edge of the screen and removing them with a #0 phillips head screwdriver. Its very easy to strip the screws, and one of mine was already stripped from the previous owner, which I had to drill out, so be careful. Now carefully remove the bezel around the screen. A flat head jewelers screwdriver helps to pop the tabs on the bezel loose from the back cover. Pull the LCD away from the lid, starting from the top revealing two electrical connections at the bottom left and bottom right of the screen. Carefully disconnect these and remove the old LCD, drop in the new LCD, reconnect it and boot up the computer to make sure your connections are good. If it all checks out reverse the instructions above to reinstall the bezel. My new LCD gave a huge increase in brightness, almost too bright, and of course the shadows from where the keyboard rubbed the screen were gone. Install the SSD by simply removing the two screws from the hard drive cover, pull the old hard drive away from the ribbon connector and plug in the SSD.
        Installing the new wireless card involves removing the battery, hard drive cover, and the 14 screws on the back side of the laptop. Then carefully pry off the the power button bezel, remove the two screws for the keyboard and unplug the keyboard ribbon cable, and set aside the keyboard. Remove the 5 screws behind the keyboard. Now the back cover can be removed by unhooking the clip near the battery bay first. We now see the wireless card mounted on a daughter card which we must unplug to remove the wireless card. Release each metal clip on the sides of the wireless card, pull the card out, and finally remove the antenna leads. Reverse these steps with the new wireless card and were set. Now were ready to install our OSs.

Windows Installation
I had in mind to dual boot Windows XP Pro and Ubuntu 9.04 Jaunty Jackalope on this machine. So lets get to it. I prepared a nLited Windows install disk, trying to remove as much as possible to make the most of my comparatively small 32GB of storage while keeping functionality for internet browsing, basic networking, watching videos, etc. Make sure you keep the FAT32 to NTFS converter in the installation, we'll need it later. The few things I added to it were Xable's post SP2 lite update pack, Firefox and IE7, AVG free antivirus, Xpize to purdify windows, WMP11, OpenOffice and 7zip. When I was done I had a windows CD that was under 350MB. Now I know what your thinking, we'll just throw that CD in a USB CD-ROM drive, (the R100 has no internal CD-ROM), switch the BIOS to boot from CD and install windows, right? Wrong, the Toshiba R100 with latest BIOS revision 1.6 can only boot directly from a few sources: USB floppy drives, Network PXE, or Toshiba brand PCMCIA / Cardbus CD-ROM drives. PCMCIA CD-ROM drives are very hard to come by and if you do find one it can cost well over $100, so that was out of the question for me. Network booting is a pain to setup for the first time so I settled on USB floppy boot augmented with a USB CD-ROM.

Booting the Unbootable
After some research I found a site that hosted boot disks specifically for the R100. I tried all three but what ended up working for me was the official Portege R100 Recovery Boot Disk v1.1. Its a little executable that will format and place a Windows 98 based boot disk on a floppy for you, with CD-ROM drivers and a few tools. The standard Windows 98 bootdisk would probably work as well. Once it finished making the floppy I added the following utilities from this site: smartdrv, fdisk, and format.com to the tools directory. Using the IDE to USB converter I had bought previously, I connected the oldest CD-ROM drive I could find, (after all were dealing with Windows 98 here). It ended up being a HP CD-Writer Plus 8100 I pilfered from my roommate. I set the BIOS to boot from floppy first and put the Windows install image in the drive. One little snag with the official Toshiba floppy boot disk is that it boots the computer but then immediately looks for the Toshiba Recovery CDs in the CD-ROM not having received media of any kinda you might think I was snookered, however once it realizes you dont have the recovery CD in the drive, doing a ctrl+c dumps you into a basic DOS environment where A: is your USB floppy drive, C: is your hard drive D: is the RAM drive it just created and X: is the USB CD-ROM drive. Using fdisk I set up my partitions. I decided to allocate 23GB for Windows and the rest, 9.7GB, for Ubuntu. So we create a primary DOS partition of size 23GB, and set it to active, leave the rest as free unpartitioned space (If you are doing just a single boot windows install make the partition span the entire drive). Then format it to FAT32, (we have to leave it as FAT32 otherwise the alternate XP install program wont recognize it as a drive). Once thats done run X:\i386\winnt. Now were getting somewhere, we're at the standard blue screen, not of death but of life, (BSOL), that is the Windows install interface we're all used to. Make sure you answer yes when asked to convert from FAT32 to NTFS. From here its a standard Windows install and man does it fly on the SSD, the GUI part of the installation which it estimates to take 34 minutes took less than half that to complete.

Completing Windows Installation
Now its a simple matter of grabbing the drivers from Toshiba's website. A good tip here is when you extract the drivers don't run the setup executable that comes with them, just do an update driver in Device Manager and navigate to where you extracted the driver package, find the INF file and click Ok. This hopefully avoids installing any extraneous bloatware packaged with the drivers. I suggest you disable the page file to avoid using up the limited read-write cycles of the SSD. Wrap it all up by installing the hotkey drivers so you can adjust the brightness of the backlight and polish it off with tweakUI and DriverHeaven TuneXP and you're left with a fresh copy of Windows done our way, just like the BK lounge. You'll immediately see just how much quicker the OS is with our new upgrades. To satisfy your inner geek, the HDTach before and after analyses of the hard drives in the R100 are shown above, (how does a 100x improvement in random seek time suit you!).

Ubuntu Installation
Now were just left to install Ubuntu, which actually is a simpler process. First download and burn the Ubuntu 9.04 Alternate CD image. Were going to be following the directions on this page, the section titled The CD approach, but I'll give the gist of what were doing here. Copy and paste the entire CD contents to C:\ubuntu and download GRUB for DOS. Extract just grldr to C:\ the rest of the files in the archive are unnecessary. Append c:\grldr="Install Ubuntu" to c:\boot.ini and create a file called c:\menu.lst with the following lines in it:
Menu.lst
title Install Ubuntu
kernel (hd0,0)/ubuntu/install/vmlinuz root=/dev/ram0 devfs=mount,dall ramdisk_size=17000
initrd (hd0,0)/ubuntu/install/initrd.gz

Now simply reboot with the Ubuntu Alternate installer CD in the drive, and select "Install Ubuntu" twice. Now that the CD installer is going we can setup our partitions. I created an 8.7GB ext4 partition and a 1.25GB swap partition. Based on research here I set the noatime mount option as well. When prompted make sure you mark the Ubuntu Desktop Environment for installation. Step through the installation, its pretty self explanatory and eventually you'll be presented with the Ubuntu desktop.

The first problem I had to solve was setting the display to the native resolution of 1024x768. The old /etc/X11/xorg.conf file is deprecated and wont exist on most systems, including the R100. Based on the output from Xorg -configure I settled on the following xorg.conf file:
Xorg.conf
Section "Module"
Load "GLcore"
EndSection
Section "Monitor"

Identifier   "Monitor0"
VendorName   "Generic LCD Display"
ModelName    "LCD Panel 1024x768"
Horizsync    31.5-48.0
Vertrefresh  56.0-65.0
modeline     "1024x768" 65.0 1024 1048 1184 1344 768 771 777 806 -vsync -hsync
EndSection
Section "Device"

Identifier  "Card0"
Driver      "trident"
VendorName  "Trident Microsystems"
BoardName   "CyberBlade XP4m32"
BusID       "PCI:1:0:0"
EndSection
Section "Screen"

Identifier "Screen0"
Device     "Card0"
Monitor    "Monitor0"
DefaultDepth 16
SubSection "Display"
Virtual 1024 768 
Modes  "1024x768"
EndSubSection
EndSection

Next I set out to solve the problem where brightness changes to the LCD backlight, from unplugging AC power for example, would cause the display to zoom into the upper left quarter of the screen. Ctrl+alt+f1 followed by ctrl+alt+f7 would get the screen back to normal but I needed it to work correctly. The solution was to force the VESA BIOS Extension (VBE) Mode to 1024x768 resolution as well. For Ubuntu 9.04 this was accomplished by editing the /boot/grub/menu.lst file by uncommenting the defoptions line and changing it to defoptions=quiet splash vga=791. Ubuntu 9.10 and above are a bit different as they use Grub 2, instead edit /etc/default/grub and change the line to: GRUB_CMDLINE_LINUX="vga=791". For Ubuntu 10.04 instead leave GRUB_CMDLINE_LINUX blank and set GRUB_GFXMODE=1024x768 and GRUB_GFXPAYLOAD_LINUX=1024x768. Then a sudo update-grub updates all active kernels with the options we just specified.

With our display now perfect we can focus on getting the function hotkeys working.

The easiest way I found was to install an app made specifically for Toshiba laptop hotkeys called fnfx. Installing it was a snap with the command sudo apt-get install fnfxd. Then edit /etc/fnfxd/fnfxd.conf and uncomment the lines for backlight brightness. Reboot and now our function hotkeys are working as well.

Ubuntu Upgrade - Clean Install
To perform a clean install of Ubuntu, as I did when v9.04 came out. First remove the Ubuntu and linux swap partitions. I happened to have Partition magic, which I used to delete and secure erase the Ubuntu and swap partitions. With the boot floppy we created above, boot to the DOS environment and run fdisk /mbr, to restore the default Windows bootloader. Now we're back to a Windows only system from which we can follow the directions above to do a fresh install of Ubunutu.

Well I hope you've all enjoyed the tale of my struggle with the R100 and my eventual victory. I hope the information compiled here will be helpful to someone else working with an R100 or any other laptop with a severe lack of bootable devices.