LINUX.ORG.RU

gcc-linaro-arm-linux-gnueabihf собирает нерабочие ядра

 ,


0

3

Пытался собрать ядро для odroid-u2 с помощью gcc-linaro-arm-linux-gnueabihf-4.8-2013.06_linux, всё замирает после этого:

Uncompressing Linux... done, booting the kernel.

Отчего оно дальше не грузится?

Грузил вот так:

fatload mmc 0:1 40008000 3.8.13; bootm 40008000

Кстати, как вычисляется эта магическая цифра 40008000?

Собирал вот так:

export PATH=/home/sources/arm/gcc-linaro-arm-linux-gnueabihf-4.8-2013.06_linux/bin/:$PATH
export CROSS_COMPILE=arm-linux-gnueabihf-
export ARCH=arm

В то же время арчевый x-tools7h без проблем всё собрал.

cast AiFiLTr0

Перемещено JB из admin

★★★★★

Не пользуйся ты прекомпиленными тулчейнами всяких гарри поттеров и линары. Шлак же. man crosstool-ng

Далее, емнип в убуте на exynos поломана загрузка uImage, работает только zImage.
Далее, 40008000 это физический адрес в хексе, куда он положит вычитанный файл с карты. Определяется он картой памяти SoC'а, по этому адресу должна быть оперативная память из которой проц может исполнять код.

AiFiLTr0 ★★★★★
()
Ответ на: комментарий от AiFiLTr0

man crosstool-ng

пробовал, вот стабильно повторяющийся результат: check_fds.c:84:1: internal compiler error: Segmentation fault

Определяется он картой памяти SoC'а

Спасибо, это важно для меня. Значит цифра всегда одна и та же для всех ядер?

true_admin ★★★★★
() автор топика

магическая цифра вычисляется на основе спецификаций на железку. Видимо, адресация начинается с 40000000. Сначала лежит загрузчик (видимо, u-boot), дальше - ядро, потом - КФС.

Сразу скажу, что эту железку я не ковырял, но процесс сборки похож на правильный.

В той плате, которую я ковырял, ядро надо было заливать по ftp. Так вот, когда заливали из-под оффтопика, загрузка останавливалась как-раз на "uncompressing linux..." Там была какая-то ошибка с crc. А если заливали из-под Linux, то все работало...

Это я к тому, что надо убедиться, что ядро точно правильно загрузилось на плату

solovey ★★
()
Ответ на: комментарий от solovey

надо убедиться, что ядро точно правильно загрузилось на плату

я гружу рабочее ядро и делаю scp в /boot (fat32) . Поэтому я уверен что оно там лежит правильно.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от devl547

После того, как я огреб кучу проблем на cortex-m3 из-за кривых рук codesourcery, и после незабываемого с секса с линаровским говном, когда собранный им gstreamer просто падал с нетривиальным ассертом, я зарекся прикасаться к этому говну.

AiFiLTr0 ★★★★★
()
Ответ на: комментарий от AiFiLTr0

Не пользуйся ты прекомпиленными тулчейнами всяких гарри поттеров и линары.

Ку-ку, досвидос!

anonymous
()

Кстати, включи в ядре еще earlyprintk, и добавь к bootargs
earlyprintk=serial

Возможно оно стартует, но падает где-то на ранних стадиях из-за какой-то хрени, которая вполне может быть следствием косяка в тулчейне. Только как отладишь это дело - earlyprintk вырубай нафиг, в обсуждениях видел жалобы, что в его реализации какой-то косяк, который может вызвать панику при штатной работе, когда оно уже загрузилось.

AiFiLTr0 ★★★★★
()
Последнее исправление: AiFiLTr0 (всего исправлений: 1)
Ответ на: комментарий от anonymous

Я взял тот конфиг который подготовили авторы порта ядра. Потом собрал с linaro тулчейном, не заработало. Тогда я сделал make clean и собрал с тулчейном с сайта archlinuxarm.org и всё сразу заработало.

true_admin ★★★★★
() автор топика

4.8-2013.06

возьми 4.7 из 2013.03

https://launchpad.net/linaro-toolchain-binaries/trunk/2013.03

Не пользуйся ты прекомпиленными тулчейнами всяких гарри поттеров и линары. Шлак же. man crosstool-ng

дебилушка, они тем же crosstool-ng собирают

anonymous
()
Ответ на: комментарий от devl547

Самые адекватные тулчейны (а что такое адекватный тулчейн?) у менторс графикс, тот который кодебенч лайт.
А линаро вечно клепает какой-то булшит, что впрочем характерно для шаражкиных контор.

Jetty ★★★★★
()

Тулчейн... Не, не нужен.

Что-то мне кажеться что на odroid-е это можно нативно собрать без всякого гемора связанного с использованием тулчейнов. Собираю для Marvell Kirkwood из под него же. Никакого гемора. Гружусь правда с SATA винта и билд ядра иногда оставляю на ночь, но зато все нативно и Ъ.

dvl36
()
Ответ на: комментарий от true_admin

иногда время поджимает.

Суммарно времени на «борьбу» с тулчейнами и последствиями их глюков может уйти больше. Тем более 4 ядра odroid-а должны бы молотить довольно быстро.

Баги проще будет искать, на тулчейн уже свалить не получиться )

Да и винта нет внешнего чтобы тонны сырцов хранить.

Нужно бы завести. Благо это сейчас недорого.

dvl36
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.