Just a quick hint, didn't see this anywhere in the documentation or in the forums, so hope this helps.
Reference (20MHz core):
When you have a piece of custom hardware in your <sketch folder>/hardware/<board type>/boards.txt, sometimes you just want to use an existing Arduino core. Documentation hints about the <board name>.build.core=<board type>:<core folder> format, but you also need to do the same thing for <board name>.build.variant=<board type>:<variant folder> to allow it to find the correct pins_arduino.h file.
This should be added to this tutorial: http://arduino.cc/en/Tutorial/ArduinoToBreadboard
Took a while before I randomly found this post after not being able to get the breadboard without crystal section of that to work. With the variant line from the above post it works nicely.
This post saved me a ton of time and trouble. Upgraded from arduino .22 to 1.01 and sketches were not compiling anymore with the somewhat cryptic line "pins_arduino.h: File not found". Added this variant line to my boards.txt file in the hardware folder and solved. Thanks for posting.
"Documentation hints about the <board name>.build.core=<board type>:<core folder> format, but ... "
What documentation? Can you give me a pointer to what you read? I still don't understand the structure.
... but you also need to do the same thing for <board name>.build.variant=<board type>:<variant folder> to allow it to find the correct pins_arduino.h file.
@macegr, you just saved me from wasting a huge amount of time! I was writing the parameters of my new board and I put a damn underscore in the name of the variant folder (archiduino_1284 instead of archiduino1284). Your hint made me less blind for a while ;)