How do you generate a bootstrap.dat file? I think it's just a renamed blk0001.dat file, but I can't find any references as to what it actually is other than a "binary blockchain" ....
The bootstrap.dat file contains a serialized copy of the blockchain, usually up to the latest checkpoint released for the official client.  The official bitcoin client will read this file when starting to create the blockchain without downloading it from the peer nodes.  The file will then be renamed to bootstrap.dat.old so it won't be reprocessed when the client is restarted.

A Python script used to create the file can be found here.  You will need an up-to-date pynode chain database.

If you have the Armory code, you can compile this C++ program.  This uses the blockchain data blocks created by the official bitcoin client.