Using an Arduino board(Duemilanove) to burn the bootloader onto an ATmega328P on a breadboard (w/o an external clock). the status bar displayed a message"avrdude: Expected signature for ATMEGA328P is 1E 95 0F. Double check chip, or use -F to override this check."I'm afraid the hardware configuration archive(http://arduino.cc/en/uploads/Tutorial/breadboard.zip) is only for ATmega328,not for ATmega328P.So,is there any other way to fix the problem?(I use a minimal configuration on a breadboard like the picture show)

Make life easy on yourself, buy a 16MHz resonator or Crystal and capacitors. The few pence/cents/klebis/whatever a resonator costs is nothing against the immense pain of leaving behind the standard frequency and fuse settings......

I'm reckon you don't have a 328P there. Perhaps you have a 328? If so try _temporarily_ editing the SIG3 byte in the appropriate section of avrdude.conf to match your chip's 3rd signature byte. Check the full 88/168/328 datasheet for the signatures of each variant.

There may be a matching entry already in avrdude.conf in which case you should just need to add an entry in boards.txt to select it as the mcu... Restart the Arduino software after editing boards.txt