DuaneB:
Strongly recommend optiLoader, have used it program ATMega8's.You can use the same breadboard wiring as used in the ArduinoISP tutorial, use the version withe crystal, the bootloaders in optiLoader are design for boards with a crystal.
I've given optiLoader a try with apparent success as follows:
OptiLoader Bootstrap programmer.
2011 by Bill Westfield (WestfW)Target power on! ...
Starting Program Mode [OK]Reading signature:950F
Searching for image...
Found "optiboot_atmega328.hex" for atmega328P
Start address at 7E00
Total bytes read: 502Setting fuses for programming
Lock: 3F FFE000 Low: FF FFA000 High: DE FFA800 Ext: 5 FFA400Programming bootloader: 512 bytes at 0x3F00
Commit Page: 3F00:3F00
Commit Page: 3F40:3F40
Commit Page: 3F80:3F80
Commit Page: 3FC0:3FC0Restoring normal fuses
Lock: 2F FFE000Target power OFF!
Type 'G' or hit RESET for next chip
Only problem is that if I then take the bootloaded target and install it into my Arduino Duemilanove board I get the following error when attempting to then load a normal sketch.
avrdude: stk500_recv(): programmer is not responding
I'm using Arduino IDE 1.0 under MacOSX 10.6.8.
This seems to suggest the optiLoader bootstrap is incompatible with IDE 1.0.