Moving system directories to a flash card

Image:Ambox_content.png
This article is out-of-date, and needs to be updated.
Please see the talk page for discussion.


This method is not recommended, as it is more fragile, and less usable than straight flash booting. Please use the steps for booting from a flash card instead!

Contents

[edit] Why move directories to a flash card

  • you regularly run out of space while trying out new programs
  • you don't want to reflash /home each time you reflash your tablet
  • you would like the 'rwx' permissions logic also on the flash card
  • you want a LARGE /home partition

[edit] Alternative

Booting from a flash card allows you to have your entire system running from a flash card, and thus to have your Home directory limited only by the size of the flash card.

The reasons for doing this, rather than following the instructions here, are detailed in the discussion page of the page describing creating ext2 partitions for your tablet.

This page details the steps the author followed to solve a problem, and represents his personal experiences.

It is strongly advised that if you have these issues, that you try booting from a flash card.

[edit] Needed

  • a working N800
  • an internal flash card of 2Gigs or more.
  • maybe a standalone linux desktop
  • one hour and some chamomile

[edit] First time

[edit] Partitioning

Partition your flash card, deciding how much space you want to reserve for /usr and how much for /home.

Suggested values for partition sizes are 500MB for /usr and 1.5GB for /home, respectively in partitions 2 and 3. Leave a small FAT16 partition on the card in 1st position to prevent other systems considering that the card is corrupted and trying to "recover" it...

It is suggested that you leave the card in your N800.

[edit] Copying your data to the new file systems

After creating the partitions and initializing them, mount them at /mnt/usr and /mnt/home, and copy /usr/* and /home/* there, keeping file attributes:

cp -a /usr/* /mnt/usr
cp -a /home/* /mnt/home

Ensure your N800 is plugged in, since this operation will take some time.

[edit] Setting things up

First, reflash your tablet, after carefully backing up any data you will need later, to free up space in internal memory and get back to factory settings.

Then use the Application manager to remove packages which are safe to remove. Some examples of packages which can safely be removed are the Maemo tutorial and documentation packages.

Boot the system with flash card in place, and ensure that your old data is there. To do this, become root and create a custom boot script which will mount partitions from your flash card:

#!/bin/sh

# create the mount points for testing
mkdir /mnt/usr
mkdir /mnt/home

# create the startup script
cat > /etc/init.d/mount_custom << EOF
insmod /mnt/initfs/lib/modules/2.6.21-omap1/mbcache.ko
insmod /mnt/initfs/lib/modules/2.6.21-omap1/ext2.ko
MOUNT_ROOT=/mnt/
mount /dev/mmcblk0p2 ${MOUNT_ROOT}usr
mount /dev/mmcblk0p3 ${MOUNT_ROOT}home
EOF

# register it for early execution
chmod +x /etc/init.d/mount_custom
cd /etc/init.d; for i in 2 3 4 5; do ln -s ../init.d/mount_custom /etc/rc$i.d/S15mount_custom ; done

Now reboot and check that /mnt/usr and /mnt/home contain your data. You will need to re-copy your system files on top of your back-up of /usr to ensure a consisten system:

cp -a /usr/* /mnt/usr

As before, this will take time and plug in your tablet.

Edit /etc/init.d/mount_custom again, setting MOUNT_ROOT=/ and reboot if you dare.

Your flash card partitions will now be mounted at /usr and /home, and will hide the system directories underneath.

[edit] Restoring without a Backup

In a bare N8x0 after a reflash you will see an empty menu. You need to re-configure repositories and re-install all the applications you had before.

After following this procedure, when you re-flash your tablet, you should still see all of your applications and personal data, since /usr and /home will not be affected.

However, even though applications will show up in the menu, many applications will be missing configuration files or other data required to run, and you will probably need to restore them from a back-up before using them again.

The list of applications which appears in the application menu will serve as a list of applications which you should re-install after a re-flash.

[edit] Power Consumption

The power consumption of your tablet will be higher when using ext2 partitions on a Flash card, and your system will not work once the charge is too low to read/write the flash cards. This setup shortens your autonomy.