if I can burn the boot loader to any micro-controller?
A bootloader needs to be pretty strongly customized for the particular microcontroller that it will run on, but not extensively modified. So, for example, ATmega88, ATmega168, and ATmega328 are very similar microcontrollers, but they need separate bootloader .hex files because the bootloader is located at different memory locations, just because of the different sizes of memory. The ATmega8 is somewhat different from the ATmega88, because it's an older chip and has a slightly different UART. And so on.
A lot of the time, these differences are handled in the source code, so that (for example) Optiboot can be built for quite a few different chips. But you do have to do the special build, or find one that has already been built for you (ie MightyCore.)