PDA

Bekijk de volledige versie : Сборка пакетов под WL-500g Premium



angel_il
17-05-2007, 06:47
Хотелось бы получить пару советов о том с чего начать.
Т.е. что нужно поставить, какой компилятор, какое ядро и т.п. может кто то поделится своим опытом.
Ну вот как нибудь так:
1) ставим такую то VM
2) сливаем и ставим образ VM от туда то.
3) берем gcc такой то версии.
4) компилируем и собираем в таком то формате (tgz? что то свое?)

PS: С линукс и в частность со сборкой пакетов под слакварь я вобщем то не плохо знаком. (с 2001г.)

Заранее благодарен за помошь.

AndrewN
17-05-2007, 07:37
Смотрим вот сюда: Тынц (http://wiki.wl500g.info/index.php/compilingcustomfirmware)

angel_il
17-05-2007, 07:55
Спасибо большое, кажется то что нужно.
Это сборка самой прошивки, а как компилить софт под тот процессор?
Нужды ли какие то опции компиляции особые?

там же нашел ссылку на http://wl500g.dyndns.org/#toolchain

al37919
17-05-2007, 07:57
ответ не совсем верный, т.к. там описано что надо для компиляции фирмваре. Кроме того, этот тулчейн используется для компиляции пакетов unslung

Однако, рекомендуемый feed для пакетов --- optware и для него описание здесь:

http://www.nslu2-linux.org/wiki/FAQ/Optware-uClibcBuild
http://www.nslu2-linux.org/wiki/Optw...ckageToOptware

можно компилировать как на роутере, так и на внешней линуксовой машине. Я поставил opensuse 10.2 в vmware, хотя второй раз предпочел бы что-нибудь полегковеснее. С debian 3.1 у меня были проблемы, debian 4 --- ОК. Далее по инструкции.

bikeRR
01-08-2007, 20:45
[admin@gw bin]$ ls -la /opt/bin/ | grep mc
-rwxr-xr-x 1 admin root 741480 Jul 18 05:57 mc

[admin@gw bin]$ /opt/bin/mc
-sh: /opt/bin/mc: not found

Куда копать?

Mam(O)n
01-08-2007, 20:54
http://wl500g.info/showthread.php?t=8422

bikeRR
01-08-2007, 20:57
Сам отвечаю на свой вопрос - обновить uclibc-opt после перехода на новый репозитарий...

alexanderm
10-09-2007, 13:40
Хочу удалить некоторые пакеты.

Пакет можно удалить с помощью команды ipkgА как?

Mam(O)n
10-09-2007, 17:08
Если запустить ipkg без параметров, то можно узнать много интересного:


[root@router:~]# ipkg
ipkg: ipkg must have one sub-command argument
ipkg version 0.99.163
usage: ipkg [options...] sub-command [arguments...]
where sub-command is one of:

Package Manipulation:
update Update list of available packages
upgrade Upgrade all installed packages to latest version
install <pkg> Download and install <pkg> (and dependencies)
install <file.ipk> Install package <file.ipk>
configure [<pkg>] Configure unpacked packages
remove <pkg|regexp> Remove package <pkg|packages following regexp>
flag <flag> <pkg> ... Flag package(s) <pkg>
<flag>=hold|noprune|user|ok|installed|unpacked (one per invocation)

Informational Commands:
list List available packages and descriptions
list_installed List all and only the installed packages and description
files <pkg> List all files belonging to <pkg>
search <file|regexp> Search for a package providing <file>
info [pkg|regexp] Display all info for <pkg>
status [pkg|regexp] Display all status for <pkg>
download <pkg> Download <pkg> to current directory.
compare_versions <v1> <op> <v2>
compare versions using <= < > >= = << >>
print_architecture prints the architecture.
print_installation_architecture
whatdepends [-A] [pkgname|pat]+
whatdependsrec [-A] [pkgname|pat]+
whatprovides [-A] [pkgname|pat]+
whatconflicts [-A] [pkgname|pat]+
whatreplaces [-A] [pkgname|pat]+
prints the installation architecture.

Options:
-A Query all packages with whatdepends, whatprovides, whatreplaces, whatconflicts
-V <level> Set verbosity level to <level>. If no value is
--verbosity <level> provided increase verbosity by one. Verbosity levels:
0 errors only
1 normal messages (default)
2 informative messages
3 debug output
-f <conf_file> Use <conf_file> as the ipkg configuration file
-conf <conf_file> Default configuration file location
is /opt/etc/ipkg.conf
-d <dest_name> Use <dest_name> as the the root directory for
-dest <dest_name> package installation, removal, upgrading.
<dest_name> should be a defined dest name from
the configuration file, (but can also be a
directory name in a pinch).
-o <offline_root> Use <offline_root> as the root directory for
-offline <offline_root> offline installation of packages.
-verbose_wget more wget messages
Force Options (use when ipkg is too smart for its own good):
-force-depends Make dependency checks warnings instead of errors
Install/remove package in spite of failed dependences
-force-defaults Use default options for questions asked by ipkg.
(no prompts). Note that this will not prevent
package installation scripts from prompting.
-force-reinstall Allow ipkg to reinstall a package.
-force-overwrite Allow ipkg to overwrite files from another package during an install.
-force-downgrade Allow ipkg to downgrade packages.
-force_space Install even if there does not seem to be enough space.
-noaction No action -- test only
-nodeps Do not follow dependences
-force-removal-of-dependent-packages
-recursive Allow ipkg to remove package and all that depend on it.
-test No action -- test only
-t Specify tmp-dir.
--tmp-dir Specify tmp-dir.

regexp could be something like 'pkgname*' '*file*' or similar
eg: ipkg info 'libstd*' or ipkg search '*libop*' or ipkg remove 'libncur*'

Aramaki
22-10-2007, 11:52
Вопрос поднялся в http://wl500g.info/showthread.php?p=66678#poststop


В репозитории rtorrent, собранный без поддержки xmlrpc. Был бы с ней - клиент можно было наваять на коленке.

Соответственно просьба к Олегу или гуру линукса - кто может это дело осуществить?

Oleg
22-10-2007, 12:21
Вопрос поднялся в http://wl500g.info/showthread.php?p=66678#poststop



Соответственно просьба к Олегу или гуру линукса - кто может это дело осуществить?
Ребят, ну если Вы можете слабать на коленках клиента, думаю справитесь и с правильной сборкой rtorrent. Сделайте пакет собираемый, обновим репозиторий.

А то у нас все всё могут, но мало кто делает. Надо как-то это менять...

lomik
23-10-2007, 14:36
Ребят, ну если Вы можете слабать на коленках клиента, думаю справитесь и с правильной сборкой rtorrent. Сделайте пакет собираемый, обновим репозиторий.

А то у нас все всё могут, но мало кто делает. Надо как-то это менять...

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

Aramaki
24-10-2007, 14:35
Ребят, ну если Вы можете слабать на коленках клиента, думаю справитесь и с правильной сборкой rtorrent. Сделайте пакет собираемый, обновим репозиторий.

А то у нас все всё могут, но мало кто делает. Надо как-то это менять...

Если вышла новая версия программы, когд она появится в репозитории? Это делается автоматически или вручную?

Transmission 0.90 Released!
Posted by John Clay on 24/10/07

al37919
24-10-2007, 14:45
вручную.

Новый transmission появится когда у oleo будет время и желание его откомпилировать и туда положить.

Aramaki
24-10-2007, 17:43
вручную.

Новый transmission появится когда у oleo будет время и желание его откомпилировать и туда положить.

понятно. он вроде уже собирается его тестить

Reyter
25-10-2007, 06:27
Новый transmission появится когда у oleo будет время и желание его откомпилировать и туда положить.
Вообще надо заметить, что репозиторий не обновляется уже почти три недели.
Ранее обновление происходило почти ежедневно.
Никто не в курсе, в чем дело?

NETChaser
11-12-2007, 12:06
Хотелось бы получить пару советов о том с чего начать.
Я тоже хотел бы что то внятное услышать по этому поводу. Купил девайс... DM не работает... Хочу писать демона что бы работала закачка...

angel_il
12-12-2007, 08:57
Вообще последнее время собираю так:
скачал и поставил на PC colinux (проект предназначенный для запуска linux под win32)
затем
скачал и поставил тулчейн, сделал все как в инструкции, т.е.

svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware
прописал в profiles

export OPTWARE_TARGET="oleg"

после чего зашел в директорию optware
и сделал

make directories
make toolchain

после этого либо пишу нужный mk файл для автоматической сборки,
либо руками делаю нудную структуру каталогов, кладу нужные файлы по папкам, подготавливаю postinstall
и запускаю сборку руками, прописывая нужные опции.
если кросскомпиляция невозможна (иногда)
то сначала компилю нативно, потом полученные файлы пакую и перебрасываю на PC, где собираю в пакет.

angel_il
12-12-2007, 10:23
Я тоже хотел бы что то внятное услышать по этому поводу. Купил девайс... DM не работает... Хочу писать демона что бы работала закачка...

В данном случае поможет lighttpd + fast_php + ADOS

angel_il
12-12-2007, 21:47
вот пример скрипта для ручной сборки пакета

cd /home/optware/optware/builds;
PATH=/home/optware/optware/staging/opt/bin:/home/optware/optware/staging/bin:/opt/bin:/opt/sbin:/bin:/sbin:/usr/bin:/usr/sbin
TAR_OPTIONS=--format=ustar
ipkg-build -c -o root -g root /home/optware/optware/builds/shakespeer-0.9.5-ipk


перед этим создана папка shakespeer-0.9.5-ipk
с подпапками
CONTROL и opt
в /CONTROL лежит файл
control следующего содержания

Package: shakespeer
Architecture: mipsel
Priority: optional
Section: net
Version: 0.9.5-4
Maintainer: ilia maslakov, Andrey aka Reyter
Source: http://shakespeer.bzero.se/
Description: shakespeer DC++ client
Depends: expat, libevent, libtecla
Conflicts:

в папке opt структура каталогов куда попадут файлы на целевой машине.


./bin:
queue_tool shakespeer share_tool sphashd sphubd sspeer

./etc:
shakespeer.conf.sample

NETChaser
13-12-2007, 04:11
В данном случае поможет lighttpd + fast_php + ADOS

Да знаю... Вот почитал ещё этот форум и пришел к выводу что можно поставить wget и не морочить себе мозг.
Поставил последнюю прошивку Олега, telnet появился, а hdd и flash которые имелись дома работать отказались...

angel_il
13-12-2007, 06:41
Да знаю... Вот почитал ещё этот форум и пришел к выводу что можно поставить wget и не морочить себе мозг.
Поставил последнюю прошивку Олега, telnet появился, а hdd и flash которые имелись дома работать отказались...

в первую очередь надо смотреть что говорит
dmesg

Mam(O)n
16-12-2007, 07:25
Давай значит так поступим. Я тут собрал версию net-tools с поддержкой ipv6, которая теперь точно покажет, кто на порту прописался. Сделай так:


# Удалим старый net-tools
ipkg remove net-tools
# Установим мою сборку.
cd /tmp
wget http://wl500g.info/attachment.php?attachmentid=2119 -O- | tar xv
ipkg install net-tools-ipv6_1.60-1_mipsel.ipk

И после того, как успешно пройдет установка скопипасть следующую команду:


for n in /opt/etc/init.d/S* /usr/local/sbin/post-*; do grep "$(netstat -pltn | awk '/:22/{print $7}' | awk -F/ '{print $2}')" $n && echo -e "\n$n\n"; done

Она произведёт поиск в общеизвестных инициализационных скриптах на предмет имени программы, занявшей 22 порт.

Игорь
27-01-2008, 17:06
Прошу прощенья что поднимаю старую тему, однака помощи клуба прошу.
Есть http://www.rapidshare.ru/556017 исходники линуксового эмулятора карточек, конкретно эта версия должна уметь conax для season интерфейса.
В общем пытаюсь собрать :
make dep
make clean
make
В результате ошибка, чего я делаю не так?

login as: admin
admin@192.168.1.100's password:
[admin@(none) root]$ cd /tmp/harddisk/lincard/
[admin@(none) lincard]$ make dep
make: Warning: File `.depend' has modification time 1.2e+09 s in the future
gcc -MM -Wall -O2 -g -DUNIX -DUSE_PRIORITY_SCHEDULING -DVERS=\"0.21a\" serfunc.c des.c ec.c ec_util.c ec_keys.c conax.c irdeto.c irdeto_v1_algorithm.c seca.c viaccess.c secaAlgorithm.c seca_keys.c nagra.c tpscrypt.c main.c command.c common.c config.c confutil.c videoguard.c debug.c ec-s.c std_log.c emu_options.c hexupd.c hexmmn4.c sha.c seca2Algorithm.c md5.c newcamd-client.c NagraFxEmu.c > .depend
make: warning: Clock skew detected. Your build may be incomplete.
[admin@(none) lincard]$ make clean
make: Warning: File `Makefile' has modification time 1.1e+09 s in the future
rm -f *.o *.a
cd nagra-rsa && make clean
make[1]: Entering directory `/tmp/harddisk/lincard/nagra-rsa'
make[1]: Warning: File `Makefile' has modification time 1.1e+09 s in the future
rm -f *o librsa.a test *~
make[1]: warning: Clock skew detected. Your build may be incomplete.
make[1]: Leaving directory `/tmp/harddisk/lincard/nagra-rsa'
make: warning: Clock skew detected. Your build may be incomplete.
[admin@(none) lincard]$ make
make: Warning: File `Makefile' has modification time 1.1e+09 s in the future
OSTARGET='UNIX' uname='Linux' date: 19700101
gcc -Wall -O2 -g -DUNIX -DUSE_PRIORITY_SCHEDULING -DVERS=\"0.21a\" -c -o main.o main.c
main.c: In function 'main':
main.c:887: warning: pointer targets in passing argument 2 of 'strncpy' differ in signedness
gcc -Wall -O2 -g -DUNIX -DUSE_PRIORITY_SCHEDULING -DVERS=\"0.21a\" -c -o command.o command.c
gcc -Wall -O2 -g -DUNIX -DUSE_PRIORITY_SCHEDULING -DVERS=\"0.21a\" -c -o config.o config.c
config.c: In function 'ConfigSection':
config.c:148: warning: pointer targets in passing argument 1 of 'StrNoCaseCmp' differ in signedness
config.c: In function 'ConfigVarVal':
config.c:208: warning: pointer targets in passing argument 2 of 'SetU' differ in signedness
config.c:211: warning: pointer targets in passing argument 2 of 'SetU' differ in signedness
gcc -Wall -O2 -g -DUNIX -DUSE_PRIORITY_SCHEDULING -DVERS=\"0.21a\" -c -o std_log.o std_log.c
gcc -Wall -O2 -g -DUNIX -DUSE_PRIORITY_SCHEDULING -DVERS=\"0.21a\" -c -o emu_options.o emu_options.c
ar r lce.a command.o config.o std_log.o emu_options.o
ar: creating lce.a
ranlib lce.a
gcc -Wall -O2 -g -DUNIX -DUSE_PRIORITY_SCHEDULING -DVERS=\"0.21a\" -c -o des.o des.c
gcc -Wall -O2 -g -DUNIX -DUSE_PRIORITY_SCHEDULING -DVERS=\"0.21a\" -c -o ec.o ec.c
ec.c: In function 'log_current_status':
ec.c:84: warning: pointer targets in passing argument 2 of 'strcpy' differ in signedness
ec.c: In function 'DoEC':
ec.c:447: warning: pointer targets in passing argument 2 of 'strncpy' differ in signedness
ec.c:448: warning: pointer targets in passing argument 2 of 'strncpy' differ in signedness
ec.c:461: warning: pointer targets in passing argument 2 of 'sendbyte_n' differ in signedness
gcc -Wall -O2 -g -DUNIX -DUSE_PRIORITY_SCHEDULING -DVERS=\"0.21a\" -c -o conax.o conax.c
conax.c: In function 'ChangeConaxSubsystem':
conax.c:173: error: invalid lvalue in assignment
conax.c: In function 'ParseECM':
conax.c:702: warning: pointer targets in passing argument 1 of 'strncpy' differ in signedness
conax.c:702: warning: pointer targets in passing argument 2 of 'strncpy' differ in signedness
conax.c:740: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
conax.c: In function 'build_OSD_txt':
conax.c:855: warning: pointer targets in passing argument 1 of 'strncpy' differ in signedness
conax.c: In function 'DoConax':
conax.c:1322: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness
conax.c:1497: warning: pointer targets in assignment differ in signedness
conax.c:1565: warning: pointer targets in assignment differ in signedness
conax.c:1695: warning: pointer targets in assignment differ in signedness
conax.c:1781: warning: pointer targets in assignment differ in signedness
conax.c:1883: warning: pointer targets in assignment differ in signedness
conax.c:1885: warning: pointer targets in assignment differ in signedness
conax.c:1969: warning: pointer targets in passing argument 1 of 'SetUL' differ in signedness
make: *** [conax.o] Error 1
[admin@(none) lincard]$

angel_il
27-01-2008, 19:00
Прошу прощенья что поднимаю старую тему, однака помощи клуба прошу.
Есть http://www.rapidshare.ru/556017 исходники линуксового эмулятора карточек, конкретно эта версия должна уметь conax для season интерфейса.
В общем пытаюсь собрать :
make dep
make clean
make
[admin@(none) lincard]$
[/PHP]

./configure --prefix=/opt
make
touch .1
make install
touch .2
find / -newer .1 ! -newer .1 >install.list

Игорь
27-01-2008, 19:36
Спасибо за ответ, проблема в том что там нет configure .
Сейчас собираю прямо на роутере, есть ещё установленная mandriva 2007
куда был скачан svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware .
Имхо моя проблема глобальна, я не понимаю что из чего следует, поэтому топчусь на месте :(
Если у кого будет время, обьясните пожалуйста на пальцах про нативную и кросс-компиляцию, на примере чего-нибудь легковесного и не имеющего *.ipk, потому что пакеты его имеющие у меня на роутере собираются.
Спасибо :)

lly
27-01-2008, 19:43
Игорь
первая проблема в:


conax.c: In function 'ChangeConaxSubsystem':
conax.c:173: error: invalid lvalue in assignment

придется тебе смотреть код...

про кросс-компиляцию все очень просто - тебе нужен не родной gcc поставляемый с мандривой, а кросс-компилер. Он есть, например, в broadcom'овском toolchain'е. Как его ставить написано в местном FAQ, а зваться он будет mipsel-uclibc-gcc.
Тебе придется подправить Makefile на предмет названия компилятора и, возможно ld

Игорь
27-01-2008, 22:15
Игорь
первая проблема в:


conax.c: In function 'ChangeConaxSubsystem':
conax.c:173: error: invalid lvalue in assignment

придется тебе смотреть код...

про кросс-компиляцию все очень просто - тебе нужен не родной gcc поставляемый с мандривой, а кросс-компилер. Он есть, например, в broadcom'овском toolchain'е. Как его ставить написано в местном FAQ, а зваться он будет mipsel-uclibc-gcc.
Тебе придется подправить Makefile на предмет названия компилятора и, возможно ld

Благодарю за ответ. Попробую поспрашивать наших программеров на работе, они правда больше в студии 2005 пишут, но думаю у них получится быстрее чем у меня.
Еще раз спасибо.

djet
27-01-2008, 22:56
А как узнать, с какими опциями был собран пакет?

al37919
27-01-2008, 23:10
лучше всего посмотреть в исходники:)
- В файле config.log обычно сохраняется коммандная строка, которой был запущен configure
- Если речь идет об optware , то тут еще проще --- смотреть в файл *.mk

