this post was submitted on 20 Aug 2024
141 points (93.8% liked)
Technology
59429 readers
2670 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Because ARM was built to be cheap.
BIOS nowadays is basically a bootloader shim in EEPROM. The majority of the ARM ecosystem wanted flexible and cheap devices. This promoted the use of a small ROM loader burned into the device and a removal of basically all EEPROM from the SoC.
The flexibility came back through the use of a secondary bootloader layer normally stored in the devices primary storage. Most manufacturers use u-boot or coreboot on an SD card or eMMC. Android standardized this as part of their partitioning scheme. All devices have a dedicated bootloader partition housing the secondary bootloader and any additional boot artifacts.
Then phones became wildly expensive and invalidated most of this.
It already has. Most of what ARM is doing to be cheap was already pioneered by PowerPC.
ARM EBBR specifications attempt to standardize this boot flow somewhat, introducing a standard EFI shell in u-boot. This does not solve the dependency on the secondary bootloader, and it doesn't prevent people from shooting themselves in the foot. It just makes distro interactions with the secondary bootloader more standardized.