Сборка toolchain для mipsel архитектуры в Fedora Core 3. Основная задача данного документа, рассказать как самостоятельно собрать toolchain для mipsel архитектуры в Fedora Core 3(или любой другой системе на основе ядра 2.6). Делается это все для того, что бы исключить использование коммерческого кросскомпилятора из toolchain компании MontaVista, а так же в позновательных целях для последущего изучения и использования в своих embedded Linux разработках под mips/mipsel архитектуры. 1) Необходимо взять следущие архивы с исходниками по ссылкам: http://mcmcc.bat.ru/dlinkt/ar7_mipsel_toolchain_src/binutils-2.11.90.0.7_mcmcc.tar.bz2 http://mcmcc.bat.ru/dlinkt/ar7_mipsel_toolchain_src/glibc-kernel_includes.tar.bz2 http://mcmcc.bat.ru/dlinkt/ar7_mipsel_toolchain_src/gcc-2.95.4_mcmcc.tar.bz2 http://mcmcc.bat.ru/dlinkt/ar7_mipsel_toolchain_src/modutils-2.4.27_mcmcc.tar.bz2 2) В начале необходимо собрать и установить binutils. Версия 2.11.90.0.7 была выбранна специально, в нашем случае с TI AR7 с ней нет проблем при сборке ядра и приложений использующих ассемблер as, линковщик ld, objcopy и objdump, с другими версиями binutils такие проблемы были. Внутри архива binutils имеется скрипт для сборки - mcmcc_fc3-binutils-builds, запустим его как ---- mcmcc_fc3-binutils-build start --- ./configure --prefix=/opt/mcmcc-mipsel --target=mipsel-linux \ --enable-targets=mipsel-linux,mips-linux make ---- mcmcc_fc3-binutils-build end ----- # sh mcmcc_fc3-binutils-builds затем установим как # make install 3) Для сборки компилятора gcc необходимо установить хидеры из архива glibc-kernel_includes. Для этого в созданную директорию после установки binutils /opt/mcmcc-mipsel/mipsel-linux развернем директорию include из архива glibc-kernel_includes. 4) После этого можно приступить к сборке кросскомпилятора gcc. Внутри архива имеется скрипт - mcmcc_fc3-gcc-builds. ------- mcmcc_fc3-gcc-builds start --------- export PATH=$PATH:/opt/mcmcc-mipsel/bin TEXCONFIG=false \ ./configure --prefix=/opt/mcmcc-mipsel \ --with-local-prefix=/opt/mcmcc-mipsel/mipsel-linux/local \ --target=mipsel-linux --disable-shared \ --enable-languages="c" \ --with-gnu-as \ --with-gnu-ld \ --with-multilib \ --without-x make ------- mcmcc_fc3-gcc-builds end ----------- Запустим его: # sh mcmcc_fc3-gcc-builds После сборки установим # make install Теперь у нас имеется готовый кросскомпилятор и binutils. Следущим этапом необходимо установить modutils для ядер 2.4, т.к. устройство на базе TI AR7 имеет специальное ядро на основе версии 2.4.17 от MontaVista и без этих утилит не собирется, т.к. системы на базе ядер 2.6 не имеют нужных программ для этого. 5) В архиве modutils-2.4.27_mcmcc имеется скрипт для сборки - mcmcc_fc3-modutils-builds. Для FC3 нужно сделать сборку с помощью gcc версии 3.3.х, 3.4.x для этого не подходит! --------- mcmcc_fc3-modutils-builds start ------- export CC=gcc33 ./configure --prefix=/opt/mcmcc-mipsel --target=mipsel-linux \ --includedir=/opt/mcmcc-mipsel/mipsel-linux/include make --------- mcmcc_fc3-modutils-builds end --------- Запустим его: # sh mcmcc_fc3-modutils-builds После сборки установим # make install На этом сборку toolchain для mipsel архитектуры можно считать законченной, все остальные добавления - дело вкуса. Дальше можно произвести установку uClibc-0.9.19, в директорию куда мы установили toolchain, для этого необходимо скачать архив по ссылке: http://mcmcc.bat.ru/dlinkt/sources/uClibc-0.9.19_mc.tar.bz2 и последнее ядро: http://mcmcc.bat.ru/dlinkt/src_kernel_AR7/linux-2.4.17_mvl21_mc_07.tar.bz2 что бы использовать из него хидеры... =========================== Moscow, 28.03.2005 Mokruchin I.V. aka McMCC mcmcc@mail.ru ===========================