Инструменты пользователя

Инструменты сайта


wiki:cross-compiling-mtd-utils

Это старая версия документа!


Кросс компиляция MTD-UTILS для архитектуры ARM

Компилятор

Используем компилятор gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux, но можно использовать и любой другой с аппаратной поддержкой плавающей точки. Компилятор по умолчанию установлен в директорию '/opt'

Утилиты MTD зависят от библиотек zlib и LZO, а также uuid от утилиты e2fsprogs.

Компиляция

Создадим директорию специально для компиляции библиотек и mtd-utils, например, '/media/storage/Projects/niia/cruis-v/imx/libs' и будем указывать её как PREFIX. Пропишем путь к компилятору в переменную окружения PATH, чтобы не использовать абсолютные пути:

$ export PATH=/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin:$PATH

Zlib

wget http://zlib.net/zlib-1.2.8.tar.gz
tar -xzf zlib-1.2.8.tar.gz
cd zlib-1.2.8/
./configure --prefix=/media/storage/Projects/niia/cruis-v/imx/libs

Теперь надо отредактировать Makefile, исправить следующие переменные:

CROSS=arm-linux-gnueabihf
CC=arm-linux-gnueabihf-gcc
LDSHARED=${CROSS}-gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map
CPP=${CROSS}-gcc -E
AR=${CROSS}-ar
RANLIB=${CROSS}-ranlib

Иеперь компилируем и устанавливаем:

make -j4
make install

LZO

wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz
tar -xzf lzo-2.06.tar.gz 
cd lzo-2.06/
./configure --prefix=/media/storage/Projects/niia/cruis-v/imx/libs --host=arm-linux-gnueabihf
make
make install

e2fsprogs

MTD Utils

wiki/cross-compiling-mtd-utils.1467120830.txt.gz · Последнее изменение: 2016/06/28 16:33 — maxx