AVR Toolchain
In order to compile and flash, you're going to need the following packages.
(assuming an Ubuntu install)
AVR headers / compiler opimisations / binutils : gcc-avr and binutils-avr
Image flashing software : avrdude
Physical programmer : usbasp or buspirate
Programmer to chip connection : home made programming interface