Configure a Linux USB boot drive. a)Insure the computer's BIOS supports booting from a USB drive (most recent BIOS' have that functionality). b)Install Linux on the USB drive. c)Build a new initrd kernel image with options like: INITRD_MODULES="ehci-hcd ohci-hcd uhci-hcd usb-storage sd_mod" mount /dev/usbdisk /boot mkinitrd d)Configure the boot manager (GRUB) with a USB boot option or make it the default boot image with: kernel (usbdisk,0)/boot/vmlinuz root=/dev/usbdisk initrd (usbdisk,0)/boot/initrd e)Setup the hard disk partitions with /tmp, /var, /home, and any other directory that is frequently written. f)Modify /etc/fstab so that the hard disk directories are mounted over the USB drive directories. /dev/usbdisk / fat 0 0 /dev/hda1 /tmp ext3 acl,user_xattr 0 0 /dev/hda5 /var ext3 acl,user_xattr 0 0 /dev/hda6 /home ext3 acl,user_xattr 0 0 /dev/hda7 swap swap defaults 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs noauto 0 0 debugfs /sys/kernel/debug debugfs noauto 0 0 usbfs /proc/bus/usb usbfs noauto 0 0 devpts /dev/pts devpts mode=0620,gid=5 0 0 /dev/fd0 /media/floppy auto noauto,user,sync 0 0 g)Duct tape the USB drive to the back of the computer or hide it inside the case. Theory of operation of flash memory. a)Flash memory is made from Electrically Erasable Programmable Read Only Memory or EEPROM. b)EEPROMs bits are fixed physically through hot-electron injection of a per bit MOSFET floating gate in the integrated circuit. Once an area or block of EEPROM is reset, it can be written to byte by byte. c)Re-writing to an EEPROM requires that an area or block be read into an off chip buffer and the block erased. Next the new data is merged with the saved buffer and the whole block is written back to EEPROM. d)Unfortunately, when performing repetitive writes to the same EEPROM block the erasing processes takes longer and longer until it fails. But, most EEPROMs are designed to perform 100s of thousands to a million erase cycles. e)This read/erase/write sequence takes about 70 micro seconds and, therefore EEPROM write latency is slow compared to CPU speeds. But when compared to typical hard disks, the write latency is about 130 times shorter (faster access). See: http://en.wikipedia.org/wiki/Flash_memory The USB drive and its design tradeoffs. a)Application Specific Integrated Circuits (ASICs) combine Electrically Erasable Programmable Read Only Memory (EEPROM) and Universal Serial Bus (USB) protocol circuits into very small packages which are also powered by the USB. b)Because of the mass production needs of the iPod, EEPROMs prices dropped significantly after 2005-2006 and we are witnessing a cost/benefit shift in the memory hierarchy. Now for 10s of dollars, the OS and its utilities can be stored on a GiB device that is roughly 130 times faster than a hard disk! For a lot more dollars, there are now 64 GiB USB drives in development. c)Even though the ASIC buffers the serial data so that 128 bit blocks can be written per cycle, the USB 2.0 transfer speed (60 MB/s) vastly exceed maximum EEPROM write speed of 1 MB/s. d)Thus, USB drives have the ability to offer 3-10 second boot up times for an OS. Also, there are "live USB disks" which allows one to move the entire OS from computer to computer. f)Bad News: Even though individual bytes may be read from an EEPROM, write cycles operate on blocks of data. Thus, EEPROM drivers buffer individual bytes as much as possible before a write cycle and frequently written blocks are noted and moved to spread write-cycle wear and tear equally among all blocks. g)Good News: USB drive ASIC firmware contain the wear-leveling algorithm. Also, the ASIC firmware presents the old Microsoft File Allocation Table (FAT) format to the USB device driver. Although the FAT format leads to fragmentation with high capacity USB drives, it is still a good choice in that every OS has a "FAT backend" for its file manager. Thus, if a USB drive is loaded with an operating system kernel and many of its read only binary programs such as the shell, libc, /bin and /sbin utilities, then USB drives should offer significant OS speed up for the life of the computer (five or so years). h)Microsoft Windows Vista calls this ReadyBoost. See: http://www.simonf.com/usb/ http://en.wikipedia.org/wiki/Asic http://en.wikipedia.org/wiki/USB_flash_drive