pawlu wrote:Does this firmware, alternative to BIOS, applies to all other open source hard ware , not just Raspberry pi ?
It's specific to the BCM2708 & BCM2709 SoC chips used on the A/B/B+/A, CM, 2B & 0. It's closed source that's proprietary to Broadcom and as far as we need to know it does the following:
1. looks for the first primary FAT/FAT32 partition on the SDCard
2. Reads config.txt from there (if it exists)
3. Starts the GPU with the parameters from config.txt
4. Loads kernel.img or kernel7.img (unless there's an override in config.txt)
5. Starts the ARM processor running the kernel, passing the contents of cmdline.txt as a kernel parameter plus a few extra parameters that are generated from the GPU. (cat /proc/cmdline to see those.)
That kernel can be Linux, RiscOS, Win10IoT, BSD or something you've written for bare metal or anything else that can run on a single core ARM6 (A/B/B+/A+, CM or 0) or on a four core ARM7 (2B).
Everything is loaded from the SDCard. All the dumb chip can do for its bootstrap loader is read firmware from a FAT formatted partition #1 on /dev/mmcblk0.