Косвенно некоторую информацию можно получить с помощью комманды ldd

djet
28-01-2008, 00:40
Хм, перерыл весь screen_4.0.3-2_mipsel.ipk, нет в нём *mk.

al37919
28-01-2008, 06:30
не так просто :)
mk файл текущей версии scrren доступен здесь:
http://trac.nslu2-linux.org/optware/browser/trunk/make/screen.mk

Игорь
11-02-2008, 19:09
Игорь
первая проблема в:


conax.c: In function 'ChangeConaxSubsystem':
conax.c:173: error: invalid lvalue in assignment

придется тебе смотреть код...

про кросс-компиляцию все очень просто - тебе нужен не родной gcc поставляемый с мандривой, а кросс-компилер. Он есть, например, в broadcom'овском toolchain'е. Как его ставить написано в местном FAQ, а зваться он будет mipsel-uclibc-gcc.
Тебе придется подправить Makefile на предмет названия компилятора и, возможно ld
Поправил я ошибку в 173 строке (16 строка убираем указатель * , 173 строка убираем (int) ) Теперь оно собирается под x86, на роутере и при кросс-компиляции просит "make: *** No rule to make target `6805_cpu.h', needed by `NagraFxEmu.o'. Stop."
Поможите побидить, чую победа уже близка :rolleyes:

