Ага, гляди еще /proc/<pid>/{maps,smaps,status}
В твоем случае уже оно занимает порядка 40 Mb (меньше, т.к в shared - общие библиотеки и ro секции самого трансмишна)
Printable View
А по top в колонке %MEM ведь показывается private+shared?
Тогда всё равно не клеится: 8.9% от 128МБ RAM = 11,4МБ.
Code:top - 17:21:40 up 1 day, 22:05, 0 users, load average: 0.58, 0.48, 0.43
Tasks: 50 total, 2 running, 48 sleeping, 0 stopped, 0 zombie
Cpu(s): 2.6%us, 2.0%sy, 0.0%ni, 50.7%id, 42.7%wa, 0.0%hi, 2.0%si, 0.0%st
Mem: 126564k total, 111244k used, 15320k free, 1972k buffers
Swap: 130040k total, 4488k used, 125552k free, 80224k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5257 root 15 0 13480 10m 1876 R 3.6 8.9 48:22.12 transmission-da
7688 root 15 0 1644 636 492 R 1.3 0.5 0:01.48 top
284 root 10 -5 0 0 0 D 0.3 0.0 2:36.18 usb-storage
...
Спасибо огромное! Буду тестировать!
Большое спасибо :o
Линковщику
ключом rpath
отцепить libmylib.a из процесса линковки и дописать линковщику ключ -lmylib.
Toolchain (gcc 4.3.5 uClibc 0.9.30.1) K26 x86 build 2011.02.14?
Этим? Что значит K26 в названии?
Да. Ну ежели комментарии к последним коммитам тулчейна сами за себя не говорят, то расшифрую - это тулчейн с uClibc собранной с ядром 2.6 и использующей новые системные вызовы ядра которых не было в 2.4, например inotify, timerfd.
Но использовать новые функции будет корректно только на прошивках ветки -rtn. На старой(2.4) лучше не пробовать - всё зависит от дуракоустойчивости uClibc, которая не очень высока.
Имеется
хотелось-бы иметь две последние опции включенными.Code:Dnsmasq version 2.56rc2 Copyright (c) 2000-2011 Simon Kelley
Compile time options IPv6 GNU-getopt no-RTC no-DBus no-I18N DHCP no-scripts no-TFTP
Если кого не затруднит, сделайте пожалуйста. Размер моей благодарности будет безграничен, в пределах разумного. :)
Среда компиляции - последняя Ubuntu + последний энтузиасткий тулчейн. Распаковываем libusb-1.0.8 и кладём в папку исходников следующий скрипт:
где /opt/brcm/hndtools-mipsel-uclibc/bin - путь до распакованного энтузиасткого тулчейна, /media/Projects/1.9.2.7-rtn-src/linux/linux-2.6/include - путь до соответвующей папки распакованной прошивки.Code:$ cat /media/Projects/projects/builds/libusb-1.0.8/mk_new.sh
#!/bin/sh
AR=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-ar \
AS=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-as \
LD=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-ld \
NM=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-nm \
CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc \
CPP="/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc -E" \
GCC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc \
CXX=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-g++ \
RANLIB=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-ranlib \
STRIP=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-strip \
CPPFLAGS="-O2 -pipe -I/media/Projects/projects/staging-opt/include -I/media/Projects/1.9.2.7-rtn-src/linux/linux-2.6/include " \
LDFLAGS=" -L/media/Projects/projects/staging-opt/lib-oleg -Wl,-rpath,/opt/lib-oleg " \
./configure \
--build=i386-pc-linux-gnu \
--host=mipsel-linux \
--target=mipsel-linux \
--prefix=/media/Projects/projects/make-install \
--libdir=/media/Projects/projects/make-install/lib-oleg \
Далее:
Code:$ ./mk_new.sh
$ make
$ make install
$ echo Profit!
ryzhov_al, На сайте transmission появилась версия 2.22. Вы могли бы её скомпилировать для нашего роутера? Может там поправили баги с памятью и вылетами...
Code:ipkg install ./transmission_2.22-1_mipsel.ipk
Поставилось и без путей..
Спаибо за пакеты.. Будем радоваться..PHP Code:$ wget http://ryzhov-al.homeip.net/files/libevent_2.0.10-1_m
ipsel.ipk
--2011-03-06 19:26:01-- http://ryzhov-al.homeip.net/files/libevent_2.0.10-1_mipsel.ipk
Resolving ryzhov-al.homeip.net (ryzhov-al.homeip.net)... 92.241.103.140
Connecting to ryzhov-al.homeip.net (ryzhov-al.homeip.net)|92.241.103.140|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 308600 (301K) [application/octet-stream]
Saving to: `libevent_2.0.10-1_mipsel.ipk'
100%[======================================>] 308,600 540K/s in 0.6s
2011-03-06 19:26:02 (540 KB/s) - `libevent_2.0.10-1_mipsel.ipk' saved [308600/308600]
$ ipkg install libevent_2.0.10-1_mipsel.ipk
Upgrading libevent on /opt/ from 1.4.14b-1 to 2.0.10-1...
Configuring libevent
Successfully terminated.
$ wget http://ryzhov-al.homeip.net/files/transmission_2.22-1
_mipsel.ipk
--2011-03-06 19:26:32-- http://ryzhov-al.homeip.net/files/transmission_2.22-1_mipsel.ipk
Resolving ryzhov-al.homeip.net (ryzhov-al.homeip.net)... 92.241.103.140
Connecting to ryzhov-al.homeip.net (ryzhov-al.homeip.net)|92.241.103.140|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1526299 (1.5M) [application/octet-stream]
Saving to: `transmission_2.22-1_mipsel.ipk'
100%[======================================>] 1,526,299 662K/s in 2.3s
2011-03-06 19:26:35 (662 KB/s) - `transmission_2.22-1_mipsel.ipk' saved [1526299/1526299]
$ ipkg install transmission_2.22-1_mipsel.ipk
Upgrading transmission on /opt/ from 2.21-1 to 2.22-1...
Configuring transmission
Successfully terminated.
$ reboot
Оказывается нет необходимости сначала скачивать, потом устанавливать пакет. Можно сразу, как тут http://forum.zyxmon.org/post384.html#p384
Сам недавно это обнаружил.Code:ipkg install http://ryzhov-al.homeip.net/files/libevent_2.0.10-1_mipsel.ipk
Чтобы при написании программ не приходилось каждый раз "изобретать велосипед", ряд часто используемых функций (ввод\вывод, сжатие, работа с сетью и пр.) выносят в файл библиотеки функций. Получается, что файл библиотеки функций записан на диске всего один раз, зато используется несколькими программами. Transmission использует следующие библиотеки функций:
Говорят, к напримеру, что transmission зависит от библиотеки zlib. zlib, в свою очередь - зависимая по отношению к transmission.Code:$ ipkg info transmission | grep "^Depends"
Depends: openssl, libcurl, libevent, zlib
Transmission с версии 2.20 использует библиотеку libevent версии 2.0 с некоторыми новшествами, отсутствующими в libevent 1.x. Пришлось помимо transmission собирать зависимую libevent 2.0.
Как можно установить ipfilter? Читал про компиляцию и все такое. Но я в этом чайник. Хотелось бы подробную инструкция для компиляции (установки) rtorrent с ipfilter-ом на наш роутер.
Добрый вечер!
Может кто нибудь собрать последнюю версию прошивки Олега, например вот эту1.9.2.7-10, но с последней версией udpxy как в прошивках на http://code.google.com/p/wl500g/. Прошивка Олега дает максимальную скорость WAN-LAN, но версия удп прокси в ней не умеет обновлять мультикаст подписку -М. Версия с гугла может это делать, но производительность прошивки сильно ниже. Если это возможно и кто то это сделает, буду очень благодарен. Роутер WL-500gP v1.
Спасибо!
ryzhov_al
Здравствуйте!
на сайте http://www.transmissionbt.com/ появился Beta Release: 2.30b3.
Можно Вас попросить скомпилировать это? :rolleyes:
To someoneelse
Для ускорения всего, что выписали в посте 226, а также тут http://code.google.com/p/wl500g/wiki...CustomFirmware, набросал для себя скриптик. Кидаем в директорию со скриптом Toolchain и ядро Linux (linux-2.4.37.11.tar.bz2 или linux-2.6.22.19.tar.bz2). Запускаем скрипт. Смысл его работы, надеюсь понятен;) Мож кому пригодится:)
Кстати, а почему сейчас r2905, а собирается r2902? И еще, toolchain обновился? (r2905 toolchain: gcc 4.4.6 is out)Code:echo "Select:"
echo "1) 1.9.2.7-d 2) 1.9.2.7-rtn"
read f
while [ "${f}" != "1" -a "${f}" != "2" ]
do
echo "select 1 or 2"
read f
done
rm -r /opt/brcm/*
rm -r broadcom/src/*
mkdir -p broadcom/src/linux
mkdir -p /opt/brcm
echo "Old data removed. Press ENTER"
read a
echo "Unpacking hndtools-mipsel-uclibc..."
tar -C /opt/brcm -jxf hndtools-mipsel-uclibc-4.3.5*.tar.bz2
echo "completed"
if [ $f -eq 1 ] ; then
KVER=2.4.37.11
echo "download sources 1.9.2.7-d ...."
svn checkout --quiet http://wl500g.googlecode.com/svn/trunk/ broadcom/src/1.9.2.7-d
echo "completed"
else
KVER=2.6.22.19
echo "download sources 1.9.2.7-rtn ..."
svn checkout --quiet http://wl500g.googlecode.com/svn/branches/rt-n/ broadcom/src/1.9.2.7-rtn
echo "completed"
fi
echo "Unpacking linux-"$KVER" sources..."
ln -sf /opt/brcm/hndtools-mipsel-uclibc-4.3.5* /opt/brcm/hndtools-mipsel-uclibc
tar -C broadcom/src/linux -jxf linux-$KVER.tar.bz2
echo "completed"
if [ "${KVER#2.6}" != "${KVER}" ]; then
ln -sf linux-$KVER broadcom/src/linux/linux-2.6
else
ln -sf linux-$KVER broadcom/src/linux/linux
fi
export PATH=$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin
echo $PATH
if [ $f -eq 1 ] ; then
cd broadcom/src/1.9.2.7-d
else
cd broadcom/src/1.9.2.7-rtn
fi
echo "Preparing completed. Press ENTER"
read a
make kernel
make
cd ../gateway
echo "Select router model:"
echo "1) WL500gp 2) WL500gpv2"
echo "3) WL500W 4) WL700g"
echo "4) RT-N10 5) RT-N12"
echo "7) RT-N16"
read M
while [ $M -lt 1 -o $M -gt 7 ]
do
echo "select 1 - 7"
read M
done
case $M in
1) UMODEL="MODEL=WL500gp";;
2) UMODEL="MODEL=WL500gpv2";;
3) UMODEL="MODEL=WL500W";;
4) UMODEL="MODEL=WL700g";;
5) UMODEL="MODEL=RT-N10";;
6) UMODEL="MODEL=RT-N12";;
7) UMODEL="MODEL=RT-N16";;
esac
sed -i "s/# WL500gp, WL500gpv2, WL500W, WL700g, RT-N10, RT-N12, RT-N16/${UMODEL}/" Makefile
make
make install
mv mipsel-uclibc/*.trx ../../../
########################
Являясь "счастливым" обладателем Powercom IMP-525, как и некоторые участники темы "Управление UPS при помощи NUT" , потратил время в бесплодных попытках прикрутить этот девайс к нашей коробочке ( DIR-320 1.9.2.7-d-r1825 ).
В инете, на ресурсе http://25volt.ru/?p=about нашёл программку 25volt,
может быть найдётся знаток, скомпилирующий её под наши устройства?!
Проверяю тулчейн на работоспособность, пробую собрать какой-нибудь пакет, например: make transmission-ipk
Получаю в ответ
Товарищи что это за файлик UserAgent.pm который нужно положить в любой из указанных путейCode:make[4]: Leaving directory `/root/trunk/builds/libcurl/src'
make[3]: Leaving directory `/root/trunk/builds/libcurl/src'
make[3]: Entering directory `/root/trunk/builds/libcurl'
make[3]: Цель `all-am' не требует выполнения команд.
make[3]: Leaving directory `/root/trunk/builds/libcurl'
generate a fresh ca-bundle.crt
Can't locate LWP/UserAgent.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at lib/mk-ca-bundle.pl line 35.
BEGIN failed--compilation aborted at lib/mk-ca-bundle.pl line 35.
make[2]: *** [ca-bundle] Ошибка 2
make[2]: Leaving directory `/root/trunk/builds/libcurl'
make[1]: *** [/root/trunk/builds/libcurl/.built] Ошибка 2
make[1]: Leaving directory `/root/trunk'
make: *** [/root/trunk/builds/transmission/.configured] Ошибка 2
root@client-1-100:~/trunk#
в репозиториях и в сети не нашел этого пакета мониторинга сетевого трафика. Привыкнув к удобным графикам в более старших системах не хочется с ним расставаться. Может быть у кого-то уже есть пакет или может его скомпилировать?
Заранее спасибо.
Так, разобрался сам, если кому надо-
http://wl500g.info/showthread.php?p=235627
В репозитории не нашел столь удобной утилиты для просмотра нагрузки на сетевых интерфейсах в режиме реального времени и решил сделать пост, мало ли кому понадобится.
Внутри архива slurm 0.3.3 взят из репозитория openwrt.
Установка:
1. Распаковываете бинарних из архива в папку /opt/bin
2. Назначте права 755
3. Если у вас не стоит ncurses, установите
ipkg install ncurses
5. Внесите в /tmp/local/sbin/post-boot строку
export LD_LIBRARY_PATH='/opt/lib'
6. Выполните в консоли
export LD_LIBRARY_PATH='/opt/lib'
flashfs save && flashfs commit
Пользуемся, например, так:
slurm -i eth0
на вскидку: nload, iptraf
и, возможно, получим проблемы между бинарно несовместимыми либами из /lib и /opt/lib.
Если компилируется optware, то оно и должно искать библиотеки в /opt/lib (hint: --prefix=/opt), если родным тулчейном - абс. не нужно привязываться к /opt.
день добрый, помогите пожалуйста собрать inotify-tools, не получается.
вот конфиг роутера
делал как вот тут описано http://www.hub.ru/wiki/%D0%9A%D0%BE%...BE%D1%80%D0%B0, пакеты нужные поставилCode:# cat /.version
1.9.2.7-rtn-r3121
# uname -r
2.6.22.19
распаковал inotify-tools-3.14.tar.gz, далееCode:# ipkg list_installed | grep -E \(buildroot\|optware-devel\)
buildroot - 4.1.1-13 - uClibc compilation toolchain
optware-devel - 6.8-10 - This is a meta package that bundles all the packages required for optware native development. When fully functional, it should
make вываливается вот с такой ошибкойCode:./configure
make
если я правильно понял эта функция ‘__NR_inotify_rm_watch’ должна быть где-то в исходниках ядра.Code:/opt/bin/bash ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../.. -I../../libinotifytools/src/inotifytools -std=c99 -g -O2 -MT inotifytools.lo -MD -MP -MF .deps/inotifytools.Tpo -c -o inotifytools.lo inotifytools.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../.. -I../../libinotifytools/src/inotifytools -std=c99 -g -O2 -MT inotifytools.lo -MD -MP -MF .deps/inotifytools.Tpo -c inotifytools.c -fPIC -DPIC -o .libs/inotifytools.o
In file included from inotifytools/inotify.h:12,
from inotifytools.c:34:
inotifytools/inotify-nosys.h: In function ‘inotify_init’:
inotifytools/inotify-nosys.h:153: error: ‘__NR_inotify_init’ undeclared (first use in this function)
inotifytools/inotify-nosys.h:153: error: (Each undeclared identifier is reported only once
inotifytools/inotify-nosys.h:153: error: for each function it appears in.)
inotifytools/inotify-nosys.h: In function ‘inotify_add_watch’:
inotifytools/inotify-nosys.h:158: error: ‘__NR_inotify_add_watch’ undeclared (first use in this function)
inotifytools/inotify-nosys.h: In function ‘inotify_rm_watch’:
inotifytools/inotify-nosys.h:163: error: ‘__NR_inotify_rm_watch’ undeclared (first use in this function)
make[4]: *** [inotifytools.lo] Error 1
make[4]: Leaving directory `/opt/home/root/inotify-tools-3.14/libinotifytools/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/opt/home/root/inotify-tools-3.14/libinotifytools/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/opt/home/root/inotify-tools-3.14/libinotifytools'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/home/root/inotify-tools-3.14'
make: *** [all] Error 2
скачал исходники linux-2.6.22.19.tar.bz2 прошелся по ним
в исходниках ядра вроде все есть. может их надо куда-то подложить при компиляции? Далее для меня скользая тема, но в /opt/include/linux/version.h строкаCode:# grep -r "__NR_inotify_rm_watch" *
include/asm-powerpc/unistd.h:#define __NR_inotify_rm_watch 277
include/asm-parisc/unistd.h:#define __NR_inotify_rm_watch (__NR_Linux + 271)
include/asm-s390/unistd.h:#define __NR_inotify_rm_watch 286
include/asm-avr32/unistd.h:#define __NR_inotify_rm_watch 242
include/asm-m68k/unistd.h:#define __NR_inotify_rm_watch 286
include/asm-i386/unistd.h:#define __NR_inotify_rm_watch 293
include/asm-x86_64/unistd.h:#define __NR_inotify_rm_watch 255
include/asm-x86_64/unistd.h:__SYSCALL(__NR_inotify_rm_watch, sys_inotify_rm_watch)
include/asm-blackfin/unistd.h:#define __NR_inotify_rm_watch 293
include/asm-sparc/unistd.h:#define __NR_inotify_rm_watch 156 /* Linux specific */
include/asm-sh64/unistd.h:#define __NR_inotify_rm_watch 320
include/asm-h8300/unistd.h:#define __NR_inotify_rm_watch 293
include/asm-mips/unistd.h:#define __NR_inotify_rm_watch (__NR_Linux + 286)
include/asm-mips/unistd.h:#define __NR_inotify_rm_watch (__NR_Linux + 245)
include/asm-mips/unistd.h:#define __NR_inotify_rm_watch (__NR_Linux + 249)
include/asm-sparc64/unistd.h:#define __NR_inotify_rm_watch 156 /* Linux specific */
include/asm-m68knommu/unistd.h:#define __NR_inotify_rm_watch 286
include/asm-arm/unistd.h:#define __NR_inotify_rm_watch (__NR_SYSCALL_BASE+318)
include/asm-ia64/unistd.h:#define __NR_inotify_rm_watch 1279
include/asm-alpha/unistd.h:#define __NR_inotify_rm_watch 446
include/asm-frv/unistd.h:#define __NR_inotify_rm_watch 293
include/asm-sh/unistd.h:#define __NR_inotify_rm_watch 292
может в этой прошивке инклуды только для 2.4 ? inotify появился в 22.6.13.Code:#define UTS_RELEASE "2.4.20"
подскажите пожалуйста как собрать пакет, спасибо