For those building a DIY board there is sometimes the need to flash a bootloader to a blank chip. For those who start with an off-the-shelf Arduino Mega this is not necessary, the standard bootloader that comes pre-installed on Arduino boards will work just fine. But for those who are assembling boards from raw components, including blank ATmega2560 chips, then a bootloader needs to placed on the chip before the firmware can be loaded.
I have attached a PDF how-to guide that describes the process, as well as the files that are needed. In addition to these resources, you will also need:
- An ISP programmer - I have tested the USBasp, the AVR ISP mkII (both available on eBay and elsewhere), as well as the Pololu USB AVR Programmer v2.1
- If you did not populate the pins for the ISP connector on your board, you will need something like the SparkFun ISP Pogo Adapter. If you did populate the ISP pins, then you don't need the pogo adapter (it is mostly useful for those who will be flashing many boards, such as the manufacturer).
- If you are building a large quantity of boards (most are not) then you may find it faster to load the firmware through the alternate Serial 1 port on the TCB (labeled "SER. 1"), instead of using the USB port. I don't think this should apply to any DIY people, but if you want to do it that way you can use the Adafruit FTDI Friend, the SparkFun FTDI Breakout, or the already mentioned Pololu Programmer (which can work both as a serial adapter and ISP programmer).
If anyone needs help with this process feel free to ask your questions here.