В общем собралось у меня. Вроде запускается, работоспособность не проверялась ввиду отстутствия переходника усб-ком, кому интересно вот линки:
http://rapidshare.com/files/91020282/lincardemu-x86-bin-0.21a.tar.gz под линукс большой
http://rapidshare.com/files/91020283/lincardemu-mipsel-bin-0.21a.tar.gz под линукс маленький

angel_il
11-02-2008, 21:50
В общем собралось у меня. Вроде запускается, работоспособность не проверялась ввиду отстутствия переходника усб-ком, кому интересно вот линки:


может сюда прикрепишь версию под рутер, а то рано или поздно ссылка на рапиде умрет, а так может и мне понадобится...

Игорь
12-02-2008, 05:40
Сделал.
ПС. Добиваем сообщение до 10 символов :)

Wudu
12-02-2008, 12:41
Интересная штука. Но боюсь все равно с сизоном работать не будет, слишком много нюансов. Там ведь нужен сигнал DCD (кажется так назывется), в UART портах его точно нет, ибо это не есть настоящий ком порт, а через USB теоритически есть, но это очень большой вопрос, ибо драйвер тоже эмулирует наверняка только TX и RX...
Но если кому то удастся, то свистните, мне тоже интересно :)
Кстати, а что именно ты собираешься шарить через конаскс и на каком тюнере?

Игорь
12-02-2008, 12:47
Интересная штука. Но боюсь все равно с сизоном работать не будет, слишком много нюансов. Там ведь нужен сигнал DCD (кажется так назывется), в UART портах его точно нет, ибо это не есть настоящий ком порт, а через USB теоритически есть, но это очень большой вопрос, ибо драйвер тоже эмулирует наверняка только TX и RX...
Но если кому то удастся, то свистните, мне тоже интересно :)
Кстати, а что именно ты собираешься шарить через конаскс и на каком тюнере?
Это даже хорошо, на дольше хватит ковырять. DCD думаю можно получить к примеру замкнув соответствуюшие ноги в DB-9, навскидку не помню какие, но как-то попалась одна АТС которая не хотела ничего отдавать без такого соединения. Я тогда спаял кабель который обоим сторонам всегда говорил все хорошо :)

Вот нашел:
TxD -- RxD
RxD -- TxD
GND -- GND
и замкнуть:
RTS -- CTS -- DSR -- DCD

Wudu
12-02-2008, 14:50
Неа, замкнуть не получиться, там всв используется чтобы ловить сигнал ресет от тюнера. Он его сбрасывает и ставит снова, и это дает сигнал для lincardemu для начала работы.
А удалось ли кому нибудь прикрутить обычный модем (телефонный, не gprs), или скажем комовскую мышку через переходник на usb? Если да, то по идее все сигналы эмулируются и должно работать.

lly
12-02-2008, 15:13
Наличие сигналов RI и DCD сильно зависит от переходника и драйвера к нему. В самих чипах все линии есть.

Игорь
12-02-2008, 19:19
Наличие сигналов RI и DCD сильно зависит от переходника и драйвера к нему. В самих чипах все линии есть.
В принципе думаю, скоро проверю, с 18 числа обещают вернуть кодировку на каналы (сейчас шурует открыто), в выходные поеду на кардачи, искать переходник, если будет стоить до 30 грн штука куплю оба вида на pl2303h и FT232BM. И будем ждать 18 числа, проверку боем проходить :)

skv
14-02-2008, 16:01
При сборке toolchain на Fedora 8 возникло две ошибки (скриншот прилагается). Делал все по инструкции


svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware
cd optware
export OPTWARE_TARGET=oleg
make directories
make toolchain

Наличии этих ошибок нормально?
И еще вопрос, как реально называется тулчейновый gcc-компилятор? Если можно, то хотелось бы посмотреть на простенький, но работающий make-файл сборки чего-нибудь типа "Hello world".

