When the Asus EeePC came out in the US on 1 Nov 2007, I ordered a White 4G from Newegg. After making many updates to the default Xandros Linux installation, I replaced it with a complete Ubuntu Gutsy (7.10) workstation install, then removed a few items (e.g. tracker, network-manager) that are either troublesome or not used. In the installation from an external USB DVD drive, I reformatted the SSD with two partitions; a 100MB ext2 (/boot) and the remainder as one large ext2 partition (/). No swap partition was created and both partitions were mounted with the 'noatime' option.
It was soon noted that the 1.7 GB of free space left on the SSD would limit some purposes for which I had envisioned the little bugger, so I scanned the various eee groups such as forum.eeeuser.com, and applied the vast array of hardware ideas to my needs. I wished to keep the main external connections (3 x USB and SDHC card reader) free, and wanted some storage method that would allow me to expand in the future. In one pre- Christmas sale, this SanDisk offering caught my eye:
While this is not one of the high-speed cards (10 MB/s read, 9 MB/s write), it should be more than adequate for /home. The entire on-board SSD is then available for the operating system and applications. This is a relatively simple project and builds directly on the work of others.
The first step is to remove the plastic case from the MicroMate USB2 Card Reader, and carefully unsolder the USB connector. Mounting the connector is very simple in the EeePC versions with the socket and mounting points for the expansion miniPCIe card, since two holes on the USB connector end of the adapter mate perfectly with the threaded standoffs on the motherboard. A small piece of teflon sheet was added for electrical insulation, and two lockwashers used to provide a slight space between the insulator and the IC on the adapter bottom. Finally, two "Eee-standard" screws (from a 4G that I "bricked" while developing this) secure the adapter in place. Standard USB color-coded wiring was used to make the connections. The bare mod:
and with the SDHC card and replacement 1 GB RAM module installed:
Finally, after testing, everything was put back together as:
The final step to make this work is to configure the card. When first powered up, the disk will appear as an additional drive automatically mounted to some mountpoint on the /media directory using the default FAT filesystem. With Ubuntu, the following steps were used:
1. See what device was allocated to your card by executing 'dmesg' in a terminal. In my case, 'sda' was the SSDD, 'sdb' was the built-in SD card reader since I had a card in place, and '/dev/sdc1' was used for the new SDHC card. If your unit appeared as a different device, update the steps below with your device.
2. Unmount the drive by right-clicking on the icon and selecting "unmount".
3. Partition the card as desired, defining the type as 'linux'. I used the commmand-line 'fdisk /dev/sdc' command (note no number since you are setting the main device partition). If your card has only one partition, this may be as simple as changing the partition type to '83' (linux), then saving the partition ('w') and exiting ('q').
4. Format the partition. If the drive was automatically re-mounted during the partitioning above, unmount it. Again, I used the command-line commands to format as ext2 as: 'mkfs.ext2 /dev/sdc1'. In this case, you need the partition number in the declaration.
5. Mount the partition. You can either 'sudo mount ..' the partition, or re-boot the system to make the newly-formatted partition to appear. When you see it, locate and record the 'UUID' for the next step. The easiest way to find it is by listing the directory contents of 'dev/disk/by-uuid'.
6. Examining the drive, you should have only a 'lost+found' file. I elected
to make the drive contain the entire /home tree, and preparation was simply
a matter of executing in a terminal; 'cp -rp /home /media/
7. Edit the file system table with 'sudo gedit /etc/fstab'. I added the following just before the lines for cdrom0 and floppy0 (replace 'your_UUID' with the actual string you saved in step 5 above):
UUID=your_UUID /home ext2 noatime,defaults 0 0
After saving the file and exiting, you are ready for business. On the next bootup, you will have more space available to the operating system, and a home directory limited only by the card size in the reader you added.
The same technique was used in another EeePC to mount an internal 8 GB Voyager USB flash drive as /home from an internal USB connector.
On the aesthetic side, plain black or white 4G units seemed so impersonal and bland that something just had to be done. The results were straight out of the original Star Trek episode with Frank Gorsham.
With any of the modifications, replacement of the original Xandros Linux is also warranted. I prefer Ubuntu, and the latest version 8.04 LTS (Hardy Heron) is running perfectly on my systems. Of the available scripts, I prefer the one from Samiux with customizing to my preferences. This includes the MetalCity theme (via freshmeat.net), Audacious (with the XMMS minEguE theme), gkrellm to monitor system status, and my favorite editor joe called as jstar to satisfy my permanently WordStarified left hand.
This little machine is perceived as somewhat less than adequate, but a couple of simple changes make it a real performer. The first step in improving the cloudbook is to relocate the Wifi interface to a decent location for wireless activity. This means moving it out of the main case and up to the display (LCD) area next to the camera.
Begin by disassembling the main case and removing the USB Wireless module from underneath the motherboard. Good instructions for this are in the Cloudbook forum at 'netbookuser.com'. Next make a USB extension cable keeping the diameter of the cable small to avoid compression in the right hinge area. Install the extension cable in place from the USB recepticle in the main case through the hinge and to the right of the camera module. Temporarily lay the wireless module in place, but do not mount it yet.
With the wireless module placed between the camera and right edge of the screen enclosure, and touching the upper-right threaded spacer, mark the silver foil shielding to provide a clear area around the antenna (the black insulated end of the wireless module). Add some Kapton tape over the shielding where the wireless module will be positioned to avoid the possiblity of shorts. Finally attach the wireless module in place with a small piece of double-sided adhesive foam, the USB extension cable and friction. Finally re-assemble the cloudbook and enjoy better wireless performance. Here is my modified unit:
The next area of performance improvement is to replace the 30 GB hard drive. I decided to go the solid-state route and added a 1.8" ZIF IDE to Compact Flash adapter and a 16 GB CF. This adequate for my storage needs and results in longer battery life and no moving parts. Carefully remove the keyboard and drive cover. Then carefully open the connector on the drive ZIF ribbon connector by raising the locking bar from the drive end and gently slide out the ribbon. Then insert the cable into the connector on the CF adapter and position it in the drive bay. Here is the bottom of the drive and the replacement adapter:
Now that you have a new drive, this is a good time to install Ubuntu 8.04. Insure that you partition the drive with only one primary partition (hda1) which you will format as ext2, and an extended partition of 1 GB positioned at the "end" of the drive. The Cloudbook apparently has a brain-damaged Bios and I have been unable to get any other arrangement to boot properly. Also, when booting from Ubuntu workstation live CD, Use "F4" to select 'Failsafe Video' and "F6" to add the 'pata_via' kernel parameter. Without this latter parameter, the Compact Flash may not be recognized as a drive.
I developed a configuration script based on the one for the EeePC for font size and other gnome configurations, and added other tweaks from the members of netbooker.com in the cloudbook forum. Be careful when activating dynamic frequency scaling since the keyboard and cursor pad may become unresponsive at 400 MHz. I recommend setting the minimum scaling speed at 800 MHz since I experience occasional drops when streaming 'flac' music files at 600 MHz. As a precaution, you may add
to your /etc/rc.local file before adding the kernel workaround to activate frequency scaling. With these changes, the Cloudbook boots much faster, is more responsive, and seems to last longer on battery.
Not much needs to be done to this machine to improve it, other than to replace the OS, that is. Ubuntu 8.04 is really what is needed here instead of the Novell/Suse Linux. Rather than mess with repartitioning the SATA hard drive, I replaced it with a SATA-CF adapter and a 16 GB Transcend 300x Compact Flash. To anchor the adapter in place, I drilled three holes in the original frame around the SATA HD and mounted the adapter to it. This is what the completed assembly (top left) appears like next to the HD (top right) and a bare adapter (bottom).
Finally install Ubuntu 8.04 workstation from an external USB CD-ROM drive using the same "F4"/"F6" settings as for the Cloudbook. There is an excellent series of tailoring instructions for the Mini-Note on the Ubuntu wiki site. When setting the dynamic CPU speeds, only 800 and 1200 MHz are available instead of the greater number of rates on the Cloudbook. With these changes, my MiniNote seems to be lasting longer on battery, and may wind up replacing my other machines.