Modify bootloader

Hi everyone,
I would modify the bootloader code in order to accept the firmware from ad SD card (instead of UART)
For now on Arduino Uno

I need to find the right bootloder original sorcecode,where I find it?
Then I need to modify the code and recompiling, in which ide? MPLAB, AVRstudio, ATMELstudio,...?
Then reflash it on micro (the easiest part)

Someone have already modify the source code of the bootloader?

Here you are!

SD card bootloaders have been done. Search “Arduino SD card bootloader” and several will turn up.
They’re a lot bigger than optiboot (usually about 4K)

Making an SD card bootloader is a completely different animal than an SD card bootloader. Anything to do with SD cards is painful - the SD library hides a lot of complexity under the hood...

SD card bootloaders exist though - it's a pretty common request. Only ever see posts from people asking if one exists or how to go about making one, though - never from people saying that they use them. So either they work great, or the people who originally thought they needed one lose interest....

I mean, there are two entirely separate Arduino SD card bootloaders on the top page of google results for "arduino SD card bootloader"... One even claims to fit in 2k of flash and accept serial uploads too...

Actually i didnt think to search a ready SD bootloader instead of modify the existing.
thanks for suggestion.

My very goal is:
i have a board that comunicates with a master system only by I2C for making its things.
so i want to receive the new firmware on I2C and store it in an external memory (i think a SD card or a Flash/EEprom chip).
then reset and burn the new firmware from this memory automatically.

VERY ambitious project. Have fun!

It might help to say a bit more about the project - there maybe another way ...