al37919
14-02-2008, 21:42
IMHO происходит сборка тулчейнов под все платформы. А оно надо?
Откуда взята магическая последовательность?
Предлагаю вариант соответствующий текущему состоянию первоисточника ( http://www.nslu2-linux.org/wiki/Optware/AddAPackageToOptware ) :


svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware
cd optware
make oleg-target
cd oleg
make directories ipkg-utils

После этого делаем, скажем, make rtorrent и смотрим результат.

skv
15-02-2008, 08:05
Инструкции по установке toolchain взял отсюда
http://www.nslu2-linux.org/wiki/FAQ/Optware-uClibcBuild
Команды, которые Вы предлагаете не собирают сам кросс-компилятор и uClibc, поэтому попытка собрать готовый пакет из имеющихся приводит к следующим ошибкам (ключевое сообщение выделено), т.к. самого кросс-компилятора нет. Большая просьба к тем, кто собриат из C-исходников свои или чужие программы кросс-компилятором, описать процедуру установки этого компилятора для данной платформы (WL-500g Premium) или дать ссылку, где можно почитать.

al37919
15-02-2008, 08:45
Команды, которые Вы предлагаете не собирают сам кросс-компилятор и uClibc
make rtorrent собирает компилятор и все что надо.

Если не нравится rtorrent сделайте просто
make (естественно находясь в optware/oleg )

Это должно собрать тулчейн, необходимые библиотеки и начать компилять все пакеты. Есле дело пойдет, можно остановить. Если нет, ищите проблему в Вашей федоре. В ней тоже должно быть установлено все необходимое для компиляции.

skv
15-02-2008, 09:02
Просто выполнить make, находясь в optware/oleg, уже попробовал. Результат тот же, что и на первом скриншоте. Попробую обновить gcc и прочее на самой федоре.

Игорь
16-02-2008, 11:59
Неа, замкнуть не получиться, там всв используется чтобы ловить сигнал ресет от тюнера. Он его сбрасывает и ставит снова, и это дает сигнал для lincardemu для начала работы.
А удалось ли кому нибудь прикрутить обычный модем (телефонный, не gprs), или скажем комовскую мышку через переходник на usb? Если да, то по идее все сигналы эмулируются и должно работать.

Сегодня проверил, 20 минут диалапил из под WindowsXP через переходник на пролифике, плакал от ностальгии :D, как сейчас вспонил второй курс, мы вчетвером скинувшись покупаем ночной доступ с часу до восьми в коминте:D
Модем Акорп Спринтер. Если работает значит надежда есть?

leniviy
26-03-2008, 20:32
если скомпилировал tar.gz на роутере, есть возможность сохранить это все в виде пакета, который можно будет потом повторно установить? Чтобы при этом в пакет не попали исходники и промежуточные файлы?
я пока не придумал ничего лучше, чем после компиляции запустить снова

#./configure --prefiks=/tmp/hardisk/paket/opt
#make install
чтобы make скопировал файлы в пустую директорию

leniviy
27-03-2008, 17:11
пожалуйста, ответьте кто-нибудь.
и еще вопрос, почему strip применяется в процессе install, а не make?
получается, что он сначала собирает бинарники с символьной инфой, а когда make install-strip, то он их перелинковывает?

al37919
27-03-2008, 19:33
Как это сделать на практике --- знает angel_il. Могу процитировать его инструкцию по приготовлению нативно скомпиленного дистрибутива mc:

1. make
2. touch .1
3. make install
4. touch .2
5. find /opt -newer .1 ! -newer .2 >.files
6. создаем папку mc-ipk со структурой bin, lib, share и т.д.

ABATAPA
27-03-2008, 19:44
пожалуйста, ответьте кто-нибудь.
и еще вопрос, почему strip применяется в процессе install, а не make?
получается, что он сначала собирает бинарники с символьной инфой, а когда make install-strip, то он их перелинковывает?

Потому что так написан Makefile, и это правильно.
Т.к. после make может последовать запуск под отладчиком, например.

AndreyPopov
16-05-2008, 17:39
кажется уже поднимали эту проблему, но вот столкнулся и я.

файла openssl_0.9.7m-4_mipsel.ipk
просто нет в репозитории http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/

куда он подевался?????

al37919
16-05-2008, 20:06
причины подобных явлений надо искать здесь: http://trac.nslu2-linux.org/optware

Обнаруживаем, что в течение 12 последних часов было сделано два изменения в пакете openssl. Причем, второе отменяет первое. Полагаю, что в течение 24 часов пакет появится (все дерево перекомпилируется раз в сутки).

AndreyPopov
16-05-2008, 20:17
причины подобных явлений надо искать здесь: http://trac.nslu2-linux.org/optware

Обнаруживаем, что в течение 12 последних часов было сделано два изменения в пакете openssl. Причем, второе отменяет первое. Полагаю, что в течение 24 часов пакет появится (все дерево перекомпилируется раз в сутки).

да, уже появился с датой создания 16 мая ;)

Break Action
17-07-2008, 13:18
Приветствую Всех,
Хотел бы узнать как можно собрать в пакет программу (Unreal IRCd), которую я скомпилировал.
Заранее благодарен.

anterior
17-07-2008, 13:39
http://wiki.openwrt.org/BuildingPackagesHowTo

Должно помочь

mcwees
02-09-2008, 12:17
пожалуйста, ответьте кто-нибудь.
и еще вопрос, почему strip применяется в процессе install, а не make?
получается, что он сначала собирает бинарники с символьной инфой, а когда make install-strip, то он их перелинковывает?

Потому что так написан Makefile, и это правильно.
Т.к. после make может последовать запуск под отладчиком, например.

Кстати, насколько я знаю, никакой перелинковки не происходит, просто удаляются символы, используемые отладчиком.

tumoxa
12-02-2009, 08:44
Олег собери пожалуйста пакет asterisk-g72x-1.0-beta8.tar.bz2 для Asus wl500gpv2, ну очень надо, весь мозг себе уже вынес :)

