Arduino as ISP for atmega328p on breadboard: Simplify the process

I was trying to burn an sketch into an atmega328p that was on a breadboard without an external oscillator. The guide available on http://arduino.cc/en/Tutorial/ArduinoToBreadboard#.Uwkbv5U2fNM can be simplified to do this.

It would be nice to have a section for programming the atmega328p without using the bootloader ( and without removing the microcontroller from the arduino board ). I've tested it on Arduino Board UNO R3

To do this, I do the following steps: 1.- Wire the arduino with the breadboard using the following image:

2.- Edit the Example -> Arduino ISP: Change speed from 19200 to 9600 bauds 3.- Burn the modified Arduino ISP to your Arduino Board 4.- Add to hardware/arduino/avr/boards.txt the following section:

atmega328bb.name=ATmega328 on a breadboard (8 MHz internal clock)
atmega328bb.upload.tool=avrdude
atmega328bb.upload.protocol=avrisp
atmega328bb.upload.maximum_size=30720
atmega328bb.upload.speed=9600 -F

atmega328bb.bootloader.low_fuses=0xE2
atmega328bb.bootloader.high_fuses=0xDA
atmega328bb.bootloader.extended_fuses=0x05
atmega328bb.bootloader.path=arduino:atmega
atmega328bb.bootloader.file=ATmegaBOOT_168_atmega328_pro_8MHz.hex
atmega328bb.bootloader.unlock_bits=0x3F
atmega328bb.bootloader.lock_bits=0x0F

atmega328bb.build.mcu=atmega328p
atmega328bb.build.f_cpu=8000000L
atmega328bb.build.core=arduino:arduino
atmega328bb.build.variant=arduino:standard

5.- Restart the IDE 6.- Select on the boards "ATmega328 on a breadboard (8 MHz internal clock)" 7.- On preferences be sure to disable verbosity on upload 8.- Press on upload

Notes: - I've forced the burning even if the microcontroller doesn't match: ( after 9600 I added a -F ) atmega328bb.upload.speed=9600 -F

This works on Arduino 1.5.6-r2 only. If you want to burn from command line:

avrdude -P /dev/ttyACM0 -b 9600 -c avrisp -p m328p -F -U file.hex