True bare Minimal code - Advanced AVR 3.0 Core Bootloader Pro Part 4 Size does matters getting naked
Size refers to the size of the minimal code size, and naked is an attribute allows the compiler to construct the requisite function declaration, while allowing the body of the function to be assembly code. The specified function will not have prologue/epilogue sequences generated by the compiler. Only basic asm statements can safely be included in naked functions. While using extended asm or a mixture of basic asm and C code may appear to work, they cannot be depended upon to work reliably and are not supported. In short, getting naked is about freedom, but being less safe.
more detail see: 6.33 Declaring Attributes of Functions
==============================
1, 0 byte is the true minimal, the MCU is doing nothing
2, 2 bytes are the forever loop minimal; the MCU is loading at address 0 forever
3, some initialization is required for the mcu and avrc, namely stack and clear r1 and sreg
4, interrupt is done manually or using polling, easy.
5, done