Differences between revisions 1 and 2
Revision 1 as of 2008-04-19 14:41:10
Size: 12571
Editor: yoplait
Comment:
Revision 2 as of 2008-04-19 15:09:37
Size: 12977
Editor: yoplait
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
'''Translations:''' [:DebianEeePCFrench/HowTo/InstallOnSDcardOrUsbStick:français] '''Translations:''' [:DebianEeePC/HowTo/InstallOnSDcardOrUsbStick:Anglais]
Line 6: Line 6:
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. Les capacités limitées de l'asus EeePC ne sont pas adéquats pour garder plusieurs systèmes d'exploitation sur le disque flash interne. Une carte SD ou SDHC (qui peut toujours rester dans le lecteur de carte) ou une clé USB peuvent être des médias sur lequel on peut installer un autre système et avoir un espace de stockage plus grand. Cette page de wiki vous donne les instructions pour savoir comment faire ceci.
Line 8: Line 8:
This version of the page depends very much on the current versions of kernel, installer and the like; details will probably change in the future. Please edit as needed. Cette version de la page dépend beaucoup de la version courante du noyau, de l'installateur et de ce type là; les détails changeront probablement dans le future. N'hésitez pas à éditer si besoin est.
Line 11: Line 11:
== Drawbacks ==
A system on an external flash medium can be convenient and very usable. There are some drawbacks, of course:
Line 14: Line 12:
 * A system on a USB stick or SDHC card will be slower than on internal flash. Speed depends on internal Eee hardware and the type of medium you use.
 * Never take out the card or stick before shutdown is complete; with a stick this could happen unintentionally. Do not ask for a reboot (instead of shutdown) and remove the media between shutdown and automatic reboot.
 * Some people had problems with the internal card reader. It is possible that newer models do not have this problem any more or that it was caused by (non Debian) software or BIOS. Please report your experience. (I am using a system on a SDHC card very intensively and did not see any problems so far.)
 * There is a real gotcha if you want to use suspend on such a system. Suspending can do damage to a filesystem mounted on a USB device. This affects both USB sticks and the built in SD/SDHC card reader. So *don't* use suspend on such a system. See Bug:468213. We have a confirmation now that this will be fixed in the stock 2.6.25 686 Debian kernel.
 * So while there is some risk of destroying a filesystem on a USB medium, you should be able to avoid damage by following the instructions in this document.
 * Installation is not difficult, but device names keep changing in a very confusing way. If you are doing it for the first time, the following step by step recipe tries to avoid this confusion.
