Eeepc Hacks and Modifications

Welcome to my Eeepc page. Here are some of the modifications I have worked out with various members of the great community of EeeUser Forum. See the separate pages for details.

albkwan


List of Topics:
 
  • Boot Xandros from USB
  • Overlay a SD card as Permanent Drive
  • Boot Xandros in RAM Mode
  • Perform Disk Scan on the root partition (/dev/sda1)
  • Build icewm start menu items from Asus tabbed menu
  • OTHER HACKS as posted in EeeUser Forum
  • SUMMARY of CONTENT of "My EeePC Blog"

  • DIY - Boot Xandros from USB: (see also this wiki)

    Update 2008/9/9: I have worked out a new USB boot initramfs image which should work for all Eeepc models. To distinguish from the old initramfs image, I have named this new one as "initramfs-usb-eeepc.img" but the download package filename remain unchanged. Instructions in the different pages have been updated accordingly. 
  • Boot Xandros from USB for Dummies
  • DIY - Boot Xandros from USB on the Eeepc (by Seeking Volume Label)
  • DIY - A rewrite of the steps for Windows users - boot Xandros from USB on Eeepc
  • DIY - Variations for boot Xandros from USB on Eeepc (without Union filesystem)

  • Overlay a SD card as Permanent Drive: (see this and this thread in EeeUser Forum)

    In the Eeepc, there are 2 partitions for the default OS: sda1 is the read only SYSTEM partition and sda2 is the read/write USER partition. They are mounted together as an union filesystem. Basically the SYSTEM partition hosts the factory installed softwares and the USER partition hosts all your customizations.

    After I worked out the "boot from USB" method, it occurred to me that the USER partition can actually be mounted anywhere. And by mounting it in a 4G SDHC, I will have much more disk space available.

    Also, I can have different users sharing the same Eeepc, each one having his own USER partition on his own SD card. Or I can have different SD cards for a different customized version, e.g. one for software development, one for music, and one for daily use.

    In this and this thread of the EeeUser Forum, I have given the instructions on how to do this. You can also downloaded the initramfs image I have built here. Then you can skip steps 4 - 7.

      Overlay SD Card (sdb1)

    initramfs image

    init

    UPDATE 2008/10/7: I have spent a few hours today to build a new initramfs image, this time with support for sdc1 (because for EeePC models with 2 SSD, SD is in sdc1) and also allow user to specify USER partition in any location.

     I think this will be useful to those with a 2nd 16GB SSD. He can then allocate a bigger partition in the 2nd SSD to mount USER partition and don't have to worry about disk full in sda1 anymore. To do this, you will need to modify /boot/grub/menu.lst in sda1 to add a kernel parameter, e.g. "user=/dev/sdb2" to the kernel line. So the whole line will look something like this: 

    kernel /boot/vmlinuz-2.6.21.4-eeepc quiet rw vga=785 irqpoll root=/dev/sda1 user=/dev/sdb2  

    Please note that you need to boot into rescue mode to make this change. Just editing this file in a normal boot up state, the changes will only go to the file (with the same name) in sda2. You will need to boot into rescue mode to copy the new file to sda1.

    In addition, you may also want to edit the files /sbin/scanuser.sh and /sbin/formatuser.sh (same in sda1) to replace all occurrence of sda2 with the new location of the user partition, e.g. sdb2, in my case. This will then preserve the "Restore Factory Settings" and "Perform Disk Scan" (on user partition) function at F9 boot menu.


    Boot Xandros in RAM Mode: (see also this wiki and this thread in EeeUser Forum)

    By virtue of the union filesystem, it is possible to run the Eeepc in a RAM mode, where all the changes will only last until you reboot. This is useful when you want to test run some software, show off your Eeepc to your friends, and even for general use.

    To do this, you will need to build a custom initramfs image, put it into /boot of sda1 and edit the Grub boot menu. Here, I have offered custom initramfs images for download. For how to put it into sda1, you can either boot from USB or boot into rescue mode as described in this wiki.

      Factory Built Features only (sda1+RAM)

    initramfs image

    init

    With Also Your Customizations (sda1+sda2+RAM)

    initramfs image

    init

    Same As Above but with SD card Overlaid
    as USER Partition (sda1+sdb1+RAM)

    initramfs image

    init


    Perform Disk Scan on the root partition (/dev/sda1): (see also this wiki in EeeUser Wiki)

    With the default Xandros of the Eeepc, there is no easy way to perform disk scan on the 1st partition of the SSD (/dev/sda1). The only possibility is to do it in rescue mode as I have described in this wiki: Perform Disk Scan on sda1 which is quite tedious. So I have built a custom initramfs image that we can easily boot up pressing F9 and select from the boot menu (just like what Asus has provided for perform disk scan on the USER partition).

    To install this, download my custom initramfs image, decompress it and put it into /boot of sda1 (either boot from USB or boot into rescue mode) and edit the Grub boot menu to add this entry.

    Updated 2009/9/18: I have re-built this initramfs image, now supports ext3 journal filesystem, and also disk scan of SYSTEM partition for "Boot Xandros on USB" seeking volume label of the SYSTEM partition as specified in grub menu.lst. I have also added a "SCAN=" option that you can change in grub/menu.lst to scan other Linux partitions. e.g. add "SCAN=/dev/sdb1", then it will boot up and scan /dev/sdb1 instead of the SYSTEM partition. This is useful if you have mounted more than one partition as unionfs (e.g. sda1 + sda2 + sdb1 ... ) which you will find it impossible to perform disk scan on them. Here is my init and the scan script.

    Code:

    title Perform Disk Scan on sda1
        root (0x80,0)
        kernel /boot/vmlinuz-2.6.21.4-eeepc quiet rw vga=785 irqpoll i8042.noloop=1 root=/dev/sda1 SCAN=
        initrd /boot/initramfs-fsck-eeepc.img

    For use in "Boot Xandros on USB" system, use this grub menu.lst entry instead:

    Code:

    title Perform Disk Scan on SYSTEM partition (label: USBSYSTEM)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.21.4-eeepc quiet rw vga=785 irqpoll i8042.noloop=1 root=label:USBSYSTEM SCAN=
        initrd /boot/initramfs-fsck-eeepc.img

    For more details, please refer to this thread I have posted in EeeUser Forum.


    Build icewm start menu items from Asus tabbed menu

    EDIT 2009/8/16: I have given up on this script because I found that it only works on new EeePCs. After you run Asus update (many bugs) or if the user edit simpleui.rc by hand, the simpleui.rc file may change to a non-standard format and it is impossible for the script to take care of so many possibilities.

    I have written a script that can extract the Asus tabbed menu items from the simpleui.rc file and convert it to icewm start menu items (under a menu folder "Asus"). This script supports all local language that is available in the Asus simpleui.rc file. So it will be useful if you are not native English and you want to use the icewm start menu.

    To use it, download the script here, unzip and save it to "My Home". Next you will have to give it exec permission by right click on it, select [Properties] > [Permissions], and check all the [Exec] boxes. Then you can double-click to run it.

    Prequisite is of course you have enable icewm start menu in your Eeepc as per this wiki: Enable the Start Menu in Eee PC Easy Mode. For details, please refer to this thread in EeeUser Forum.


    OTHER HACKS

    Too lazy to do a write up, so I just post the links for threads I have posted in EeeUser Forum and EeeUser Wiki here:
    Hacks for Beginners
    Script for the lazy to enable icewm start menu
    HOWTO: Random wallpaper for Easy Mode
    How do I play a MIDI file?
    Installing lame library for audacity
    How can I change the default drive download location for synaptic files?

    Advanced Hacks
    Mount SD partition as /usr/local
    What can you do in rescue mode?
    Eeepc Linux on my desktop
    Howto: Fix network problem using 1000H iso on a 4G
    Behaviour when using external display and/or listening to music with lid closed

     

    SUMMARY OF CONTENT OF MY EEEPC BLOG

    2009/3/21: I decided to reinstall my EeePC 4G from scratch. So I have started a blog to record all the customizations and some new hacks I will be doing on my EeePC. The followings are list of major hacks in My EeePC Blog.

    Software Installations and Upgrades
    Setting up repositories for my EeePC 4G
    VGA Utility (virtual panning display for 1024x768 or over)
    Flashplayer 10 with SvOlli's patch / Asus Firefox 3 upgrade
    Upgrade to openoffice.org 3.1
    Watch DVD on EeePC
    Installing IEs4Linux and additional language support
    Record TV programs with Asus U3100 Mini
    Auto Shutdown my EeePC
    Play gp5 files with tuxguitar
    Play MIDI with fluidsynth

    Advanced Hacks
    9 Steps to Uninstall Programs from the Read-only Partition
    Backup and Restore my EeePC
    Rescue Files from Linux ext2/ext3 partitions
    Read/write union filesystem
    Update my 4G to EeePC Linux version 1.6

    Restore from USB Hacks
    Create an Asus EeePC System Recovery USB disk
    Restore EeePC from Recovery DVD without union filesystem
    Restore from USB to minimal EeePC Linux
    Restore from USB and change unionfs to aufs