Как указано в заголовке вопроса - общеизвестно, что существуют стандарты, в соответствии с которыми, если вы отформатируете свой pendrive, поместив туда загрузчик x86 и раздел с системой, вы можете получить USB-флешку x86, которая будет в значительной степени загружаться на любой компьютер. Существуют ли аналогичные стандарты для компьютеров (например, ноутбуков) с процессорами ARM?
2 ответа
Раньше был многостраничный документ "Загрузка ARM Linux". К сожалению, веб-ссылка на этот документ теперь не работает, но копия, похоже, здесь. Однако в этом документе не указывался и не указывался конкретный загрузчик или какая-либо организация файлов / данных на загрузочном носителе.
Элементы, которые я помню, были такими, как ядро, которое должно быть связано для запуска в начале физической основной памяти + 0x8000.
ARM Linux также требует, чтобы список различных параметров памяти, платы и машины (известных как метки ARM или список ATAG) передавался в буфер памяти ядру при загрузке. Загрузчик будет отвечать за построение ATAG и командной строки ядра в буферах памяти. ATAGs, по-видимому, устарела и заменена деревом устройств в новых версиях ядра Linux.
Предполагалось также, что загрузчик настроит и инициализирует ОЗУ (что подразумевает настройку часов / генераторов), инициализирует один последовательный порт или консоль и определит тип компьютера ARM.
Обратите внимание, что большинство SoC ARM используют многоступенчатую последовательность загрузки, а загрузчик, который фактически загружает ядро Linux, иногда является загрузчиком третьей ступени.
Там нет стандартов. Каждый поставщик SoC использует свой собственный загрузчик.