Optimizing Linux Use On a USB Flash Drive?
Buckbeak writes "I like to carry my Linux systems around with me, on USB flash drives. Typically, SanDisk Cruzers or Kingston HyperX. I encrypt the root partition and boot off the USB stick. Sometimes, the performance leaves something to be desired. I want to be able to do an 'apt-get upgrade' or 'yum update' while surfing but the experience is sometimes painful. What can I do to maximize the performance of Linux while running off of a slow medium? I've turned on 'noatime' in the mount options and I don't use a swap partition. Is there any way to minimize drive I/O or batch it up more? Is there any easy way to run in memory and write everything out when I shut down? I've tried both EXT2 and EXT3 and it doesn't seem to make much difference. Any other suggestions?"
Have you tried squashfs?
Having everything compressed seriously reliefs the drive I/O. It also helps you to put more onto your Stick. Changes could be written to an normal ext3 filesystem with the help of aufs.
Do not swap onto your USB drive, that is a very bad idea and will lead to horrific performance, and a failed USB key. Second, setup a ram disk on boot and put /var there so that all logging goes to ram disk. Most USB keys will fail otherwise because they are not designed for repetitive write cycles.
Salut,
Jacques