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

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


wiki:cross-compiling-mtd-utils

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
wiki:cross-compiling-mtd-utils [2016/06/28 16:33] – [LZO] maxxwiki:cross-compiling-mtd-utils [2016/06/28 16:49] (текущий) – [MTD Utils] maxx
Строка 41: Строка 41:
 </code> </code>
 ===== e2fsprogs ===== ===== e2fsprogs =====
-===== MTD Utils =====+<code> 
 +wget https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.42.9/e2fsprogs-1.42.9.tar.gz 
 +tar -xzf e2fsprogs-1.42.9.tar.gz 
 +cd e2fsprogs-1.42.9 
 +./configure --prefix=/media/storage/Projects/niia/cruis-v/imx/libs --host=arm-linux-gnueabihf LDFLAGS=-static 
 +make -j4 && make install 
 +cd lib/uuid/ 
 +make install 
 +</code>
  
 +===== MTD Utils =====
 +<code>
 +git clone git://git.infradead.org/mtd-utils.git
 +cd mtd-utils/
 +git checkout v1.5.0
 +</code>
 +Отредактируйте Makefile и добавьте следующие строки в начало файла сразу же за переменной VERSION:
 +<code>
 +PREFIX=/media/storage/Projects/niia/cruis-v/imx/libs
 +CROSS=arm-linux-gnueabihf-
  
 +ZLIBCPPFLAGS = -I$(PREFIX)/include
 +ZLIBLDFLAGS = -L$(PREFIX)/lib
  
 +LZOCPPFLAGS = -I$(PREFIX)/include
 +LZOLDFLAGS = -L$(PREFIX)/lib
  
 +LDFLAGS += $(ZLIBLDFLAGS) $(LZOLDFLAGS) -static
 +CFLAGS ?= -O2 -g $(ZLIBCPPFLAGS) $(LZOCPPFLAGS)
 +</code>
 +Компилируем и устанавливаем
 +<code>
 +WITHOUT_XATTR=1 make -j4
 +make install
 +</code>
 +Теперь переходим в директорию, которую мы указывали как PREFIX и заходим в **sbin**. В этой директории находятся все наши скомпилированные утилиты, они имеют большой размер, потому что содержат отладочные символы. Обработаем их утилитой strip, чтобы уменьшить размер:
 +<code>
 +sbin$ arm-linux-gnueabihf-strip *
 +arm-linux-gnueabihf-strip:flash_eraseall: File format not recognized
 +</code>
 +не обращаем внимание на flash_eraseall, т.к. это не исполняемый файл, а текстовый скрипт. Теперь можно можно скопировать утилиты в файловую систему. Мы использовали опцию '-static' для линковщика, поэтому динамические библиотеки в файловой системе не нужны. Если же вы скомпилировали утилиты и библиотеки динамическими, то библиотеки надо скопировать в файловую систему обязательно.
wiki/cross-compiling-mtd-utils.1467120830.txt.gz · Последнее изменение: 2016/06/28 16:33 — maxx