I've maintained these notes over a few years and have periodically updated them to keep them current with updated toolchain components, and of course, the avrdude's usb issues, along with firmware upgrade instructions. A lot of the information is found piecemeal on various sites, and I wanted to collate everything needed to get your C program onto your AVR MCU.
I stress this is just a preliminary repository. Don't ask how to invoke basic MacPorts commands, or how to set up shell environments, or how to install compilers. Don't ask for OS X Homebrew solutions - they won't be forthcoming. That said, a lot of the information might be useful in other Linux / BSD contexts. Do let me know if there's a technical oversight, or configuration option that I should reconsider, for example.
At one point I had a AVR-P40-8535-8MHz proto board, but eventually rolled my own with a minimum of support circuitry and, critically, a ZIF socket, that could be powered by the 5V from the MK2. Obviously this is a very cheap solution, and not very flexible. But the main point was getting USB -> avrdude -> MK2 talking again.