Are there any booting standards for ARM-based computers?

6

1

As stated in the question's title - it's common knowledge that there are standards, according to which, if you format your pendrive, fitting there an x86 bootloader and a partition with the system, you can get an x86 USB stick that will pretty much boot on any computer. Are there similar standards for computers (like laptops) with ARM processors?

d33tah

Posted 2013-03-21T22:01:40.457

Reputation: 1 014

Are you asking about Linux or any OS or kernel? – sawdust – 2013-03-22T08:36:44.453

Most preferrably, any OS. – d33tah – 2013-03-22T16:53:35.497

1"...boot on any computer" -- You really mean "any PC which is based on the original IBM PC and its BIOS". – sawdust – 2013-03-22T19:24:20.330

Answers

2

There used to be a multi-paged document on "Booting ARM Linux". Unfortunately the web link to that document is now broken, but a copy seems to be here. That doc however did not specify or advise a specific bootloader or any file/data organization on boot media.

Items that I recall were things like the kernel should be linked to execute at the start of physical main memory + 0x8000.

ARM Linux also requires a list of various memory, board and machine parameters (known as ARM Tags or ATAG list) to be passed in a memory buffer to the kernel on boot. The bootloader would be responsible for constructing the ATAGs and the kernel command line in memory buffers. ATAGs apparently has been deprecated, and replaced by the Device Tree in newer Linux kernel versions.

The bootloader was also expected to setup and initialize RAM (which implies setup of clocks/oscillators), initialize one serial port or console, and detect the ARM machine type.

Note that most ARM SoCs employ a multistage boot sequence, and the bootloader that actually loads the Linux kernel is sometimes the third-stage bootloader.

sawdust

Posted 2013-03-21T22:01:40.457

Reputation: 14 697

0

There is SBSA, specifically SBBR:

SBBR leverages the UEFI 2.4 standard and the UEFI Forum’s governance model for extending the UEFI spec as needed to enable UEFI Boot mechanism on ARM-based systems.

I've yet to see any ARM board advertising support for it yet, other than answers like “we're working on it”.

user2394284

Posted 2013-03-21T22:01:40.457

Reputation: 871

0

There are no standards. Every SoC vendor uses its own bootloader.

Alex P.

Posted 2013-03-21T22:01:40.457

Reputation: 2 592

3If you could add some context to your answers and/or provide some links it would make your answer more helpful – Shekhar – 2013-03-21T22:57:25.440

@Shakehar, I have seen bootloader code from 3 major SoC vendors. All 3 of them are different (use different internal data structures/etc) - that much context I am willing to disclose. If you have more information - please post your own answer. – Alex P. – 2013-03-22T00:38:20.200

2I wasn't challenging your answer, the suggestion was just to improve the quality of answer by making it more informative for people who later on stumble upon this thread – Shekhar – 2013-03-22T01:56:55.150