36

The Boot Order of the Raspberry Pi Is Unusual

> This explains several Raspberry Pi oddities:

> The Raspberry Pi has No BIOS / UEFI

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

3 days agomesse

Also, there is UEFI firmware for it.

https://0ink.net/posts/2024/2024-07-01-pi-uefi-boot.html

3 days agobaobun

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

3 days agooddmiral

Have you checked out uboot?

https://u-boot.org/

3 days agobaobun

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?"

3 days agofranga2000

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

3 days agoM95D

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

2 days agoChickeNES

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.

2 days agojoezydeco

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

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

2 days agohulitu

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

3 days agodmitrygr

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.

3 days agoatoav

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

2 days agoJoker_vD

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.

2 days agonineteen999

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.

3 days agoJohnBooty

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

3 days agoyunohn

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.

2 days agoValdikSS

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).