I suggest building the FI2 file using the normal CHDK build process, as I did in the SX200 thread linked earlier. The binary used to make the FI2 is the same one used to make DISKBOOT.BIN (in older cameras diskboot is just a raw binary, but in newer ones this is encoded with a different encoding than FI2 files)
ISTR the camera will reject incorrectly encoded FI2 files. You can verify this easily by randomly changing your FI2 key and seeing what happens. You also need to use the correct platformid with your FI2.