eeebackup - Simple EeePC Backup System ====================================== Version: ??? Released: ??? Contact: gfoot@users.sf.net Disclaimer ---------- Use of this software is at your own risk. I don't accept any liability for data loss for any reason, including bugs in the backup and restore code or the bootstick generator. If you're using this software for mission-critical purposes, you should perform your own thorough testing first, and preferably audit the code as well. I strongly recommend verifying your backups after making them, if you care particularly about whether they're restorable. It takes much less time to verify than it does to back up. Introduction ------------ This is a relatively simple-to-use system for backing up your EeePC's solid-state disk to USB devices or SD cards. As it stands, it's functional for basic backups, but lacks more intricate features - see future.txt for a brief list of future plans. The current functionality does allow you to take full drive images, partition images, and MBR images, and check and restore these images. The backups it takes are standard gzip archives of pure device images, so you can restore them by hand easily using gzip and dd (which are both provided on the bootable USB stick, for convenience). Due to its immaturity, the app doesn't trap errors well, so odd circumstances can cause it to exit abnormally, or spew errors to the screen. I have tried to cover common errors though, such as mount/unmount errors and loss of device (pulling out the USB stick). Aside from serious programming errors, the only chance of data loss due to bugs should be if you falsely rely on a backup being complete and restorable. It should be obvious whether a backup completes successfully, though, and the Compare option can be used after making a backup to verify that the backup is usable and does represent the apparent state of the disk (though clearly if there are consistent bugs in the disk reading code, this won't find them). Other than that, an error during restoring would leave the disk contents unusable, but a further restore should fix that, and if the UI crashes consistently then a manual restore from the command prompt should still work. Installation ------------ This backup system needs to be installed to a USB stick, USB drive, or SD card. It must be insalled to the first partition, which needs to have at least 10MB of free space, but other details of partitioning are irrelevant - the partition type and active flag shouldn't matter, for example. The new distribution format is as an executable archive - you don't need to manually unpack it anywhere, just execute the archive and you'll get a UI to choose installation options. If you do want to be manual, then after running the executable archive, you'll have some files in /tmp/eeebackup - from there, run: sudo ./mkbootstick.sh /dev/sdb1 assuming that the device you want to install on is /dev/sdb, and you want to use the first partition (others won't work, anyway). Use "mount" to check currently mounted partitions, to find out which disk is which. After setting up the USB device like this, reboot and press Esc as soon as you see the first Asus splash screen. You should be presented with a menu by the BIOS, from which you can select your USB device. I strongly recommend disconnecting other devices before continuing, until you get to the backup system's own menu. Otherwise you may have boot errors (kernel panics, unable to find init, etc). General usage ------------- If you want to preview things, you can run the program without rebooting, by going to the /tmp/eeebackup/eeebackup directory and running: sudo ./Startup.py You can go through the motions from there, but don't expect backups of mounted partitions (particularly /dev/sda2) to be usable - and don't try to restore any backups to mounted partitions (including /dev/sda1). To do anything useful to the built-in solid state disk, you really need to boot from your USB stick. From the main menu, you should be able to work out how to use the system. Backups and Compares don't prompt you before starting, but they're fairly harmless anyway. Restores do warn you, though, as they will destroy data if you do them to the wrong device! All operations in progress are cancellable, by pressing any key, but it can take some time for this to filter through the pipelines, so be patient. Compression ratios ------------------ I'm running gzip at its lowest compression setting - trials showed that it takes much longer at higher settings, and doesn't achieve significantly better results. I was going to provide bzip2 compression, but that seems slow and again doesn't gain much, at least on that first 100MB. Backing up with these settings takes about 10 minutes for /dev/sda1, compressing it to about 920MB, and about 8 minutes for a fairly full /dev/sda2 on my machine, compressing it to about 900MB. Comparing and restoring are much faster. Closing remarks --------------- Don't rely on this for critical data without convincing yourself that it's safe, through your own testing or reading the code. I'd always recommend verifying backups after writing them, and it's good practice to periodically check that backups are restorable. Read the Tao of Backups for ten key points to consider in choosing a backup solution. If you find this software useful, please let me know, especially if you have particular feature requests. My email address is at the top of this document.