Среда разработки под определённую платформу представляет собой набор инструментов для кросс-компиляции. Под кросс-компиляцией понимается генерация исполняемого кода для платформы, отличной от той, на которой исполняется сам
кросс-компилятор. Такой инструмент бывает полезен, когда нужно получить
код для платформы, экземпляров которой нет в наличии, или в случаях
когда компиляция на целевой платформе невозможна или нецелесообразна
(например, это касается мобильных систем или микроконтроллеров с небольшим объёмом памяти). В состав инструментов обычно входят: gcc, binutils и glibc или uClibc.
В книге Cross-Compiled Linux From Scratch описаны два метода построения сред разработки для ARM - CLFS Sysroot и CLFS Embedded. В данных источниках по шагам описаны этапы создания необходимых инструментов. Используя данный материал можно вручную создать необходимый набор компонентов. Однако, как утверждают авторы проекта, в основном его целью является ознакомление с принципами сборки системы. Поэтому, нет необходимости собирать всё руками -- процесс давно автоматизирован. Существуют несколько проектов автоматизированной сборки инструментария для кросс-компиляции: buildroot, crosstool, scratchbox, crosstool-NG и др.
Для сборки будет использован crosstool-NG как простой и эффективный способ получить именно то, что требуется и ничего более. Для начала нужно получить текущую актуальную версию пакета: svn co http://ymorin.is-a-geek.org/svn/crosstool-ng/trunk
Затем, собрать как обычно, выполнив ./configure --prefix=/usr/local && make && make install. После установки, создать каталог проекта - например, arm-linux. В данном каталоге выполнить (предварительно очистив переменную окружения LD_LIBRARY_PATH):
ct-ng menuconfig ct-ng build
Здесь, первая команда вызывает интерактивный настройщик (по типу как в ядре). Задав необходимые опции и сохранив параметры, выполняется команда сборки. Весь процесс занимает минут 15, естественно в зависимости от мощности системы. На выходе получаем готовый набор инструментов кросс-компиляции (например, arm-unknown-linux-uclibc).
Мою конфигурацию crosstool-NG с использованием gcc-4.2.1 binutils-2.18 и uClibc-0.9.29 можно скачать в каталоге файлов (там же есть конфигурация uClibc).
1. уберите первые два поста - ето боты и желательно вообще их IP забанить 2. хотелось бы узнать как "предварительно очистить переменную окружения LD_LIBRARY_PATH" :) сорри за нубский вопрос