vomper
09-03-2009, 10:10
Имеюются исходники программы 'binkd' (ftp://cvs.happy.kiev.ua/pub/fidosoft/mailer/binkd/) - что нужно сделать для того, что бы её скомпилировать для работы на wl500gP?

al37919
09-03-2009, 12:35
Для нативной компиляции на роутере:

ipkg install optware-devel
далее следовать инструкциям по сборке самой программы

Для кросс-компиляции:
http://www.nslu2-linux.org/wiki/Optware/AddAPackageToOptware

gogi
09-03-2009, 17:54
В репозитарии gcc нет. И после установки optware-devel он естественно не появился :confused:

gogi
09-03-2009, 18:09
Нашёл, что для нативной компиляции нужно ещё пакет buildroot ставить.

al37919
09-03-2009, 18:30
да, действительно, оказывается optware-devel не зависит от buildroot. Возможно это относительно недавние изменения

alexuz1977
09-03-2009, 19:42
Что нужно для компиляции софта для роутера на компутере? Какие linux и компилятор необходимы, чтобы потом скомпиленный софт один к одному переносить на роутер?

nETPOBu4
06-04-2009, 19:27
Добрый день!
Нужна помощь: пытаюсь собрать transmission из исходников. configue выдает:


checking for LIBCURL... Unknown keyword 'URL' in '/opt/lib/pkgconfig/libcurl.pc'
configure: error: Package requirements (libcurl >= 7.16.3) were not met:



Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables LIBCURL_CFLAGS
and LIBCURL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.


libcurl и libcurl-dev установлены; версия libcurl 7.19.4. Исходники transmission такой же версии, что и в репозитории ipkg;

Возможно, кто знает как достать исходники с патчами для роутера.

RolF2
06-04-2009, 22:42
http://mybookworld.wikidot.com/forum/t-65768/building-transmission-with-optware-dependancies


R.

al37919
06-04-2009, 23:10
исходники берутся здесь:
svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware
на всякий случай инструкция для кросскомпиляции:
http://www.nslu2-linux.org/wiki/Optware/AddAPackageToOptware

nETPOBu4
07-04-2009, 08:33
Всем спасибо! Получилось собрать работающую версию, достаточно было закомментировать URL в libcurl.pc

По поводу svn репозитория http://svn.nslu2-linux.org/svnroot/optware/trunk : там лежит только часть исходников, один из компонентов торрент-клиента: transmissiond;

al37919
07-04-2009, 10:20
там лежат мейкфайлы и патчи, которые позволяют собирать пакеты из исходников, которые при этом скачивается непосредственно с сайтов разработчиков

qnx4ever
07-05-2009, 22:13
Привет всем,
видел раньше вопросы по поводу сборки старого доброго Midnight Commander от Олега Коновалова версии 4.1.40-MP также известного как Mc-Light (http://mc.linuxinside.com)

Выкладываю слегка пропатченные исходники с уже собранными бинарниками, может кому пригодится.
Изменения относительно оригинала:
1. мудрил с Configure.... см. mc-wl500.configure
2. Пропатчил руками configure и configure.in. Добавил --with-cons-saver/--without-cons-saver дабы отключить установку console saver даже если OS=Linux, что в оригинале было невозможно.
3. правил mc.ext.in (чтобы работали busy-box-овский gzip/tar), что-то заправил в cons.handler.c. Оригиналы сохранены в .orig файлах.
4. Подправил configure на предмет поиска terminfo в том числе в /opt/share
5. Добавил хак на скорую руку (-D_FILE_OFFSET_BITS=64), чтобы с файлами больше 2гиг работать можно было. Пока плотно не тестировал.

устанавливается в /opt/local из архива mc-4.1.40-pre9.wl500.bin.tar.bz2

запускать
export TERM=xterm
/opt/local/bin/mc

terminfo не требуется

для нормальной работы необходимо будет обучить кнопкам Esc+9->Options->Learn Keys из самого mc

Проблемы и ошибки
В упор не видел файлы > 2Gb, -D_FILE_OFFSET_BITS=64 вроде вылечил, нужно тестировать.
Можно сказать, что не работает с UTF-8 кодировкой терминала.
Изредка замечены мелкие подвисания при большом количестве перерисовок экрана (к примеру копирование исходников ядра Linux с одного места на другое), нужно ловить и чинить.

При желании собрать самому, прикладываю исходники mc-4.1.40-pre9.wl500.7z.bz2
Запускать mc.configure, потом make, ну и make install.
Замечено, что при танцах с бубном, при добавлении разных библиотек, у configure иногда залипает некорректная инфа в cache. Можно разкомментировать пару строк в mc.configure, для регуляной прочистки настроек configure, правда с большой потерей в скорости configure.

Чтобы влезть в 1мег ограничения, файлы завёрнуты в tar для сохранения file permitions, потом в 7zip и чтоб можно было загрузить на форум ещё пришлось в bzip2 закрутить (не разрешает грузить файлы с расширением 7z).

ABATAPA
08-05-2009, 05:51
Раз уж выкладываете, то и собирали бы в ipkg.

Есть еще:
http://wl500g.info/showthread.php?t=11483

angel_il
08-05-2009, 10:31
Выкладываю слегка пропатченные исходники с уже собранными бинарниками, может кому пригодится.
Изменения относительно оригинала:

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

qnx4ever
08-05-2009, 18:39
круто конечно, жаль только он мало что умеет, по сравнению с официальной, да и выкидывание glib-а весьма сомнительное мероприятие, по размеру он даже немного больше получается в итоге.

Сравните объём занимаемой памяти через /opt/bin/top
А чего он такого не умеет кроме SSH-FS ?

theMIROn
08-05-2009, 18:44
codejump умеет?

angel_il
08-05-2009, 20:07
Сравните объём занимаемой памяти через /opt/bin/top
А чего он такого не умеет кроме SSH-FS ?

Как на счет этого? :)
http://mobr.blogspot.com/2009_05_01_archive.html

на codejump можно посмотреть вот тут
http://mobr.blogspot.com/2009_02_01_archive.html

qnx4ever
10-05-2009, 11:39
Как на счет этого? :)
http://mobr.blogspot.com/2009_05_01_archive.html

на codejump можно посмотреть вот тут
http://mobr.blogspot.com/2009_02_01_archive.html

Хм... я как-то с таким пока не сталкивался, к подсветке синтаксиса долго привыкнуть не мог. А это ух совсем высший пилотаж. Только я не понял, ты сам codejump написал для MC (http://mobr.blogspot.com/2009_02_01_archive.html) или это фича там уже давно была ?

Iv8
15-05-2009, 18:44
У меня другая ошибка - не дает ничего сливать в репозиторий.

Counting objects: 42, done.
Compressing objects: 100% (25/25), done.
Writing objects: 100% (41/41), 6.81 KiB, done.
Total 41 (delta 14), reused 41 (delta 14)
error: unpack failed: unpack execute failed


Изучение и-нета показывает, что дело, скорее всего, в библиотеке openssl в моем случае и предлагается собрать пакет с какими-то настройками.

Жаль, что я не умею собирать ipkg пакеты.

Break Action
26-07-2009, 15:28
Приветствую Всех,
хотел бы спросить помощи, как или чем можно заменить getloadavg
У меня из-за отсутствия данной команды (пакета) не получается собрать другой.
Был бы благодарен, если бы вы смогли помочь дельным советом.

Вот что нашел рабочий вариант в другом скрипте


int getloadavg(double loadavg[], int nelem)
{
char buf[65], *p;
ssize_t nread;
int i;

if (fd == -2)
fd = open("/proc/loadavg", O_RDONLY);
if (fd < 0)
return -1;

lseek(fd, 0, SEEK_SET);
nread = read(fd, buf, sizeof buf - 1);

if (nread < 0)
return -1;
buf[nread - 1] = '\0';

if (nelem > 3)
nelem = 3;
p = buf;
for (i = 0; i < nelem; ++i) {
char *endp;
loadavg[i] = strtod(p, &endp);
if (endp == NULL || endp == p)
/* This should not happen. The format of /proc/loadavg
must have changed. Don't return with what we have,
signal an error. */
return -1;
p = endp;
}

return i;
}

Помогите плз заменить вот этот код, на работающий


int get_avg_data(struct cpu_data *_cpu)
{
double loadavg[3];

if(-1 == getloadavg(loadavg, 3)) return -1;
_cpu->one = (float) loadavg[0];
_cpu->two = (float) loadavg[1];
_cpu->three = (float) loadavg[2];
return 0;
}

Заранее благодарен.

Break Action
27-07-2009, 23:20
Подскажите плз, где можно взять пакеты aclocal и autoheader для тулчейна?!

Nebulosa
29-07-2009, 07:04
Приветствую Всех,
хотел бы спросить помощи, как или чем можно заменить getloadavg
У меня из-за отсутствия данной команды (пакета) не получается собрать другой.


Что именно вы пытаетесь собрать?

Break Action
29-07-2009, 11:36
Что именно вы пытаетесь собрать?

iStatd http://code.google.com/p/istatd/
Сервер мониторинга.

MrGalaxy
01-11-2009, 09:42
Вышла новая версия mc (http://www.midnight-commander.org/wiki/ru/WikiStart).
Может, соберёт кто ipk?

theMIROn
01-11-2009, 10:25
http://wl500g.googlecode.com/svn/ipkg/optware/

MrGalaxy
01-11-2009, 10:38
http://wl500g.googlecode.com/svn/ipkg/optware/

Там pre3, а уже вышла pre4. Свежачок-с.:)

theMIROn
01-11-2009, 12:36
Там pre3, а уже вышла pre4. Свежачок-с.:)

стучи к al37919 (http://wl500g.info/member.php?u=9021), он у нас по этим пакетам начальник

MrGalaxy
02-11-2009, 17:40
Видно, al37919 и сам догадался.:)
Сегодня mc обновился из реп.
Большое спасибо за новую сборку!