== Les inconvénients ==
Un système sur un média externe flash peut être pratique et utile. Il y a quelques inconvénients, bien sûr :

 * Un système sur une clé USB ou une carte SDHC sera plus lente que sur la carte flash interne. La vitesse dépend du matériel interne de l'Eee et du type de média que vous utilisez.
 * Ne jamais enlever la carte ou la clé avant que le shutdown soit fini; avec une clé, cela peut arriver involontairement. Ne demandez pas un redémarrage (à la place d'un shutdown) et enlevez le média entre le shutdown et le redémarrage automatique.
 * Certaines personnes ont des problèmes avec le lecteur de carte interne. Il est possible que les nouveaux modèles n'ont plus ce problème ou que c'était dû par des logiciels (non Debian) ou le BIOS. S'il vous plaît, donnez votre retour d'expérience. (J'utilise un système sur une carte SDHC très intensivement et je n'ai eu aucun problème jusqu'à maintenant.)
 * Il y a un risque si vous voulez utiliser l'hibernation sur un tel système. Mettre en hibernation peut endommager un système de fichiers monté sur un périphérique USB. Cela affecte les clés USB et le lecteur de carte SD/SDHC interne. Donc n'utilisez pas l'hibernation sur un tel système. Allez voir Bug:468213. Nous avons une confirmation maintenant que cela va être résolu dans le noyau Debian 2.6.25 686.
 * Donc tant qu'il y a des risques de détruire un système de fichier sur un média USB, vous devriez être capable d'éviter de l'endommager en suivant les instructions de ce document.
 * L'installation n'est pas difficile, mais les noms des périphériques n'arrêtent pas de changer d'une manière très confuse. Si vous faites cela pour la première fois, les étapes suivantes devrait faire en sorte d'éviter la confusion.

?TableOfContents

Translations: [:DebianEeePC/HowTo/InstallOnSDcardOrUsbStick:Anglais]

Introduction

Les capacités limitées de l'asus EeePC ne sont pas adéquats pour garder plusieurs systèmes d'exploitation sur le disque flash interne. Une carte SD ou SDHC (qui peut toujours rester dans le lecteur de carte) ou une clé USB peuvent être des médias sur lequel on peut installer un autre système et avoir un espace de stockage plus grand. Cette page de wiki vous donne les instructions pour savoir comment faire ceci.

Cette version de la page dépend beaucoup de la version courante du noyau, de l'installateur et de ce type là; les détails changeront probablement dans le future. N'hésitez pas à éditer si besoin est.

  • ["Tim Auton"] - The default IO scheduler is cfq. There seems to be pathological behaviour on USB flash and SD cards with this scheduler - it's slow and far from fair. Till this is fixed, use another scheduler. Deadline appears to be the most effective. Add the kernel parameter "elevator=deadline" to the kernel line in grub/menu.conf to use deadline as the default. Setting the fifo_batch parameter also helps interactive response - batching reads or writes is good for minimising seeks, but is irrelevant for flash with its constant access time. "echo 1 > /sys/block/sdX/queue/scheduler/iosched/fifo_batch".

Les inconvénients

Un système sur un média externe flash peut être pratique et utile. Il y a quelques inconvénients, bien sûr :

  • Un système sur une clé USB ou une carte SDHC sera plus lente que sur la carte flash interne. La vitesse dépend du matériel interne de l'Eee et du type de média que vous utilisez.
  • Ne jamais enlever la carte ou la clé avant que le shutdown soit fini; avec une clé, cela peut arriver involontairement. Ne demandez pas un redémarrage (à la place d'un shutdown) et enlevez le média entre le shutdown et le redémarrage automatique.
  • Certaines personnes ont des problèmes avec le lecteur de carte interne. Il est possible que les nouveaux modèles n'ont plus ce problème ou que c'était dû par des logiciels (non Debian) ou le BIOS. S'il vous plaît, donnez votre retour d'expérience. (J'utilise un système sur une carte SDHC très intensivement et je n'ai eu aucun problème jusqu'à maintenant.)
  • Il y a un risque si vous voulez utiliser l'hibernation sur un tel système. Mettre en hibernation peut endommager un système de fichiers monté sur un périphérique USB. Cela affecte les clés USB et le lecteur de carte SD/SDHC interne. Donc n'utilisez pas l'hibernation sur un tel système. Allez voir 468213. Nous avons une confirmation maintenant que cela va être résolu dans le noyau Debian 2.6.25 686.

  • Donc tant qu'il y a des risques de détruire un système de fichier sur un média USB, vous devriez être capable d'éviter de l'endommager en suivant les instructions de ce document.
  • L'installation n'est pas difficile, mais les noms des périphériques n'arrêtent pas de changer d'une manière très confuse. Si vous faites cela pour la première fois, les étapes suivantes devrait faire en sorte d'éviter la confusion.

Installation on external flash drive: overview

  • The installation process is pretty much straightforward. Read ["DebianEeePC/HowTo/Install"] before proceeding. The main difference to a normal installation is that you need to manually fix the bootloader configuration and /etc/fstab. Device names do move around in a very confusing way. So here is a very detailed recipe to avoid confusion and to show how to fix the faulty bits after running the installer. Sorry if it sounds overly complicated.
  • Precautions should be taken that you will not suspend such a system.

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 <esc> while booting and select the stick to boot from.

  3. 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 one that is closer to the display.
  4. Start installation until partitioning. Select manual partitioning.


  • mailto:alpopa@gmail.com Alexandru It seems that if one puts first the root device (SDHC or USB) and after that the installation media, the root device problem does not appear at all (no need to modify /etc/fstab). All one needs is to change grub's menu.lst to point (hd0,0) for the SDHC / USB device with root filesystem and (hd1,0) for internal SSD.


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). 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.

  4. 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.)

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

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

  7. Set the bootable flag.

  8. Select 'Done setting up partition' and 'Finish partitioning and write changes to disk'.
  9. 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. Probably it will be /dev/sdc (*NOT* /dev/sdc1).

    • You can double check this by switching to console 2 (press <ctr> + <alt> + <F2> and then <ret>) 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.24-1-686
    root            (hd2,0)
    kernel          /boot/vmlinuz-2.6.24-1-686 root=/dev/sdc1 ro quiet
    initrd          /boot/initrd.img-2.6.24-1-686
    ...
    ### END DEBIAN AUTOMAGIC KERNELS LIST

    Now change to 'root (hd0,0)' and '/dev/sdb1'. With my kernel version it looks like:

    title           Debian GNU/Linux, kernel 2.6.24-1-686
    root            (hd0,0)
    kernel          /boot/vmlinuz-2.6.24-1-686 root=/dev/sdb1 ro quiet
    initrd          /boot/initrd.img-2.6.24-1-686
    title           Debian GNU/Linux, kernel 2.6.24-1-686 (single-user mode)
    root            (hd0,0)
    kernel          /boot/vmlinuz-2.6.24-1-686 root=/dev/sdb1 ro single
    initrd          /boot/initrd.img-2.6.24-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 Booting external media] for methods how to boot later.

Fixing uswusp configuration

  • If you have made a swap partition on your medium, you will probably see:
    resume: libcrypt version: 1.4.0
    resume: Could not stat the resume file: '/dev/sdc2'
    ...
    That's uswusp configured on a wrong device name asking for the right one. Just ignore the question and boot. Then do as root:
    aptitude purge uswusp
    aptitude instal uswusp
    On next boot you won´t be asked again.

Inhibiting suspend

  • Change the scripts under /etc/acpi so that they never do suspend. Otherwise you do risk integrity of your filesystem, and you will see damage on files opened to write. If you're like me and have the habit of saving your work very often or let your applications do that for you, you can use the following hack for this which just does shutdown instead of suspend. It dosn't even ask, who would answer the question when you just closed the lid anyway? Edit /etc/acpi/actions/suspend.sh

    # do nothing if package is removed
    [ -d /usr/share/doc/eeepc-acpi-scripts ] || exit 0
    if (runlevel | grep -q [06]) || (pidof '/sbin/shutdown' > /dev/null); then
        exit 0
    fi
    shutdown -h now

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

?Anchor(booting)

Booting external media

  • First you have to set the Boot Device Priority in the BIOS. Press <F2> after power on to set BIOS parameters. The following settings seem appropriate:

    1st Boot Device        [Removable Dev.]
    2nd Boot Device        [HDD:SM-SILICONMOTI]
    3rd Boot Device        [ATAPI CD-ROM]

Common case

  • By pressing the <esc> key after power on, you can select the device to boot from.

Booting from SDHC card

  • If you have your system on an SD card that you always leave in the slot, you might want to boot from it directly. The card must be in the slot for the BIOS to show this option. Press <F2> after powering on to see the BIOS. Go to the boot tab. If the card is in the slot, you will find the option > Hard Disk Drives. Change the card reader to be the first drive. (Leave Boot Device Priority as shown above.) From now on the Eee will boot from your card without having to press <esc>.

  • Attention: If you ever boot without the card the BIOS will silently revert this setting.