URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9858
[ Назад ]

Исходное сообщение
"Процесс загрузки на ARM (allwiner a20)"

Отправлено anonymous , 03-Май-14 22:45 
Доброго времени суток, прошу кого-нибудь сведущего в данных вопросах прояснить ряд моментов по загрузке allwiner soc'ов (в частности, интересует A20):

- Если загрузка происходит с SD карты, участвует ли NAND в ней?
На linux-sunxi.org несколько противоречивая информация.

- Есть ли более подробное, вместе с этим, доходчивое объяснение процесса загрузки?
http://linux-sunxi.org/Boot_Process это как бы достаточно куцая информация, при этом, масса концепций незнакомы (SPL, eGON BROM) при этом тот же SPL редиректит на страницу u-boot.

- Есть ли описание формата uEnv.txt?

Не касаемо загрузки, какой правильный формат описания triplet'а для кросскомпиляции, почему в дебиане пишут armhf, в дженте - armv7a-hardfloat-linux-gnueabi, а еще где-то - gnueabihf? И все это касается только hardfloat части, если я правильно понимаю.

С рядом концепций на ARM архитектуре я худо-бедно познакомился сам, но если есть хорошие гайды/книжки "с азов" ARM, был бы очень благодарен, заранее спасибо.


Содержание

Сообщения в этом обсуждении
"Процесс загрузки на ARM (allwiner a20)"
Отправлено EL , 05-Май-14 16:56 
> - Если загрузка происходит с SD карты, участвует ли NAND в ней?

Нет не участвует

> - Есть ли более подробное, вместе с этим, доходчивое объяснение процесса загрузки?

Сам пытаюсь разобраться, но последовательность - сначала загружается boot-image, он уже загружает SPL который позволяет грузить что-то внятное, дальше считывается онисание железа из бинарника который генерится из текстового файла и грузится ядро специально сформированное под загрузчик.

> - Есть ли описание формата uEnv.txt?

root=/dev/....
extraargs= опции ядра через пробел больше пока не нарыл

> Не касаемо загрузки, какой правильный формат описания triplet'а для кросскомпиляции, почему

Не пользуюсь, собираю в chroot alpinelinux armhf qemu-arm.static, вроде все живет.

> С рядом концепций на ARM архитектуре я худо-бедно познакомился сам, но если
> есть хорошие гайды/книжки "с азов" ARM, был бы очень благодарен, заранее
> спасибо.

Тоже был бы непротив ))



"Процесс загрузки на ARM (allwiner a20)"
Отправлено anonymous , 05-Май-14 22:56 
> Нет не участвует

Т.е. "окирпичить" плату в принципе задача практически нереальная, даже если натворить делов с NAND, верно понимаю?
Меня просто несколько ввели в заблуждение данные на этой странице: http://linux-sunxi.org/Installing_to_NAND

> Сам пытаюсь разобраться, но последовательность - сначала загружается boot-image, он уже
> загружает SPL который позволяет грузить что-то внятное, дальше считывается онисание железа
> из бинарника который генерится из текстового файла и грузится ядро специально
> сформированное под загрузчик.

Про SPL наиболее внятное объяснение что удалось найти:
Das u-boot SPL is open-source firmware that gets loaded when the device is being powered on, and it is mostly responsible for kickstarting u-boot, which on its own is responsible for setting up a proper environment for the kernel and loading the kernel.

Из этого объяснения получается что сначала spl (boot0), затем некий boot1, который уже прочтет u-boot с sd/nand, который запустит ядро.


"Процесс загрузки на ARM (allwiner a20)"
Отправлено EL , 06-Май-14 19:10 
>> Нет не участвует
> Т.е. "окирпичить" плату в принципе задача практически нереальная, даже если натворить делов
> с NAND, верно понимаю?

Практически не реально. Есть еще один хитрый FEL режим загрузки через USB  и специально заточенный под это u-boot.

>[оверквотинг удален]
>> загружает SPL который позволяет грузить что-то внятное, дальше считывается онисание железа
>> из бинарника который генерится из текстового файла и грузится ядро специально
>> сформированное под загрузчик.
> Про SPL наиболее внятное объяснение что удалось найти:
> Das u-boot SPL is open-source firmware that gets loaded when the device
> is being powered on, and it is mostly responsible for kickstarting
> u-boot, which on its own is responsible for setting up a
> proper environment for the kernel and loading the kernel.
> Из этого объяснения получается что сначала spl (boot0), затем некий boot1, который
> уже прочтет u-boot с sd/nand, который запустит ядро.

SPL - Second Programm Loader, затем уже u-boot и тд. Есть еще IPL - Initial Programm loader, которое какраз и загружается со-старта, но  вот с этим совсем непонятно, но оно похоже не c SD/NAND стартует. Я с этим особо не заморачивался, просто собрал u-boot и залил уже готовый u-boot+spl.img.