KASRU
18-11-2009, 13:17
Привет всем,
видел раньше вопросы по поводу сборки старого доброго Midnight Commander от Олега Коновалова версии 4.1.40-MP также известного как Mc-Light (http://mc.linuxinside.com)
...


Спасибо большое на эту сборку, это я писал вопросы по поводу сборки старого доброго Midnight Commander от Олега Коновалова версии 4.1.40-MP также известного как Mc-Light. Я вообще фанат этого MC.

Буду тестировать...

А возможно собрать пакет ipkg с mc-light?
И бинарь может назвать mc-light, что бы была возможность ставить его вместе с обычным mc.

--
Александр

angel_il
18-11-2009, 18:50
Спасибо большое на эту сборку, это я писал вопросы по поводу сборки старого доброго Midnight Commander от Олега Коновалова версии 4.1.40-MP также известного как Mc-Light. Я вообще фанат этого MC.

Буду тестировать...

А возможно собрать пакет ipkg с mc-light?
И бинарь может назвать mc-light, что бы была возможность ставить его вместе с обычным mc.

--
Александр

у мц-лайт есть один недостаток - он неумеет utf-8, если для вас это есущественно но неплохой выбор.

the
22-04-2010, 22:56
Коллеги, случаем никто не знает в сети ледит где vmware машинка с легким линуксом где toolchain и все прочее уже настроено для кросскомпиляции и пожно приступить непосредственно к самой компиляции?

Не хочется засорять роутер ненужными пакетами, тем временем хотелось бы несколько приложений перекомпилировтаь под себя, например mediatomb с подержкой last.fm

dimaka
04-06-2010, 13:17
Кто-нибудь, имеющий время, умение и желание, может собрать вот этот софт (http://smstools3.kekekasvi.com/) для роутера?
Пытался сам, но, видимо, не дано :o

CoolRoot
16-10-2010, 11:12
Может кто-нибудь дать ссылку или рассказать как скомпилировать пакет для роутера wl500gp v1 ?

Amlet1
16-10-2010, 11:25
Мне удалось собрать toolchain на убунту.
Для того чтобы победить

WARNING: `makeinfo' is missing on your system. You should only need it if
you modified a `.texi' or `.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy `make' (AIX,
DU, IRIX). You might want to install the `Texinfo' package or
the `GNU make' package. Grab either from any GNU archive site.

которая вылезала у меня аж на 4 ОС семейства линукс и чтоб не собирать под угрюмым debian-ом,на котором только и собрался toolchain без ругательств.Делаем следующее.

На убунту после команды make toolchain сначало ставить все пакеты которые он просит для сборки.Потом вываливается ругательство написанное выше.
Мы берем пакет от debian-a texinfo.Убираем расширение tar.gz.
Потом чтобы его поставить убунту может ругаться что уже стоит install-info
Удаляем его через synaptic.И ставим дебиановский texinfo.
Далее следуем в папку

<optware>/<target>/toolchain/buildroot/toolchain_build_mipsel/binutils-2.17.50.0.8/
и там правим файл configure через gedit находим строчку

| egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then

и меняем ее на

| egrep 'texinfo[^0-9]*([1-3][0-9]|4\.([1-3][0-9]|[4-9])|[5-9])' >/dev/null 2>&1; then
сохраняем.
Теперь снова запускаем make toolchain и вуаля,все собирается.

Важно выполнять все эти действия после ругательства на makeinfo.Так как если сделать это раньше,то установится пакет gettext который удалит наш дебиановский texinfo.

Amlet1
16-10-2010, 11:35
http://www.nslu2-linux.org/wiki/Optware/AddAPackageToOptware

http://wl500g.info/showpost.php?p=213770&postcount=45

в кратце

устанавливаем установить subversion,bison,flex,gettext
далее
заходим в директорию где будет распологаться toolchain
у меня в домашней тоесть cd~
потом
svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware
cd optware
make oleg-target
cd oleg
make directories
make toolchain
make ipkg-utils

а дальше уже по мере появления вопросов

CoolRoot
16-10-2010, 11:45
http://www.nslu2-linux.org/wiki/Optware/AddAPackageToOptware

http://wl500g.info/showpost.php?p=213770&postcount=45

в кратце

устанавливаем установить subversion,bison,flex,gettext
далее
заходим в директорию где будет распологаться toolchain
у меня в домашней тоесть cd~
потом
svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware
cd optware
make oleg-target
cd oleg
make directories
make toolchain
make ipkg-utils

а дальше уже по мере появления вопросов
спасибо за помощь. А так прокатит: исходники на флешку. Дальше на роутере через ssh ./configure --prefix-opt
make , make install ?

Amlet1
16-10-2010, 12:03
как собрать на роутере я не знаю.Поставьте себе virtual box и выделите место на 20Гб на жестком через virtual box.И собирайте в дружелюбной среде через убунту.Там и gnome в помощь и текстовый редактор gedit.Все же проще.

CoolRoot
17-10-2010, 11:19
как собрать на роутере я не знаю.Поставьте себе virtual box и выделите место на 20Гб на жестком через virtual box.И собирайте в дружелюбной среде через убунту.Там и gnome в помощь и текстовый редактор gedit.Все же проще.

Поставил ubuntu 10.04. Собираю toolchain (make toolchain), оно уже час собирает что-то и весит папка уже 1,4 гигабайта это нормально? :rolleyes:

CoolRoot
17-10-2010, 15:20
Итак toolchain и ipkg-utils собрал. Дополню инструкцию.

в кратце
Ставим ubuntu 10.04 LTS
устанавливаем (проверяем чтобы было установлено) gcc, cvs, flex, bison, make, pkg-config, rsync, gettext, libglib2.0-dev, autoconf, libtool, automake, automake1.9, sudo, patch, bzip2, gzip, wget, sed, texinfo, subversion, busybox
далее
заходим в директорию где будет распологаться toolchain
у меня в домашней тоесть cd~
потом
svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware
cd optware
make oleg-target
cd oleg
make directories
make toolchain
make ipkg-utils

Подскажите как теперь собраться свой пакет под роутер?

Zyxmon
17-10-2010, 16:35
Подскажите как теперь собраться свой пакет под роутер?
Читаем приведенную ранее ссылку http://www.nslu2-linux.org/wiki/Optware/AddAPackageToOptware
Начиная с "Making a package using the template".

CoolRoot
17-10-2010, 16:52
Читаем приведенную ранее ссылку http://www.nslu2-linux.org/wiki/Optware/AddAPackageToOptware
Начиная с "Making a package using the template".
Не совсем понятно, например если открыть asterisk14.mk там даже написано какие файлы куда кидать он будет при установке. А как это узнать?


А так можно: мне нужно собрать asterisk 1.4.36 вместо того что щас 1.4.22.1. Нашел в make asterisk1.4.mk открыл gedit, поменял номер версии на 1.4.36 и пути что откуда брать. Что-то собирается :)

Zyxmon
17-10-2010, 19:24
А так можно: мне нужно собрать asterisk 1.4.36 вместо того что щас 1.4.22.1. Нашел в make asterisk1.4.mk открыл gedit, поменял номер версии на 1.4.36 и пути что откуда брать. Что-то собирается :)
Примерно так и делал. Для некоторых пакетов нужно еще и патчи свои делать.

CoolRoot
18-10-2010, 08:43
Скомпилировал пакет, получилась папка - asterisk14-1.4.36-ipk. Заливаю в /opt/, пытаюсь установить
ipkg install /opt/asterisk14-1.4.36-ipk
Nothing to be done
An error ocurred, return value: 4.
Collected errors:
Cannot find package /opt/asterisk14-1.4.36-ipk.
Check the spelling or perhaps run 'ipkg update'

В чем может быть проблема? в папке - 2 папки - control и opt

CoolRoot
18-10-2010, 10:43
Скомпилировал пакет, получилась папка - asterisk14-1.4.36-ipk. Заливаю в /opt/, пытаюсь установить
В чем может быть проблема? в папке - 2 папки - control и opt
Рассовал все руками - работает ;) Правда в ipkg list_installed его естественно нету. Если кому надо - http://narod.ru/disk/26215811000/asterisk14-1.4.36-ipk.tar.gz.html Это asterisk-1.4.36

izgnannic
29-10-2010, 13:06
Всем привет, подскажите откуда установить gcc и make стоит прошивка от Олега поиском не нашел

vectorm
29-10-2010, 14:19
Всем привет, подскажите откуда установить gcc и make стоит прошивка от Олега поиском не нашел
Поиск по "gcc" и "make" выдает кучу полезной информации, переношу опять, поскольку считаю, что в этой, и подобных темах ответ есть.

yuraz
27-11-2010, 18:18
Всем привет, подскажите откуда установить gcc и make стоит прошивка от Олега поиском не нашел

ipkg install optware-devel
mv /opt/include/iconv.h /opt/include/iconv.h.orig
ipkg install buildroot

### на девайсе должно быть свободно место чуть более 200мб

