Backup
In information technology, a backup or the process of backing up is making copies of data which may be used to restore the original after a data loss event. -- Wikipedia:Backup
Here we describe backup for the OLPC XO, from an individual standpoint. For school based backup solutions, refer to the School Server.
An XO internal storage contains:
- your Sugar Journal,
- your GNOME files,
- the Sugar activities installed,
- the GNOME, Sugar and Linux operating system.
To backup and restore your Journal only, either drag and drop entries to a USB drive, or use the Sugar Backup and Restore activities available from the Sugar Activity Library.
To backup and restore your GNOME files only, drag and drop to a USB drive.
To backup everything on the internal storage, use this page. This is called a full backup, or an image backup. By making a backup of everything on the XO, you can later restore to recover from a mistake or disaster. However, everything changed since the last full backup is lost.
Backup is also useful for testing of different software builds; make a backup, test the other build, restore the backup.
Backup is not an easy method for cloning, because there are unwelcome side effects of restoring a backup on another laptop.
Backup is not an easy method for reversion to as-installed state, because it is so slow compared to the alternatives. See Reversion.
XO internal storage has changed over time, to keep costs down. There are sections below depending on what model of XO you have:
There is no documentation here yet for XO-1.75 backup.
XO-1
The internal storage of an XO-1 is 1GB of non-removable NAND Flash memory.
Preparation
You will need:
- an unsecured XO-1 laptop to be backed up, (if your laptop is secured, get a Developer key and disable security),
- a USB drive with at least 1GB free space,
- from 10 minutes to 3 hours (depending on your luck and skill).
Backup
Some of these steps are optional, included to boost reliability and confidence. Press the [enter] key after typing commands at the 'ok' prompt.
- Reflash to Q2F05 or later, for the best USB support,
- Ensure the USB drive is formatted as FAT or FAT32 or VFAT. Factory-formatted devices are apparently preferred or least troublesome.
- Ensure there is at least 1 GB (1024 MB) of free space available on the USB drive.
- Insert your USB drive into one of the USB ports on the XO.
- Start or restart your XO, while holding down the (X) Escape key at upper-left of the keyboard. This should get you to the OpenFirmware Ok prompt. (This won't work if the laptop is secured)
- (optional) At the OFW 'ok' prompt, type: probe-usb
- (optional) Ensure your USB drive shows up as a USB2 device. USB1 is too slow. (Compare the output of probe-usb with and without the USB drive plugged in.)
- (optional) Type: disk-free u: to see if there is enough free space. A full XO-1 requires 1 GB space on the USB drive. A half-full XO-1 requires about 500 MB. You can estimate that amount of space you need by typing scan-nand and looking at the relative percentage of green (used) vs. blue (unused) squares. If you need to free up some space on the USB drive, you can delete files from OFW with, for example, rm u:\myfile.xyz. You can also use wildcards, as in rm u:\*.img
- Type: save-nand u:\backup.img
(The filename 'backup.img' may be something else such as 'my759bak.img'; use a short 8.3 format filename, and stay with the .img extension.) - Wait anywhere from a few minutes to a few hours as the XO copies its internal storage over to the USB drive. A graphical display of blocks will be shown, with the current block indicated. Below the blocks is a hexadecimal block count, which will count from 0 to no more than 1FFF, at a varying speed. When finished OFW will report 'Done' and report the name of a CRC file such as 'backup.crc'.
- Type: dir u: (if you wish to see the final contents of USB drive).
- Remove the USB drive. Your backup is now complete.
- You may copy the two files 'backup.img' and 'backup.crc' from the USB drive onto some other media, such as another computer, for redundant backup or to free your USB drive for other uses. Always keep the two files together.
Restore
Warning: restoring a full backup erases everything that is on the XO, restoring it to the state it had when the full backup was made.
- Start your XO, while holding down the (X) Escape key at upper-left of the keyboard. This should get you to the OpenFirmware 'ok' prompt.
- Insert your USB drive into one of the USB ports on the XO.
- At the OFW 'ok' prompt, type: probe-usb
- Ensure your USB drive shows up as a USB2 device. USB1 is too slow.
- Type: dir u:
- Verify that your desired '.img' and '.crc' files are there.
- Type: copy-nand u:\backup.img
- Wait until done, then remove the USB drive, then restart your XO!
Notes
This procedure becomes easy after you have done it 3 times.
Some USB drives work better than others. USB hard drives are the best. USB Flash drives vary considerably, across brands and based on age. Backups in the 10-minute range for half-full XO's are achievable. If save-nand is too slow, then try a different USB drive. Default factory-formatted USB Flash drives are reported to work better than devices that have been reformatted, for example by a Windows PC. If you have a USB Flash drive that is working well with your XO, try to avoid ever reformatting it; delete files using file delete commands rather than device format commands. FAT filesystems with large cluster sizes (like 16 KiB) are particularly efficient for this purpose. (Don't use ext2 filesystems if your OFW version is Q2E15 or earlier; the OFW write support for ext2 in those versions is buggy and inefficient.)
There are variations possible, for example using an SD flash memory device (use sd: instead of u: for the OFW commands). But a USB drive will generally be more convenient.
Accessing individual files from a backup.img file generally requires you to restore the entire backup to your XO. Albeit complicated, you could also access individual files using the procedure described on the Image forensics page, to mount your image and recover individual files.
OpenFirmware is designed to be simple, reliable, and powerful, but not idiot-proof. Using the recipe given above will usually work well. Deviations could make trouble or confusion unless you know what you are doing. You have been warned!
Timings
Made with Q2F05.
- USB hard drive, save-nand, 177sec,
- USB hard drive, copy-nand, 245sec,
Another approach
You can boot a different Linux distribution from a USB drive, mount the XO-1's NAND file system, then use a backup utility such as the tar command to back up its files.
This is similar to what the xo-backup command in the XO version of Tiny Core Linux does, although that is specific to the #XO-1.5.
XO-1.5
The January 2011 release of the XO-1.5 Tiny Core Linux build contains three scripts for backup and restore.
Disable Security
Most XO-1.5 laptops have security disabled by default. This procedure requires security to be disabled.
Prepare USB drive
- select a USB drive of at least 128 MB, which will contain Tiny Core Linux,
- download microcore-3.4-xo-1.5-2011-01-06.tar (10 MB) to a USB drive and expand it. See detailed instructions if you need more.
That's it. You can delete the .tar file if you don't need to keep it. You will see a folder boot with three files; vmlinuz, initrd, and olpc.fth. OpenFirmware reads the olpc.fth file when the laptop turns on, and this file directs it to load vmlinuz and initrd, which contain the rest of Tiny Core Linux.
Shutdown
Shutdown the laptop in the usual way. This is so that it can be booted from the USB drive.
Start Tiny Core Linux
- insert the USB drive into the laptop,
- start the laptop, you will see a white screen, then a black screen with a penguin, then a prompt;
root@box:~#
At this point you may remove the USB drive if you do not need it for the next step.
Backup
- insert a USB drive of at least 4 GB capacity, (the backup should not be larger than the size of the internal microSD card, which in most cases is 4 GB, but may be as small as 1.4 GB if there is very little added content or activities on the laptop),
- start the backup by typing xo-backup then press enter;
root@box:~# xo-backup ok root@box:~#
- when the ok is displayed, it means the backup has completed properly.
It usually takes ten minutes for a USB flash drive, and five minutes for a USB hard drive. It will take longer if you have added activities, downloads or documents to the laptop.
Remove the USB drive, and look at it with another computer; the backup is in a file xo.tar. You may wish to copy it to other media for safekeeping. Also copy Tiny Core Linux and these instructions, since you may need both to restore.
Restore
WARNING: this destroys all data on the internal microSD card.
- either leave the USB drive in place, or insert another USB drive instead, one with an xo.tar file on it from the backup step above,
- start the restore by typing xo-restore then press enter;
root@box:~# xo-restore ok root@box:~#
- when the ok is displayed, it means the restore has completed properly.
It usually takes between 22 and 40 minutes to restore, depending on the size of the backup, and the speed of the microSD card. The microSD card is usually much slower at writing than reading.
Repartition and Restore
WARNING: this destroys all data on the internal microSD card.
This creates the partition table again on the microSD card. This should only be necessary if the partition table on the microSD card is incorrect. Do this before xo-restore. Like so:
root@box:~# xo-repart ok root@box:~# xo-restore ok root@box:~#