If I load the pro mini 3.3 8Mhz boot loader onto a 328 TQFP do I need an external 8Mhz crystal with that boot loader? If I want to run on the internal clock what which boot loader would I use?
The clock source is set by the bottom four bits of Fuse Low Byte. The the top bit of FuseLowByte is the CKDIV8 but which, when programmed (0) sets the initial clock divider to 8. The factory default for Fuse Low Byte is 0b01100010 (0x62): Calibrated (8MHz) Internal RC Oscillator and set the pre-scaler to 8 for a resulting default of 1 MHz.
The "LilyPad Arduino w/ ATmega328" and "Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328" both have bootloader.low_fuses set to 0xFF which selects a prescale of 1 and a "Low Power Crystal Oscillator, 8-16 MHz"
To try the Calibrated (8MHz) Internal RC Oscillator, change the bootloader.low_fuses to 0xE2 and re-burn the bootloader.