On Tue, Jul 3, 2012 at 8:33 PM, Tony Duell <ard at p850ug1.demon.co.uk> wrote:
When I looked (after it was hyped i nthe press, and
after I had to
navigate past various Rpi pages to get the bits I wanted from Farnell), I
didn't see anything to suggest that this was not the final product.
Neither in the press nor on the sites I (briefly) looked at.
I think the hardware is fixed and final, and has been for a while.
[ discussion about openness ]
DOn;t get me wrong, a piece of hardware is a physical
thing and it;s
obvious you have to pay for it. But even thought the Rpi is cheap, it's
still expensive enough that I (for one) would bot buy one unless I knew
it coule be useful. Buying things you haev no use for is simply wasting
money.
AS a result, releasing in a 'beta' version and not stating it was not
finished seems like a rather bad idea.
I see shades of history - though maybe it's a bit of an ill omen...
It's not too different from the Amiga launch. The hardware was
finished, but the firmware (Kickstart) ... not so much. Oh well,
instead of putting in ROMS, have the "firmware" be loaded from the
floppy!
Having had a look at the bootdisk^H^H^H^HSDcard creating prodcedure
(see
http://elinux.org/RPi_Advanced_Setup, section "Setting up the
boot partition") it appears the boot procedure is as follows: the GPU
loads the binary blob start.elf or one of two other similar blobs,
depending on what RAM configuration you want. Then bootcode.bin and
loader.bin are loaded, (probably binary blobs as well) which also read
the plaintext file config.txt, where hardware settings can be
specified in plaintext (core voltages, timings, etc). Then,
kernel.img (or some other file described in config.txt) is loaded
which may or may not be a linux image (without the need of compiled-in
binary blobs AFAICT).
So, the foundation can still modify the firmware simply by
distributing new blobs, and I guess that for the system to be truly
open, those three blobs need to be reverse-engineered. Again, not
dissimilar to the Amiga Kickstart, IMHO.
Joe.
--
Joachim Thiemann ::
http://jthiem.bitbucket.org