2016-05-04 4 views
0

Я собираюсь скомпилировать ядро ​​для своего устройства на основе aarch64Как скомпилировать инструментарий ARM EABI?

Источники ядра готовы.

и документы ядра говорят, что я должен использовать arm-eabi-4.9 toolchain для ARM EABI для ядра компиляции.

но что это? другой тип компилятора GCC или что?

такое же, как GCC 4.9?

Почему я хочу знать это, потому что я хочу внести некоторые изменения в компилятор, так как я могу построить arm-eabi-4.9 toolchain для ARM EABI из источника?

я сделал некоторые исследования в сети, но я нашел строительный процесс GCC 4.9 и некоторую информацию о руке-ни-EABI ..

я сделал изменения первоначально на вершине GCC 4.9 this

могу ли я использовать эти источники, а затем построить GCC 4.9 toolchain для arm, aarch64 --->, а затем построить ядро ​​с помощью этой инструментальной цепочки?

ответ

1

При компиляции gcc некоторые флаги конфигурации строят его как кросс-компилятор ... Вы можете создавать только gcc-файлы для одной пары хост-целевых архитектур. Когда хост и цель одинаковы, вы получаете обычный gcc-компилятор. Если нет, вы получаете кросс-компилятор.

Для установки цели вам нужно добавить --target option при запуске ./configure

Набор инструментов является НКУ crosscompilier для архитектуры + некоторых базовых библиотек (например, Glibc). Вам нужно построить те тоже ...

имена Toolchain идут арка [-vendor] [-os] - EABI

нарукавную непереключаемых EABI, является кросс-компилятор для ARM baremetal (без ОС).

arm-linux-gnueabi - это кросс-компилятор для двоичных файлов ARM, которые будут работать под ОС Linux и ARM с использованием eabi (используйте это для построения ядер тоже).

также те руки компилированных инструментов, вы ищете aarch64-Linux-гну

Рассмотрим ищет предварительно построенный набор инструменты (Линаро, embedian), там требуется некоторая тонкая настройка, так что лучше чтобы начать с рабочего двоичного файла и запустить gcc -v, чтобы показать, как он был создан.

+0

Большое вам спасибо за ответ, поэтому я могу изменить/использовать следующие источники gcc https://github.com/gcc-mirror/gcc/tree/gcc-4_9-branch, а затем настроить для aarch64-linux-gnueabi перед началом компиляции, а затем скомпилировать инструментальную правую кнопку? –

+0

Да, '--target = aarch64-linux-gnu'. Если этого недостаточно, сравните настройки конфигурации с теми, которые используются [linaro toolchains] (https://releases.linaro.org/14.11/components/toolchain/binaries/) – xvan

+0

мой хост-компьютер - ubuntu 14.04, поэтому ı найдено следующее 3 статьи о том, как построить gcc-компилятор https: // solarianprogrammer.com/2014/08/26/building-gcc-on-ubuntu-linux/https://raghunathlolur.wordpress.com/2014/06/17/cross-compiling-gcc-4-8-3-for-aarch64- port/http://preshing.com/20141119/how-to-build-a-gcc-cross-compiler/ –

Смежные вопросы