After some intensified research, I am pretty sure, that my desired OTA (MySensor sketch directly to MCU flash without requiring external flash (DualOptiBoot requires flash) and being transport-agnostic (not MYSBootloader uses RF24)) with a 2560 can be done with the optiboot-fork bootloader by MCUdude (for the ATMega 2560 the variant is called "MegaCore", see https://github.com/MCUdude/MegaCore/). The MegaCore provides some macros for the SPM (storage programable memory) functions, which are passed to the bootloader like __boot_page_fill_short, __boot_page_write_short and __boot_page_erase_short. The repository comes with precompiled bootloaders as .hex files and a nice Arduino GUI integration (see wiki). My next step is to integrate the example sketch SerialReadWrite.ino into MySensors/core/MyOTAFirmwareUpdate.[c|h]. Currently I am still a bit confused about the used defines. As far as I understand the #define MCUBOOT_PRESENT represents the MySensors bootloader by Tekka, the #else or #ifndef MCUBOOT_PRESENT branches are for the DualOptiboot bootloader (which is somehow deprecated). It looks like several defines are declared in #include "generated_dts_board.h", but I cannot find the file. Also there must be some kind of #include towards the dualoptiboot or mysensors specific bootloader header files, right?