The Boot Order of the Raspberry Pi Is Unusual

Posted by 0o_MrPatrick_o0 4 days ago

Counter36Comment18OpenOriginal

Comments

Comment by messe 4 days ago

> This explains several Raspberry Pi oddities:

> The Raspberry Pi has No BIOS / UEFI

This isn't really that strange for an ARM SoC.

Comment by baobun 4 days ago

Comment by oddmiral 4 days ago

Can this UEFI firmware be ported to other ARM devices, e.g. phones, tablets, books?

Comment by ChickeNES 4 days ago

Yes, it's just a port of the EDK2 UEFI reference firmware

Comment by baobun 4 days ago

Have you checked out uboot?

https://u-boot.org/

Comment by franga2000 4 days ago

Doesn't everything under the sun boot with uboot? Uboot is usually what people want to replace when they say "why can't this just run UEFI?"

Comment by M95D 4 days ago

I have yet to find a valid reason for UEFI to replace u-boot, or UEFI to exist at all.

Comment by joezydeco 4 days ago

I've worked on bootloaders for multiple ARM SoCs and each one has their own charms, their own quirks, and their own hair-pulling features. I wouldn't touch Broadcom parts with a ten-foot pole but, thankfully, they don't want to work with me either so we're cool.

TI and NXP are probably the better choices. 3358/Beagle still looks for a IBM PC/MSDOS-era Master Boot Record at the start of flash when strapped the normal way, which is charming. Most allow for UART bootstrapping when nothing else is available, which is a lifesaver. I do wish more parts picked up the USB-UF2 bootloading method that Pico has created. THAT is awesome.

Comment by hulitu 3 days ago

> This isn't really that strange for an ARM SoC.

When a lot of people call them "PC"s, it is.

Comment by dmitrygr 4 days ago

How can one "discover" something well documented in the datasheet, and on google https://forums.raspberrypi.com/viewtopic.php?t=266130, https://www.google.com/search?q=raspberry+pi+boot+chain

Comment by atoav 4 days ago

As an electrical engineer: you'd be surprised how many people "discover" long held truths like that you can use the MPN ("Manufacturer Part Number") of a device to find it's documentation and that this documentation sometimes contains useful data.

Comment by Joker_vD 4 days ago

It's everywhere. Just recently (a couple of months ago) on HN there was a story about an SQLite-but-rewritten-in-Rust [0], how they've discovered some peculiarity in SQLite file format by reading its source code. Except, of course, this peculiarity has been documented for decades, on SQLite's official site. How did they manage to write SQLite-compatible DBMS without reading the official documentation of the file format, I have no idea.

[0] https://news.ycombinator.com/item?id=45059888

Comment by nineteen999 4 days ago

It does not bode well when you're writing a database engine and not revealing any bugs ... because all your test datasets are under 1GB.

Comment by JohnBooty 4 days ago

I don't think the author was presenting it like some kind of "new to the world" discovery. It was just something they recently learned.

Comment by yunohn 4 days ago

The blog post from OP is mostly AI generated - quite a few tells in the style of writing.

Comment by lproven 3 days ago

The firmware in question being Microsoft's ThreadX. This was made FOSS a few years back but that doesn't help with the Pi.

https://www.theregister.com/2023/11/28/microsoft_opens_sourc...

Comment by ValdikSS 4 days ago

Well, "Traditional PC Boot" is also not like that on Intel, the booting is started from the chipset, from Intel ME. It boots the CPU.

Comment by ValdikSS 4 days ago

And on many other platforms the CPU also does not boot itself. Many SoCs have a small core which configures and boots all the other cores (usually Cortex-M or similar).