I simply use arduinoISP to burn a custom leonardo bootloader, its really no different then bootloading any other Arduino.
You can also use DFU if it hasnt been overwritten. For reference Caterina contains the Blink sketch as well, this makes sure the Leonardo shows up as its designated PID instead of the sketch load PID, and is why it seems like a rather large bootloader file.