к примеру на девайсе c разделом /opt в 1 гиг
при некотором установленном наборе софты может не хватить места.


Внимание , инсталяция занимает много времени

saker
30-11-2010, 12:05
Использую Asus wl-500w, прошивка от Олега WL500W-1.9.2.7-10.trx

Хотелось бы получить сжатую копию системы (по моему она лежит /dev/mtdblock/0). Делаю следующим образом: cat /dev/mtdblock/0 > /opt/fs.img. На флешке появляется нужный мне файл, но дальше я не могу с ним ничего делать, так как не пойму как правильно навесить патчи Олега на squashfs. Кто нибудь может описать порядок действий для правильной установки патчей? Понятное дело что обычный squashfs не работает, не находит вход.

Глобальная задача это добавление своих программ (написанных мной) прямо в систему, если есть альтернативные методы (не связанные с распаковкой системы) с радостью их использую.

На машине на которой пытаюсь распаковать Debian Squeze 2.6.32-5-686

LnrMn
30-11-2010, 12:41
Всё неправильно..
В mtd0 живет загрузчик.
Если хотите что-то добавить в прошивку - тот самый *.trx и надо рыть, а не mtd0.
Есть firmware mod kit (http://code.google.com/p/firmware-mod-kit/).

ryzhov_al
30-11-2010, 12:54
Глобальная задача это добавление своих программ (написанных мной) прямо в систему, если есть альтернативные методы (не связанные с распаковкой системы) с радостью их использую.

На машине на которой пытаюсь распаковать Debian Squeze 2.6.32-5-686
Можно просто добавить свои файлы в иерархию /usr/local, добавить их в список /usr/local/.files и выполнить
flashfs save && flashfs commit
Тем самым:
а) обеспечив себе беспроблемный апргейд в будущем на более новые версии прошивки,
б) переносимость софта на любой роутер, где есть прошивка от энтузиастов.

Примеры наверняка можно найти в темах про кардшаринг и установку в основную память poptop.

saker
30-11-2010, 14:21
Можно просто добавить свои файлы в иерархию /usr/local, добавить их в список /usr/local/.files и выполнить
flashfs save && flashfs commit


В папке /usr/local/ находятся всего три каталога /root (он пустой), /sbin (я сам туда ранее записывал post-boot) и /etс в котором живет dropbear. Куда мне необходимо скинуть свою программу? И где она потом будет находится?

Так же возник вопрос: каким образом я могу получить файлы, находящиеся в системе (например библиотеки)? Простое sudo cp выдает ошибку Read-Only memory

necrom
03-02-2011, 15:41
Народ подскажите, как можно собрать пакет Lynx под wl500g v2

BPK
04-02-2011, 13:16
Можно прикрепить эту тему, чтоб никто больше не спрашивал.

Имеется прошивка от Олега 1.9.2.7-d, адаптированная для роутера DIR-320. Меня интересует, включён ли в состав данной прошивки компилятор, а если нет, то чем компилировать для этого роутера программы, скачанные в исходниках?

Напишите хотя бы в личку. Был вопрос как компилировать для Броадкома. Думаю, такая тема где-то была, и даже есть правильный ответ, но помогите найти жемчужину в этой помойке.
Искал по словам "компиляция", "компилировать", "компилятор". Ничего полезного не нашёл.
Есть ссылка http://wl500g.info/showthread.php?t=15702 "Сборка прошивки", которая могла бы пролить свет, но ссылка ведёт в никуда. А правда в том, что мне не надо собирать прошивку. Мне лишь надо откомпилировать исходники одной отдельной программы, и не для Пентиума, а для Броадкома.

AndreyUA
04-02-2011, 14:37
Можно прикрепить эту тему, чтоб никто больше не спрашивал.

Имеется прошивка от Олега 1.9.2.7-d, адаптированная для роутера DIR-320. Меня интересует, включён ли в состав данной прошивки компилятор, а если нет, то чем компилировать для этого роутера программы, скачанные в исходниках?
ipkg install optware-devel

al37919
04-02-2011, 18:32
а чем готовый пакет не устраивает?

ipkg list | grep lynx
lynx - 2.8.6-1 - A text browser for the World Wide Web

ryzhov_al
04-02-2011, 19:07
В папке /usr/local/ находятся всего три каталога /root (он пустой), /sbin (я сам туда ранее записывал post-boot) и /etс в котором живет dropbear. Куда мне необходимо скинуть свою программу? И где она потом будет находится?

Так же возник вопрос: каким образом я могу получить файлы, находящиеся в системе (например библиотеки)? Простое sudo cp выдает ошибку Read-Only memory
Тема "Настройка роутера с нуля", п.5.

andr128
05-02-2011, 23:13
To BPK

http://wl500g.info/showpost.php?p=48046&postcount=5
ipkg install buildroot (~41mb)

или напрямую от сюда (http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/buildroot_4.1.1-13_mipsel.ipk) тяните потом локально ставьте.

И будет вам gcc на роутере :D

Моя первая программа на C и притом сделана на роутере, во как! :rolleyes:

Azorex
08-02-2011, 05:34
Эээ.... народ, а можно я в вашу умную дискуссию со своим ламерским вопросом? :) Никак не разберусь, как поставить модули ядра из архивов ночных сборок. делаю так: закачиваю по ftp оригинал, там паттей-mc нахожу нужный файлик, после чего делаю так:

tar -xzf modules-1.9.2.7-rtn-r2546.tar.gz -C /opt/
Оно не ругается, даже делает дирректорию в lib... Это всё, этого достаточно? К сожалению не смог найти понятных инструкций на свой уровень никсовых знаний.

