it's not clear for what
Memory: 5913K kernel code
Memory: 193K rwdata
Memory: 1312K rodata
Memory: 184K init
Memory: 184K bss
This accounts for the majority. Where do you expect the kernel to go, exactly?
In that snapshot, it reserves 8Mbyte while the binary size of kernel is 6Mbyte.
+2Mbyte of available ram would be precious to contain second running services, and since I can't modify the hardware, I am doing a lot of things to free more ram.
For instance I hacked the kernel and removed a lot of lines of dead/unused code, and recompiled everything with -Os. I also removed the FPU emulation, saving more Kbyte.
I need static kernel, I cannot use loadable modules (there is a reason, long story), anyway the new kernel is about 3.9Mbyte of ram instead of the 9.5Mbyte of the fist attempt.
3.9Mbyte is << power of 2, but still I have 8Mbyte of reserved ram, and it's not clear for what