Сборка Asterisk под OpenWRT

Linux/*BSD и всё что с ними связано.

Модераторы: Admins, Модераторы

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сборка Asterisk под OpenWRT

Сообщение EXA » 14 ноя 2012, 05:50

Всем привет.
Собрал OpenWRT для Mikrotik RB450G, чудно залил. Теперь сижу думаю, как мне собрать на Ubuntu asterisk.
Ни как не могу найти доки, которые бы я понял, как собирать софт, в окружении, на одном железе для другого.
Можете поделиться опытом и рекомендациями?

xelas
admin
Сообщения: 1155
Зарегистрирован: 05 мар 2007, 11:21

Сообщение xelas » 14 ноя 2012, 07:53

Поищите в гугле по ключевому слову: кросскомпиляция.

Например: http://paulus.ru/articles/crosscompile

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 14 ноя 2012, 08:17

Искал, спасибо за ссылку, может на русском я больше пойму :)

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 14 ноя 2012, 12:58

Не свосем мой случай, не понятно как либы все подцепить, которые собрались в OpenWRT.
Есть ещё что-нибудь полезное и доходчивое?

xelas
admin
Сообщения: 1155
Зарегистрирован: 05 мар 2007, 11:21

Сообщение xelas » 14 ноя 2012, 15:44

Как-как? Вытащить их из OpenWRT или собрать там же где и будет собиратся сам OpenWRT.

Added after 3 minutes:

На самом деле, вам нужно где-то скачать или собрать самому тулчейн под необходимый тип процессора.
Потом с помошью ключей gcc и некоторых переменных среды gcc указывается, что идет кросскомпиляция и нужно использовать
для получения правильных бинарей тулчейн из первого шага.
Но в любом случае, библиотеки, с которыми будет собиратся ваша программа для другой архитектуры должны быть уже собраны
под эту архитектуру и имется в наличии на хост-системе.

Ну или, как по ссылке выше, настроить соотвествующим образом chroot. И там пользоваться gcc как обычно. НО! Необходимы библиотеки
под данную архитектуру вам все равно придется либо собирать самому, в том же chroot-е, либо где-то брать готовые.

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 15 ноя 2012, 08:57

В OpenWRT есть архивчик, в котором вся система как бы.
"тулчейн " - это что?

xelas
admin
Сообщения: 1155
Зарегистрирован: 05 мар 2007, 11:21

Сообщение xelas » 15 ноя 2012, 09:35


Аватара пользователя
Cache
Модератор
Сообщения: 688
Зарегистрирован: 12 янв 2007, 11:39
Откуда: Россия. Шатура
Контактная информация:

Сообщение Cache » 15 ноя 2012, 11:37

первая ссылка в гугле
http://wiki.openwrt.org/doc/howto/voip.asterisk
нанотехнолигии в области Asterisk

Аватара пользователя
anest
Модератор
Сообщения: 5708
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 16 ноя 2012, 05:33

Toolchain лежит там же где и сам openwrt. Скачайте, разархивируйте и прочтите ридми идущий с архивом. Можно еще скачать .config файл оттудаже где и тулчайн заменить им оригинальный дефолтный. Не забыть сделать make oldconfig. Тогда у вас получится имннно на выходе то что выложено бинарем. Делаете make menuconfig, ничего менять в первый раз не нужно, просто выйти с сохранением и сделать make V=s. Если все соберется то можете уже менять конфигпод себя и пробовать пересобрать снова. Както так...

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 16 ноя 2012, 12:49

Это не сборка. Это инсталяха, и как бы мальца есть свои праблы, там есть пару пакетов, которые не ставяться через менюху, которая в самом начале в опенврт, типа взаимоисключаемых пакетов.

Toolchain лежит там же где и сам openwrt
.
А его юзать нельзя? Просто я собирал OpenWRT, может и окружение уже готово практически?

xelas
admin
Сообщения: 1155
Зарегистрирован: 05 мар 2007, 11:21

Сообщение xelas » 16 ноя 2012, 14:16

[url=http://asteriskforum.ru/viewtopic.php?p=66939#66939][img]http://asteriskforum.ru/images/quotebackarrow.gif[/img][/url] EXA @ Пт Ноя 16, 2012 14:49 писал(а):.
А его юзать нельзя? Просто я собирал OpenWRT, может и окружение уже готово практически?
Если сам собирал OpenWRT то у тебя все готово для кросссборки. Заюзай этоже окружение для сборки астериска.

Аватара пользователя
anest
Модератор
Сообщения: 5708
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 16 ноя 2012, 14:52


EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 19 дек 2012, 13:18

Решил потренироваться наконец-то, на "кошках" ncurses-5.9, распаковал в /usr/src/OpenWrt-SDK-ar71xx-for-linux-i686-gcc-4.6-linaro_uClibc-0.9.33.2/staging_dir/ncurses-5.9

Код: Выделить всё

PATH=$PATH:/usr/src/OpenWrt-SDK-ar71xx-for-linux-i686-gcc-4.6-linaro_uClibc-0.9.33.2/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/bin
export PATH

STAGING_DIR=/usr/src/OpenWrt-SDK-ar71xx-for-linux-i686-gcc-4.6-linaro_uClibc-0.9.33.2/staging_dir
export STAGING_DIR

TOOLCHAIN_DIR=$STAGING_DIR/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2
export TOOLCHAIN_DIR

export LDCFLAGS=$TOOLCHAIN_DIR/usr/lib/
export LD_LIBRARY_PATH=$TOOLCHAIN_DIR/usr/lib/

./configure --prefix=$TOOLCHAIN_DIR --host=mips-openwrt-linux-uclibc
 make clean
 make CC=mips-openwrt-linux-uclibc-gcc LD=mips-openwrt-linux-uclibc-ld V=99
Руководствовался https://gnunet.org/mhd-on-openwrt , потому что из http://wiki.openwrt.org/doc/devel/crosscompile вообще не жизненоспособный для сборки

Код: Выделить всё

make CC=architecture-openwrt-linux-uclibc-gcc LD=architecture-openwrt-linux-uclibc-ld
Вложения
ncurse-log.txt
Окончания лога вывода
(47.4 КБ) 72 скачивания

Аватара пользователя
anest
Модератор
Сообщения: 5708
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 20 дек 2012, 12:03

EXA писал(а): потому что из http://wiki.openwrt.org/doc/devel/crosscompile вообще не жизненоспособный для сборки

Код: Выделить всё

make CC=architecture-openwrt-linux-uclibc-gcc LD=architecture-openwrt-linux-uclibc-ld
мдя
architecture - это кто за вас должен менять? почтальон Печкин? ;) (специально даже курсивом выделили!!!)
сразу видно что читали слишком мало документации - курите мануалы еще!

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 20 дек 2012, 13:02

Да есть проблема, я не знаю, что конкретно читать, конгда нет конкретики, я вообще плыву и КПД 0.

Посмотрел сию ссылку

http://lab.mitty.jp/trac/lab/wiki/TipAn ... ossCompile


Выкинул только это

Код: Выделить всё

--with-terminfo-dirs=/usr/share/terminfo --with-default-terminfo-dir=/usr/share/terminfo
И скомпилилось, сейчас бодаюсь с zlib.

Код: Выделить всё

CC=mips-openwrt-linux-gcc AR=mips-openwrt-linux-ar RANLIB=mips-openwrt-linux-ranlib ./configure --prefix=$STAGING_DIR
И пока что вот так, поставил autoconf-2.69, libtool-2.4.2, libiconv-1.14

Код: Выделить всё

Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf().
Checking for vsnprintf() in stdio.h... Yes.
Checking for return value of vsnprintf()... Yes.
Checking for attribute(visibility) support... Yes.
./ztest6251: 1: ./ztest6251: Syntax error: "(" unexpected
Looking for a four-byte integer type... Not found.


Added after 11 minutes:

А где список сокращений можно взять "mips-openwrt-linux-gcc" - просто хотел бы я понять, какая у меня конкретно. Я на микротик собирал, там выбрать можно в конфигурационном меню, а как это в параметре написать не знаю.

Аватара пользователя
anest
Модератор
Сообщения: 5708
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 20 дек 2012, 22:32


EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 21 дек 2012, 07:58

Не совсем понял, где-то глазами нашёл "Buildroot" это папка самого "/usr/src/trunk" откуда я в общем и делаю make menuconfig ? Туда сорсы разных программ распаковывать?
И ещё вопрос если я архитектуру для Mikrotik Rb450G использую AR71XX, то так же указывать в компиляции mips ? Потому что нет такого в параметрах как AR71, есть ARM но это вообще другое.

Аватара пользователя
anest
Модератор
Сообщения: 5708
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 21 дек 2012, 11:33

..
Вложения
Screenshot-12212012-02.24.22AM.png

mszerg
Сообщения: 1
Зарегистрирован: 22 янв 2013, 21:06
Контактная информация:

Сообщение mszerg » 22 янв 2013, 21:15

Вот доходчиво описано как собрать прошивку openwrt. Для asterisk нужно в make menuconfig выбрать этот пакет для компиляции.

Аватара пользователя
anest
Модератор
Сообщения: 5708
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 14 фев 2013, 10:18

Возрадуйтесь, ваши молитвы были услышаны! Получил сегодня в емейл:
Hello,

my package asterisk11 became accepted and merged into openwrt trunk.

~Jiri

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 12 сен 2013, 08:18

В двух словах, я собираю Openwrt для своего роутера , а потом заливаю его на роутер, захожу, прописываю сеть с доступом в инет, и делаю
opkg install asterisk11
, и оно само скачает и поставит в систему с роутером?
Есть вопрос, как указать куда ставить, ибо на DIR-320 место крайне мало, хочу указать ставить пакеты именно на USB.

Аватара пользователя
anest
Модератор
Сообщения: 5708
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 12 сен 2013, 11:08

не забудьте перед установкой астериска сделать opkg update && opkg upgrade сперва. да и вообще всегда, сразу после свежей установки openwrt.
насчет usb флешки - не знаю есть ли какойто "стандартный" способ (уверен в гугле есть ответы), но как вариант - можно из init откуданить свой скрипт запускать, пусть после старта монтирует папку в которую он обычно пакеты устанавливает, пусть монтирует на флешку эту папку. ну и скопировать содержимое оригинальной папки туда же. так можно вообще весь корень системы на флеш перенести, я думаю. подсмотреть можно в live-cd дистрах которые поддерживают монтирование хоума юзера с флешки.

Аватара пользователя
Zavr2008
Сообщения: 535
Зарегистрирован: 19 июл 2013, 00:12
Контактная информация:

Сообщение Zavr2008 » 12 сен 2013, 22:24

Usb: там же в optware все есть ;)
Астер собранный также. Так по опыту важно собирать нормальными тулзами.

Как вариант решения: есть Beaglebone black - 50$ платы, под них собирается нормально астер. Рвет по ценам и производительности.
Зы: у нас скоро на этой платформе будет решение с е1 - следите за анонсами;)
http://mh.otx.ru SIP/E1 шлюзы Alvis, Добавь E1 к Asterisk, Проапгрейди Заказчику TDA/LDK!
спец цены

EXA
Сообщения: 487
Зарегистрирован: 24 фев 2008, 17:28

Сообщение EXA » 13 сен 2013, 07:37

не забудьте перед установкой астериска сделать opkg update && opkg upgrade сперва. да и вообще всегда, сразу после свежей установки openwrt.
А вот смотрите, какая штука ./scripts/feeds search asterisk - находит пакеты только для 1.8
брал вот это, т.к. самое новое svn co svn://svn.openwrt.org/openwrt/branches/attitude_adjustment

bg1
Сообщения: 238
Зарегистрирован: 11 ноя 2010, 21:11

Сообщение bg1 » 19 сен 2013, 18:21

Т.к. широко известно, что OpenWRT поддерживает группа шаманистов, советую сразу купить бубн не менее 300мм в диаметре.
Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/
Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI

Ответить