I understand bootloader functionality and have updated a few older Pro Mini boards to the optiboot version using ICP.
I'm under the belief that one cannot load a new bootloader using the bootloader already installed on a board**.
If all that is true, then what function does the IDE option "Burn Bootloader" do?
And if I'm not correct about the not being able to install a bootloader with a bootloader is there a possibility of using the "Burn Bootloader" option to install an optiboot bootloader?
** I believe it might be possible to load a program the over writes the boot loader but I think this may be limited by a fuse or two.
Burn a boot loader using a programmer, not via the USB cable.
There is no difference between burning a boot loader via ICSP or a program via ICSP. To my knowledge, the only additional action when you burn the boot loader is the setting of the fuses.
Yes. This is exactly what happens if you do a "Burn Bootloader" with Tools > Board > Arduino AVR Boards > Arduino Uno selected. Same with Arduino Nano, provided you have Tools > Processor ATmega328P selected.
As for other microcontroller models, Optiboot is most easily installed on most AVRs by installing the relevant MCUdude or DrAzzy (SpenceKonde) boards platform in the IDE, after which it's just the normal "Burn Bootloader" process to get Optiboot on your chip!