реклама на сайте
подробности

 
 
> Статическая сборка mc под ARM
KostyantynT
сообщение Jun 27 2011, 11:31
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 290
Регистрация: 27-06-05
Из: Киев
Пользователь №: 6 345



Написал это скрипт (выкладываю как есть, времени оптимизировать не было), тк статическая сборка mc (чтобы не тянуть на платформу ничего лишнего и потом легко можно было удалить) не совсем тривиальная задача. Тестировал на Ubunte x86_64. Предварительно надо в каталоге /opt хост машины под рутом создать каталог mc и дать права на запись. В системе должен быть установлен компилятор для кросс компиляции под нужную платформу (в моем случае arm-none-linux-gnueabi)

#!/bin/sh
cd $HOME
mkdir $HOME/mccrosscompile
export DEST=$HOME/mccrosscompile
cd $DEST
mkdir $DEST/src
mkdir $DEST/lib
mkdir $DEST/include
cd $DEST/src

wget ftp://ftp.fu-berlin.de/pub/unix/misc/slan...ng-2.1.4.tar.gz
tar zxf slang-2.1.4.tar.gz
cd slang-2.1.4/
CFLAGS="$CFLAGS -O2 -mcpu=arm926ej-s" ./configure --host=arm-none-linux-gnueabi --build=x86_64 --prefix=$DEST --without-png --enable-static
make clean -j7 && make -j7 && make static -j7
cp -d $DEST/src/slang-2.1.4/src/objs/libslang.a $DEST/lib/
cp -d $DEST/src/slang-2.1.4/src/*.h $DEST/include/
cd ..


# wget http://zlib.net/zlib-1.2.5.tar.gz
tar zxf zlib-1.2.5.tar.gz
cd zlib-1.2.5
CFLAGS="$CFLAGS -O2 -mcpu=arm926ej-s" CC='arm-none-linux-gnueabi-gcc' ./configure --prefix=$DEST --static
make clean -j7 && make -j7 && make static -j7
cp -d $DEST/src/zlib-1.2.5/libz.a $DEST/lib/
cp -d $DEST/src/zlib-1.2.5/*.h $DEST/include/
cd ..

# wget http://ftp.gnome.org/pub/gnome/sources/gli...b-2.28.7.tar.gz
tar zxf glib-2.28.7.tar.gz
cd glib-2.28.7
CFLAGS="$CFLAGS -O2 -mcpu=arm926ej-s" ZLIB_CFLAGS="-I$DEST/include" ZLIB_LIBS="-L$DEST/lib -L$DEST/lib -lz" CFLAGS="$CFLAGS ${ZLIB_CFLAGS}" LDFLAGS="$LDFLAGS ${ZLIB_LIBS}" glib_cv_stack_grows=no glib_cv_uscore=no ac_cv_func_posix_getpwuid_r=yes ac_cv_func_posix_getgrgid_r=yes ./configure --host=arm-none-linux-gnueabi --prefix=$DEST --build=x86_64 --enable-static
make clean -j7 && make -j7 && make install -j7
cd ..

# wget http://www.midnight-commander.org/download...-4.7.5.2.tar.gz
tar zxf mc-4.7.5.2.tar.gz
cd mc-4.7.5.2/

ac_cv_search_has_colors="-lslang" PKG_CONFIG_PATH=$DEST/lib/pkgconfig CFLAGS="$CFLAGS -O2 -mcpu=arm926ej-s" ./configure --host=arm-none-linux-gnueabi --build=x86_64 --with-zlib-static --with-glib-static --with-screen=slang --with-slang-includes=$DEST/include --with-slang-libs=$DEST/lib --without-x --without-gpm-mouse --enable-static=yes --disable-shared --disable-vfs --disable-doxygen-html --disable-doxygen-doc --disable-doxygen-dot CC='arm-none-linux-gnueabi-gcc -static -static-libgcc -fno-exceptions' CXX='arm-none-linux-gnueabi-g++ -static -static-libgcc -fno-exceptions' LDFLAGS='-Wl,-static -static -lc -lrt' LIBS='-lc -lrt ' --prefix=/opt/mc GLIB_LIBS=$DEST/lib/libglib-2.0.a

make clean -j7 && make -j7 && make install -j7

После окончания сборки вся папка /opt/mc переносится на целевую машину и при необходимости удалятся. /opt/mc/bin нужно добавить в PATH.
Также в файл .bashrc (или .profile еслив системе busybox) необходимо добавить строчку
export TERM=xterm

После отладки софта mc удаляется легким движением рук :-)

Размер полученного бинарника 2,4Мб. Просьба протестировать под другие платформы (mipsel..)



--------------------
Если в сердце дверь закрыта - надо в печень постучать..
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- КонстантинТ   Статическая сборка mc под ARM   Jun 27 2011, 11:31
- - zltigo   QUOTE (КонстантинТ @ Jun 27 2011, 13:31) ...   Jun 27 2011, 15:37
|- - Petka   Цитата(zltigo @ Jun 27 2011, 19:37) Да, р...   Jun 27 2011, 16:13
|- - xemul   Цитата(Petka @ Jun 27 2011, 20:13) Может ...   Jun 27 2011, 16:48
||- - Ixt   Цитата(xemul @ Jun 27 2011, 19:48) (TC со...   Jul 2 2011, 20:13
||- - und68   У меня с налету ничего не вышло.В линюксе новичок....   Apr 9 2012, 18:41
||- - alx2   Цитата(und68 @ Apr 9 2012, 23:41) При пос...   Apr 10 2012, 05:21
||- - und68   ЦитатаПо glib: Опция -Bsymbolic-functions у линкер...   Apr 10 2012, 18:01
||- - faa   Цитата(und68 @ Apr 10 2012, 22:01) Сейчас...   Apr 11 2012, 03:39
|||- - und68   Цитата(faa @ Apr 11 2012, 06:39) А присте...   Apr 11 2012, 15:37
||- - alx2   Цитата(und68 @ Apr 10 2012, 23:01) У меня...   Apr 11 2012, 05:29
|- - КонстантинТ   Цитата(Petka @ Jun 27 2011, 19:13) Может ...   Jun 28 2011, 09:00
|- - Petka   Цитата(КонстантинТ @ Jun 28 2011, 13:00) ...   Jun 28 2011, 09:18
|- - КонстантинТ   Цитата(Petka @ Jun 28 2011, 12:18) а скол...   Jun 28 2011, 10:03
|- - klen   Цитата(КонстантинТ @ Jun 28 2011, 14:03) ...   Jun 29 2011, 04:40
- - SFx   Пару лет назад собирал mc под i.mx27. Вообще никак...   Apr 11 2012, 20:30


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th July 2025 - 23:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01379 секунд с 7
ELECTRONIX ©2004-2016