Translations: French German Russian

Introduction

The limited storage capability of the Asus Eee PC is not adequate to keep multiple operating systems on the internal flash drive. An SD or SDHC card (which can always stay in the built in card reader) or a USB stick can be a very convenient medium to install another system and extended storage. This wiki page gives you instructions how to do that.

This version of the page depends very much on the current versions of kernel, installer and the like; details could change in the future. Please edit as needed.

Drawbacks

A system on an external flash medium can be convenient and very usable. There are some drawbacks, of course:

Installation on external flash drive: overview

Installing on SD cards or external flash drives

Starting installation

  1. Put the stick with the installer in the USB port on the left side.
  2. Press <F2> to enter in the bios and disable bootboster, <F10> to save and exit - DavideCalcagnile.

  3. Press <esc> while booting and select the stick to boot from.

  4. Now put the SD or SDHC card into the built in reader. If you want to install to a USB stick put that one in the second USB port on the right side, the first is closest to the plug ac.
  5. Start installation until partitioning. Select manual partitioning.






Partitioning a SD card or USB stick and mounting it

  1. Spot the device you want to install to: the internal card reader is easy to find, the stick might show a brand label, size or something else from which you can tell which stick is which. If you have no clue, then assume the installer stick is on /dev/sdb1 and the target stick on /dev/sdc1 (if you did put it into the USB ports I told you to).

  2. Write the name of the device down (It's very likely /dev/sdc1 with the current installer on a Eee 701). You will need that device name later to know where to install the bootloader.

  3. On a pristine stick or card you will see one fat partition, select and delete it.




  1. Now you will see free space. Select that, and create a new primary partition. Accept the default size to use the whole medium. You could leave space for a swap partition, but on a flash device it might be quite reasonable not to have a swap partition. The installer will protest, but you can safely proceed without. (If your machine allows it, you should consider adding more RAM instead.)

  2. Filesystem default ext3 is fine. Select mount option noatime (relatime does not work yet).

  3. I would set a volume label like eeeSDcard or eeeStick.

  4. Set the bootable flag.

  5. Select 'Done setting up partition' and 'Finish partitioning and write changes to disk'.
  6. The installer starts to protest that you should have a swap partition, but you can safely continue without. There will be more warnings about missing swap later on, so just keep your own opinion.

Installing the GRUB bootloader on an SD card or an USB stick

  1. Now let the installer do its thing until it wants to write the GRUB bootloader. Stop now. Do not install the GRUB bootloader in the MBR.

  2. To install the bootloader on your external media you have to give the name of the device as the installer sees it during installation. So install it to the device (without partition number) you wrote down in the partitioner. On a 701 Eee model it will probably be /dev/sdc (*NOT* /dev/sdc1).

    • You can double check this by switching to console 2 (press <ctr> + <alt> + <F2> and then <return>) and use the 'mount' command. It's the device where /target is mounted (without partition number). Switch back to the installer by pressing <ctr> + <alt> + <F1>.

    • You install GRUB on a device like /dev/sdc but this will show up as /dev/sdb when the system gets booted. Don't get confused, it is confusing. ;-)

Fixing GRUB configuration and /etc/fstab

  1. Continue until the installer wants to reboot, but don't do that yet. We must correct the faulty disk and device names in /boot/grub/menu.lst and /etc/fstab first. You can do that inside the installer now, or you can decide to let the installer finish and mount the media somewhere else to fix things there before rebooting the Eee. Next steps show how to do it in the installer.

  2. Switch to console 2 (<ctr> + <alt> + <F2>).

  3. The root of the installed system is mounted under /target during the instal. So if you edit the files during installation make sure to edit the copy in the /target/ hierarchy! The other files in the root filesystem are in the ramdisk and will be gone when you´ll reboot. Make a security copy, something like

  4.   cp -a /target/boot/grub/menu.lst /target/boot/grub/menu.lst.INSTALLER.back
      cp -a /target/etc/fstab /target/etc/fstab.INSTALLER.back
  5. Check and edit the drive letter in /target/etc/fstab. / should be mounted on /dev/sdb1 (not /dev/sdc1)

      nano /target/etc/fstab
    it should look like this:
     /dev/sdb1    /    ext3    noatime,errors=remount-ro    0  1

    Or even better, see http://www.cyrius.com/debian/nslu2/linux-on-flash.html

     /dev/sdb1    /    ext3    noatime,commit=120,errors=remount-ro    0  1
  6. Edit /target/boot/grub/menu.lst. The external media root should be on (hd0,0). Scroll down until you see the entries for the installed system, it looks similar to this:

    ## ## End Default Options ##
    title           Debian GNU/Linux, kernel 2.6.26-1-686
    root            (hd2,0)
    kernel          /boot/vmlinuz-2.6.26-1-686 root=/dev/sdc1 ro quiet
    initrd          /boot/initrd.img-2.6.26-1-686
    ...
    ### END DEBIAN AUTOMAGIC KERNELS LIST

    Now change to 'root (hd0,0)' and '/dev/sdb1'. On a EeePC 701 it looks like:

    title           Debian GNU/Linux, kernel 2.6.26-1-686
    root            (hd0,0)
    kernel          /boot/vmlinuz-2.6.26-1-686 root=/dev/sdb1 ro quiet
    initrd          /boot/initrd.img-2.6.26-1-686
    title           Debian GNU/Linux, kernel 2.6.26-1-686 (single-user mode)
    root            (hd0,0)
    kernel          /boot/vmlinuz-2.6.26-1-686 root=/dev/sdb1 ro single
    initrd          /boot/initrd.img-2.6.26-1-686

    The internal flash drive should be on (hd1,0) and /dev/sda(x). So for default xandros on the internal drive you would edit the entries (farther down) to look something like this:

    # This entry automatically added by the Debian installer for an existing
    # linux installation on /dev/sda1.
    title           Normal Boot (on /dev/sda1)
    root            (hd1,0)
    kernel          /boot/vmlinuz-2.6.21.4-eeepc quiet rw vga=785 irqpoll root=/dev/sda1
    initrd          /boot/initramfs-eeepc.img
    ...

    Now we must correct the entries for update-grub. They look like comments in the first part of the same file. Edit the device in the kernel options to /dev/sdb1.

    # kopt=root=/dev/sdb1 ro

    and GRUBs root to (hd0,0)

    # groot=(hd0,0)
  7. Now change back to console 1 (<ctr> + <alt> + <F1>) and let the installer reboot.

See Booting external media for methods how to boot later.

Note by Kai Martens: On Eee PC 900 /dev/sdb will be the internal solid state harddrive. While all the (hd2,0) instances mentioned above must still be altered to (hd0,0), the /dev/sdc1 instances should not be altered to /dev/sdb1 (neither in fstab, nor in menu.lst). If it is rebooted with /dev/sdb1 after loading the kernel there will be three messages that mount failed and then the message that there is no file /sbin/init - your cue that you got the (hdx,y) stuff right (found the kernel and ram image), but the /dev/sdxy stuff wrong...

Note by RGM: if your primary partition is Windows XP then you may need to add a map (hd1) (hd0) command in addition to modifying the root entry.

Note by Marcos Talau: I had problems with the device names on 701. I recommend the use of labels for GRUB and fstab.

Fixing uswusp configuration

Inhibiting suspend

Probably we will have a better method of avoiding suspend, see 474531.

Booting external media

Common case

Booting from SDHC card


CategoryFrGame