ryzhov_al
08-02-2011, 06:28
Достаточно. Пример здесь (http://www.wl500g.info/showthread.php?t=9112), п.1.1.

pilson66
15-02-2011, 12:25
Скажите, а php-fpm не планируется собрать под php 5.2.17 ?
Детали тут : http://php-fpm.org/

max2007
09-07-2011, 18:44
Здравствуйте , возмодно ли поднять на роутере PPPoE сервер , роутер находится в городской сети ,получает инет по протоколу PPTP от провайдера , хотелосьбы сделать из него PPPoE сервер для роздачи инета в туже сеть прова (для хороших друзей) Вот в репозитории нашёл вот это

ppp_2.4.3-1_mipsel.ipk
Не могу понять это то что мне надо ,или нет ??
Буду благодарен за любые подсказки !!!!

ryzhov_al
09-07-2011, 19:36
Нет, в том пакете только клиент.

И в Optware-пакете и в прошивке энтузиастов используется вариант RP-PPPOE (http://www.roaringpenguin.com/products/pppoe). Необходимо собрать pppoe-server для нашей коробочки.

max2007
09-07-2011, 19:45
Я уже понял об этом , я написал вам в личку просьбу о сборке пакета под нашу прошивку . Повторюсь ещё и здесь , очень ваш прошу собрать RP-PPPOE под наш роутер для прошивки от интузиастов !!! Буду примного благодарен ,и думаю не токо я один . Спасибо !!

ryzhov_al
09-07-2011, 19:56
Ок. Вот pppoe-server для прошивки энтузиастов, работающий в RTN-ветке и не требующий внешних зависимостей. В работе проверен, настройка описана здесь (http://stfw.ru/page.php?id=5065).

Пример использования:

$ cd /tmp/harddisk
$ wget http://ryzhov-al.dyndns.org/files/pppoe-server
$ chmod +x ./pppoe-server
$ ./pppoe-server -O ./pppoe-server.cfg -I br0 -L 192.168.2.1 -R 192.168.2.10
В примере указан внутренний интерфейс br0 для того, чтобы вы могли проверить работоспособность сервера, создав pppoe-соединение средствами Windows. Контролировать работу сервера можно по syslog'у.

Маршрутизация пакетов - отдельная тема.

max2007
09-07-2011, 21:04
При запуске сервера вываливается следующая ошибка

/opt/bin/pppoe-server: symbol 'optarg': can't handle reloc type 0x7e
Как победить ???

amaru
24-11-2011, 10:46
Добрый день!
1. Скачал тулчейны ftp://ftp.dd-wrt.com/others/sourcecode/toolchains/current-toolchains.tar.bz2
2. Выдрал оттуда toolchain-mipsel_gcc4.1.2 и распаковал в ~/toolchain-mipsel_gcc4.1.2


3. Скачал zlib-1.2.5.tar.gz

./configure --prefix=/opt
4. В Makefile поставил

CC=~/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-gcc
LDSHARED=~/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map
CPP=~/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-gcc -E
AR=~/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-ar rc
RANLIB=~/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-ranlib
5.
make
sudo make install
В /opt/lib появилась библиотека

amaru@amaru-MS-7638:/opt/lib$ file libz.so.1.2.5
libz.so.1.2.5: ELF 32-bit LSB shared object, MIPS, MIPS32 version 1 (SYSV), dynamically linked, not stripped



6. Скачал http://www.openssl.org/source/openssl-1.0.0e.tar.gz
7.
openssl
./config --prefix=/opt
8. В Makefile изменил

14,18c14,18
< SHLIB_EXT=.so.$(SHLIB_MAJOR).$(SHLIB_MINOR)
< PLATFORM=linux-x86_64
< OPTIONS=--prefix=/opt -Wa,--noexecstack no-gmp no-jpake no-krb5 no-md2 no-rc5 no-rfc3779 no-shared no-store no-zlib no-zlib-dynamic static-engine
< CONFIGURE_ARGS=linux-x86_64 --prefix=/opt -Wa,--noexecstack
< SHLIB_TARGET=linux-shared
---
> SHLIB_EXT=
> PLATFORM=dist
> OPTIONS=--prefix=/opt -Wa, no-gmp no-jpake no-krb5 no-md2 no-rc5 no-rfc3779 no-shared no-store no-zlib no-zlib-dynamic static-engine
> CONFIGURE_ARGS=dist
> SHLIB_TARGET=
62,63c62,63
< CC= gcc
< CFLAG= -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DWHIRLPOOL_ASM
---
> CC= mipsel-linux-gcc
> CFLAG= -O
66c66
< EX_LIBS= -ldl
---
> EX_LIBS=
69,70c69,70
< AR= ar $(ARFLAGS) r
< RANLIB= /usr/bin/ranlib
---
> AR= ~/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-ar $(ARFLAGS) r
> RANLIB= ~/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-ranlib
75c75
< MAKEDEPPROG= gcc
---
> MAKEDEPPROG= makedepend
91,92c91,92
< CPUID_OBJ= x86_64cpuid.o
< BN_ASM= x86_64-gcc.o x86_64-mont.o
---
> CPUID_OBJ= mem_clr.o
> BN_ASM= bn_asm.o
94c94
< AES_ENC= aes-x86_64.o
---
> AES_ENC= aes_core.o aes_cbc.o
97c97
< RC4_ENC= rc4-x86_64.o
---
> RC4_ENC= rc4_enc.o rc4_skey.o
99,100c99,100
< MD5_ASM_OBJ= md5-x86_64.o
< SHA1_ASM_OBJ= sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
---
> MD5_ASM_OBJ=
> SHA1_ASM_OBJ=
102,104c102,104
< WP_ASM_OBJ= wp-x86_64.o
< CMLL_ENC= cmll-x86_64.o cmll_misc.o
< PERLASM_SCHEME= elf
---
> WP_ASM_OBJ= wp_block.o
> CMLL_ENC= camellia.o cmll_misc.o cmll_cbc.o
> PERLASM_SCHEME=
152,153c152,153
< SHARED_LIBS_LINK_EXTS=.so.$(SHLIB_MAJOR) .so
< SHARED_LDFLAGS=-m64
---
> SHARED_LIBS_LINK_EXTS=
> SHARED_LDFLAGS=
9.
make
sudo make install
Проверяем версию openssl

amaru@amaru-MS-7638:/opt/bin$ file openssl
openssl: ELF 32-bit LSB executable, MIPS, MIPS32 version 1 (SYSV), dynamically linked (uses shared libs), not stripped


10. Скачал openssh ftp://mirror.corbina.net/pub/OpenBSD/OpenSSH/portable/openssh-5.9p1.tar.gz
11.
./configure \
--prefix=/opt \
--host=mipsel-linux \
--with-ssl-dir=/opt \
--with-zlib=/opt \
--disable-utmpx \
CC=~/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-gcc \
CPP=~/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-cpp \
AR=~/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-ar \
RANLIB=~/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-ranlib \
LDSHARED=~/toolchain-mipsel_gcc4.1.2/bin/mipsel-linux-gcc \
--disable-strip \
LDFLAGS="-L. -L/opt/lib -Wl,-rpath,/opt/lib"
В c_all.c закомментил так как ругалось при мейке, судя по коменту, это не всегда нужно

void OPENSSL_add_all_algorithms_noconf(void)
{
/*
* For the moment OPENSSL_cpuid_setup does something
* only on IA-32, but we reserve the option for all
* platforms...
*/
//OPENSSL_cpuid_setup();
OpenSSL_add_all_ciphers();
OpenSSL_add_all_digests();
#ifndef OPENSSL_NO_ENGINE
# if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(HAVE_CRYPTODEV)
ENGINE_setup_bsd_cryptodev();
# endif
#endif
}
12.
make
sudo make install
Проверяю версию sftp

amaru@amaru-MS-7638:/opt/bin$ file sftp
sftp: ELF 32-bit LSB executable, MIPS, MIPS32 version 1 (SYSV), dynamically linked (uses shared libs), not stripped


13. Качаю содержимое папки /opt в флеш /tmp/mnt/disca_3/opt на роутер
14.
mount -o bind /tmp/mnt/disca_3/opt /opt/

15. Захожу в /opt/bin

./sftp
получаю:

[admin@WL-E0CB4E0F7216 bin]$ ./sftp
./sftp: can't load library 'libz.so.1'
'libz.so', 'libz.so.1', 'libz.so.1.2.5' лежат в /opt/lib.
Все пути совпадают с префиксами конфигуров.
Что я делаю не так?

ryzhov_al
24-11-2011, 10:51
[admin@WL-E0CB4E0F7216 bin]$ ./sftp
./sftp: can't load library 'libz.so.1'
'libz.so', 'libz.so.1', 'libz.so.1.2.5' лежат в /opt/lib.
Все пути совпадают с префиксами конфигуров.
Что я делаю не так?Лежат-то лежат, но откуда об этом знают бинарники? Прописывайте при сборке ключ LDFLAGS="-Wl,-rpath,/opt/lib" для линковщика.

ЗЫ А почему решили использовать тулчейн DD-WRT? Использовали бы тогда уж энтузиасткий тулчейн, которым собрана прошивка. Чтобы избежать различий в версиях\фичах используемых тут и там uClibc.

amaru
24-11-2011, 11:22
Лежат-то лежат, но откуда об этом знают бинарники? Прописывайте при сборке ключ LDFLAGS="-Wl,-rpath,/opt/lib" для линковщика.
Спасибо за ответ, но в мейкфайле после конфигура выставяется

LDFLAGS=-L. -Lopenbsd-compat/ -L/opt/lib
видимо, дело не в флагах?


ЗЫ А почему решили использовать тулчейн DD-WRT? Использовали бы тогда уж энтузиасткий тулчейн, которым собрана прошивка. Чтобы избежать различий в версиях\фичах используемых тут и там uClibc.
только начал разбиратся с кросс-компиляцией для WL500, скачал тулчейн, который был в гайде.
Видимо, мне повезло, что пока что не встретил конфликтов.

ryzhov_al
24-11-2011, 11:48
Спасибо за ответ, но в мейкфайле после конфигура выставяется

LDFLAGS=-L. -Lopenbsd-compat/ -L/opt/lib
видимо, дело не в флагах?
Флаги -L и rpath две большие разницы (http://gcc.gnu.org/faq.html#rpath):)

amaru
24-11-2011, 12:11
Флаги -L и rpath две большие разницы (http://gcc.gnu.org/faq.html#rpath):)
Спасибо огромное! Прочитал инфу по вашей ссылке

Дописал в конфигур
LDFLAGS="-L. -L/opt/lib -Wl,-rpath,/opt/lib"
Все заработало =)

Обновлю шапку, вдруг кому-то пригодится

lly
24-11-2011, 12:28
Обновлю шапку, вдруг кому-то пригодится
Тогда измени название темы, т.к. тулчейн DD-WRT на этом форуме мало того что не нужен, так еще может и запутать новичков, т.к. плоховато совместим с Optware и никак не совместим с нашим.