This HOWTO results from experiments on one computer. No doubt you will find some directories or files you need to back up in your first stage backup. I have not dealt with saving and restoring X on the first stage, nor have I touched at all on processors other than Intel.
I would appreciate your feedback as you test and improve these scripts on your own computers. I also encourage vendors of backup software to document how to do a minimal backup of their products. I'd like to see the whole Linux community sleep just a little better at night.
Volunteers are most welcome. Check with me before you start on one of these in case someone else is working on it already.
A partition editor to adjust partition boundaries for a different hard drive, or the same one with different geometry, or to adjust partition sizes within the same hard drive. A GUI would probably be a good idea here. On the other tentacle, the FSF's parted looks like it will fill part of the bill. It does re-size existing partitions, but with restrictions.
make.fdisk currently spits out one script. Separate out the mount commands to another script, so you can run make.dev.hda, then reboot to do some other mischief, like build a partition for some exotic OS I've never heard of, or run parted, then reboot to tomsrtbt, mount all the Linux partitions, and continue.
make.fdisk currently only recognizes some FAT partitions, not all. Add code to make.fdisk to recognize others and make appropriate instructions to rebuild them in the output files.
Similarly for ext3 partitions. ext3fs is the journaling version of ext2.
For FAT12 or FAT16 partitions we do not format, write zeros into the partition so that Mess-DOS 6.x does not get confused. See the notes on fdisk for an explanation of the problem.
The second stage backup and restore scripts currently use gzip for compression. They could benefit from using bzip2 instead. This change will require saving the libbz2* libraries in /usr/lib instead of libz.
Make a script for putting ext2/3 file systems on ZIP disks.
Translations into other (human) languages.
Find out how loadlin or similar programs affect this process.
Changes for GRUB
Change the scripts to use a CD-ROM. A CD-ROM that would boot to tomsrtbt, with the first stage restore data on the rest of it, would be just the ticket.