Кросс-компиляция под dir-320 noolite

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
Yakon
Сообщения: 5
Зарегистрирован: Чт фев 06, 2014 10:44 am
Откуда: Moscow
Благодарил (а): 0
Поблагодарили: 0
Контактная информация:

Кросс-компиляция под dir-320 noolite

Сообщение Yakon » Чт фев 06, 2014 10:58 am

Добрый день.

Пробую поставить во главе дома dir-320 :)
Уже достаточно долго пытаюсь заставить работать dir-320 A1 под DD-WRT v24-sp2 (10/10/09) mini-usb-ftp с noolite адаптерами.
Там в комплекте libusb-0.1, соответственно решил собрать свою из исходников libusb-1.0.18

Собрал libusb через toolchain от dd-wrt таким образом:
AR=/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-ar \
AS=/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-as \
LD=/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-ld \
NM=/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-nm \
CC=/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-gcc \
CPP=»/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-gcc -E» \
GCC=/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-gcc \
CXX=/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-g++ \
RANLIB=/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-ranlib \
STRIP=/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-strip \
CPPFLAGS=»-O2 -pipe» \
./configure \
—build=i386-pc-linux-gnu \
—host=mipsel-linux \
—target=mipsel-linux \
—disable-udev
Скопировал libusb.h в /dop/current-toolchains/toolchain-mipsel_gcc4.1.2/include/
Скопировал libusb-1.0.so.0.1.0, libusb-1.0.so в /dop/current-toolchains/toolchain-mipsel_gcc4.1.2/lib/

https://github.com/ermolenkom/noolite
Заменил в makefile gcc на toolchain-mipsel_gcc и в .c - <libusb-1.0/libusb.h> на <libusb.h>
export LD_LIBRARY_PATH=/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/lib/:$LD_LIBRARY_PATH
export PATH=$PATH:/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/bin/
export SDL_INCLUDE=-I/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/include/
export SDL_LIB=-L/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/lib/
make

Получаю:
/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-gcc -o noolitepc noolitepc.o -lusb-1.0
/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/bin/../lib/gcc/mipsel-linux-uclibc/4.1.2/../../../../mipsel-linux-uclibc/lib/libusb-1.0.so: undefined reference to `pthread_create’
/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/bin/../lib/gcc/mipsel-linux-uclibc/4.1.2/../../../../mipsel-linux-uclibc/lib/libusb-1.0.so: undefined reference to `pthread_mutexattr_destroy’
/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/bin/../lib/gcc/mipsel-linux-uclibc/4.1.2/../../../../mipsel-linux-uclibc/lib/libusb-1.0.so: undefined reference to `pthread_mutexattr_settype’
/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/bin/../lib/gcc/mipsel-linux-uclibc/4.1.2/../../../../mipsel-linux-uclibc/lib/libusb-1.0.so: undefined reference to `pthread_mutexattr_init’
/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/bin/../lib/gcc/mipsel-linux-uclibc/4.1.2/../../../../mipsel-linux-uclibc/lib/libusb-1.0.so: undefined reference to `pthread_mutex_trylock’
/dop/current-toolchains/toolchain-mipsel_gcc4.1.2/bin/../lib/gcc/mipsel-linux-uclibc/4.1.2/../../../../mipsel-linux-uclibc/lib/libusb-1.0.so: undefined reference to `pthread_join’
collect2: ld returned 1 exit status
make: *** [noolitepc] Ошибка 1

Может кто-то делал что-то подобное или разбирается в кросс-компилировании? Как победить не подскажете?
Yakon
Сообщения: 5
Зарегистрирован: Чт фев 06, 2014 10:44 am
Откуда: Moscow
Благодарил (а): 0
Поблагодарили: 0
Контактная информация:

Re: Кросс-компиляция под dir-320 noolite

Сообщение Yakon » Чт фев 06, 2014 1:49 pm

Решение:
в makefile заменить на
CC = mipsel-linux-gcc
LINK = mipsel-linux-gcc
CCFLAGS = -O -I.
LINKFLAGS = -g -O2 -pthread -lusb-1.0
ignat99
Сообщения: 206
Зарегистрирован: Сб дек 21, 2013 9:21 pm
Откуда: Spain
Благодарил (а): 1 раз
Поблагодарили: 22 раза

Re: Кросс-компиляция под dir-320 noolite

Сообщение ignat99 » Чт фев 06, 2014 3:59 pm

Yakon писал(а):Решение:
в makefile заменить на
CC = mipsel-linux-gcc
LINK = mipsel-linux-gcc
CCFLAGS = -O -I.
LINKFLAGS = -g -O2 -pthread -lusb-1.0
Спасибо, очень интересно. Собираюсь собрать программы noolite под роутер.
Выложите, пожалуйста, готовые программы. Я протестирую их на прошивке TP Link W703N с патчем под USB-Arduino.
http://smartliving.ru/Main/LinuxMiniHubSetup
http://smartliving.ru/Main/TPLinkHub
Yakon
Сообщения: 5
Зарегистрирован: Чт фев 06, 2014 10:44 am
Откуда: Moscow
Благодарил (а): 0
Поблагодарили: 0
Контактная информация:

Re: Кросс-компиляция под dir-320 noolite

Сообщение Yakon » Чт фев 06, 2014 9:38 pm

ignat99 писал(а): Выложите, пожалуйста, готовые программы. Я протестирую их на прошивке TP Link W703N с патчем под USB-Arduino.
Я пишу статью по мере продвижения :)
Там же и выложил сборки libusb, noolite.
http://kuyukov.ru/ru/interesnoe/21-thinking-home
ignat99
Сообщения: 206
Зарегистрирован: Сб дек 21, 2013 9:21 pm
Откуда: Spain
Благодарил (а): 1 раз
Поблагодарили: 22 раза

Re: Кросс-компиляция под dir-320 noolite

Сообщение ignat99 » Пт фев 07, 2014 2:55 pm

Yakon писал(а):
ignat99 писал(а): Выложите, пожалуйста, готовые программы. Я протестирую их на прошивке TP Link W703N с патчем под USB-Arduino.
Я пишу статью по мере продвижения :)
Там же и выложил сборки libusb, noolite.
http://kuyukov.ru/ru/interesnoe/21-thinking-home
Спасибо, программы скачал, попробую запустить.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Кросс-компиляция под dir-320 noolite

Сообщение sergejey » Пт фев 07, 2014 5:41 pm

ignat99, не забудь поделиться результатами :) очень интересует тема, т.к. добавить к tplink стик от noolite было бы очень здорово.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Yakon
Сообщения: 5
Зарегистрирован: Чт фев 06, 2014 10:44 am
Откуда: Moscow
Благодарил (а): 0
Поблагодарили: 0
Контактная информация:

Re: Кросс-компиляция под dir-320 noolite

Сообщение Yakon » Пт фев 14, 2014 12:47 pm

Что-то не делится никто...
У меня как-то странно работает на dir-320.
nooliterx периодически начинает повторять последнюю принятую команду, как будто libusb зацикливается :(
Что виновато так и не разобрался.
Yakon
Сообщения: 5
Зарегистрирован: Чт фев 06, 2014 10:44 am
Откуда: Moscow
Благодарил (а): 0
Поблагодарили: 0
Контактная информация:

Re: Кросс-компиляция под dir-320 noolite

Сообщение Yakon » Пт фев 21, 2014 6:09 pm

http://www.kuyukov.ru/ru/interesnoe/21-thinking-home
Неделю как запустил прототип. noolite + dir-320+ arduino работают стабильно.
Можно аналогично и к Majordomo подключить.
Ответить