So now I'm looking at start.elf and wondering why I need 2Mb to flash the screen in pretty colours for about 1/10th of a second before my OS takes over.
Has anyone looked at removing/stripping down start.elf?
start_cd.elf is 550kb for 16MB split.
The 2MB start.elf contains a multitasking kernel (ThreadX) and implementations of OpenGL ES / OpenVG (~500k), codecs (50-500k each) - its pretty compact by modern standards. I'd estimate about 200-400k semicolons (lines of live code) assuming a line of code in C generates an average of 4 VideoCore instructions with an average density of 3 bytes per instruction. (Although I see the figure 5m lines of code bandied about - but it's easy enough to do the math).
Some of us boot with a minimal custom bootcode.bin - but no ARM yet, just a toy at this stage. If you look on my GitHub or join #raspberrypi-internals you can learn more. There is a build of binutils for VideoCore in development etc.
I'm focussing on integer vector / multimedia kernels, hopefully we will get some more information out soon. We are always looking for more hands on deck.