LINUX.ORG.RU

Непонятка с тулчейнами

 ,


0

2

Не могу собрать рабочее arm-ядро на arm-устройстве.
Есть 2 устройства arm. и одно x86.
1. Cortex-a8, toolchain из stage3 4.7.3-r1
2. cortex-a7, rootfs тот же, что и 1
3. x86, crossdev 4.7.3 и linaro-cortex-a8-4.6.4
На crossdev не собралось ни одно рабочее ядро вообще. Собирается всё нормально, но не стартует.
Linaro собирает ядра под оба устройства, работают.
gcc: собирает ядро для первого устройства, всё работает. На второе ядро собирается, но не запускается. WTH?
Я понимаю, что crossdev работает через прямую кишку, но обычный gcc почему не берёт?
Что примечательно, модули, собранные на втором устпойстве не подходят по чексуммам, и, если убрать эту проверку, сыпятся в разных местах.

★★★★★

Последнее исправление: Pinkbyte (всего исправлений: 1)

На первом устройстве используется ядро, основанное на mainline 3.4.103 с добавленной поддержкой устройства, на втором - 3.4.39 от allwinner, их обычно только с linaro и собирают. Может в linaro есть какие-то специфичные фичи?

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

Кросскомпиляция как раз работает, проблемы только с нативной сборкой.

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

Попытался собрать gcc-4.6.4 и получил:
cc1: error: bad value (cortex-a7) for -mcpu switch
Неужели всё так плохо?

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

Поддержка есть, да кривая. Allwinner сильно изменили ядро, пока разрабатывали A20, по этому между ядрами linux-sunxi и allwinner больше различий, чем сходств. Драйвер дисплея полностью порефакторили. Прийдётся переписывать все вызовы gpio и script. Часть функциональности сделана в виде врапперов, но с ними драйвер тоже не сильно совместим.

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