Posted: Tue Jan 19, 2016 6:08 Post subject: Tp-Link TL-WR1043ND rev 2.1 optware ?
Народ, подскажите -- вторую неделю бьюсь с установкой optware на Tp-Link TL-WR1043ND rev 2.1 с прошивкой DD-WRT v3.0-r28788, которая лежит в категории beta(стабильной до сих пор нет), может просто она не поддерживает установку пакетов? Пробовал много разных мануалов, но все безуспешно.
root@My-Buf /opt/bin # uname -a
Linux My-Buf 3.10.94 #14657 Wed Jan 13 04:09:07 CET 2016 mips DD-WRT
root@My-Buf /opt/bin #
Имеем flash ext3 подключенную к USB, в настройках http://192.168.1.1/USB.asp имеем записи после подключения flash к роутеру
Code:
--- /dev/sda1
Block device, size 7.353 GiB (7894728704 bytes)
Ext3 file system
UUID EFAEAAD5-8E52-...-...-... (NCS)
Volume size 7.353 GiB (7894728704 bytes, 7709696 blocks of 1 KiB)
/dev/sda1 mounted to /opt
первоначально будет не /opt но если данный UUID - EFAEAAD5-8E52-...-...-... прописать в поле WEB окна Mount this Partition to /opt то получим нужную точку монтирования /opt.
Далее все будем делать в ручную, потом уже можно будет автоматизировать.
1. переносим некоторые каталоги на flash
Code:
root@My-Buf /opt # cp -a /etc/* /opt/etc/
root@My-Buf /opt # cp -a /lib/* /opt/lib/
root@My-Buf /opt # mount -o bind /opt/etc /etc
root@My-Buf /opt # mount -o bind /opt/lib /lib
root@My-Buf /opt # mount -o bind /opt/root /tmp/root
2. проверим через mount что они там где мы хотим
Code:
root@My-Buf /opt/bin # mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro,relatime)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
ramfs on /tmp type ramfs (rw,relatime)
none on /dev type tmpfs (rw,relatime,size=512K)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
devpts on /proc/bus/usb type usbfs (rw,relatime)
/dev/sda1 on /opt type ext3 (rw,relatime,errors=continue,barrier=1,data=writeback)
/dev/sda1 on /etc type ext3 (rw,relatime,errors=continue,barrier=1,data=writeback)
/dev/sda1 on /lib type ext3 (rw,relatime,errors=continue,barrier=1,data=writeback)
/dev/sda1 on /tmp/root type ext3 (rw,relatime,errors=continue,barrier=1,data=writeback)
6. нужен файл functions.sh его можно посмотреть https://dev.openwrt.org/browser/trunk/package/base-files/files/lib/functions.sh?order=name и положить с правами 755 в каталог /opt/lib. Примечание в каталоге dd-wrt /lib лежит уже привязка к /opt/lib/functions.sh поэтому после выполнения п.1 его придется сначала удалить в
rm -f /opt/lib/functions.sh
а потом переписать его на это место, так же с правами 755.
7. теперь можно попробовать что-то поставить из
src/gz packages http://downloads.openwrt.org/chaos_calmer/15.05/ar71xx/generic/packages/base
скачиваем три файла uclibcxx_0.2.4-1_ar71xx.ipk , libc_0.9.33.2-1_ar71xx.ipk , opkg_9c97d5ecd795709c8584e972bfdf3aee3a5b846d-7_ar71xx.ipk
и пробуем их поставить предварительно скачав например в /opt/tmp
Code:
root@My-Buf:/opt/tmp# ipkg -d /opt install uclibcxx_0.2.4-1_ar71xx.ipk
ipkg_depends: ERROR: Package name uclibcxx_0.2.4-1_ar71xx.ipk contains illegal characters (should be [a-z0-9.+-])
Unpacking uclibcxx_0.2.4-1_ar71xx.ipk...Done.
Configuring uclibcxx_0.2.4-1_ar71xx.ipk...Done.
root@My-Buf:/opt/tmp# ipkg -d /opt install libc_0.9.33.2-1_ar71xx.ipk
ipkg_depends: ERROR: Package name libc_0.9.33.2-1_ar71xx.ipk contains illegal characters (should be [a-z0-9.+-])
Unpacking libc_0.9.33.2-1_ar71xx.ipk...Done.
Configuring libc_0.9.33.2-1_ar71xx.ipk...Done.
root@My-Buf:/opt/tmp# ipkg -d /opt install opkg_9c97d5ecd795709c8584e972bfdf3aee3a5b846d-7_ar71xx.ipk
ipkg_depends: ERROR: Package name opkg_9c97d5ecd795709c8584e972bfdf3aee3a5b846d-7_ar71xx.ipk contains illegal characters (should be [a-z0-9.+-])
Unpacking opkg_9c97d5ecd795709c8584e972bfdf3aee3a5b846d-7_ar71xx.ipk...Done.
Configuring opkg_9c97d5ecd795709c8584e972bfdf3aee3a5b846d-7_ar71xx.ipk...Configuration file `/etc/opkg.conf'
==> File on system created by you or by a script.
==> File also in package provided by package maintainer.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions (if diff is installed)
The default action is to keep your current version.
*** opkg.conf (Y/I/N/O/D) [default=N] ? Y
Done.
root@My-Buf:/opt/tmp#
8. далее разобраться с opkg.conf с его настройками и выполнить opkg update
Last edited by vasek00 on Tue Jan 19, 2016 16:30; edited 1 time in total
Posted: Tue Jan 19, 2016 17:03 Post subject: Re: Tp-Link TL-WR1043ND rev 2.1 optware ?
Code:
root@My-Buf:~# opkg install udpxy
Installing udpxy (2015-03-08-c045a1e855a8033c5d70ab3e42271ba5636eb520-1) to root...
Downloading http://downloads.openwrt.org/chaos_calmer/15.05/ar71xx/generic/packages/packages/udpxy_2015-03-08-c045a1e855a8033c5d70ab3e42271ba5636eb520-1_ar71xx.ipk.
Configuring udpxy.
root@My-Buf:~# udpxy
udpxy 1.0-23.10 (prod) standard [Linux 3.10.94 mips]
usage: udpxy [-vTS] [-a listenaddr] -p port [-m mcast_ifc_addr] [-c clients] [-l logfile] [-B sizeK] [-n nice_incr]
-v : enable verbose output [default = disabled]
-S : enable client statistics [default = disabled]
-T : do NOT run as a daemon [default = daemon if root]
-a : (IPv4) address/interface to listen on [default = 0.0.0.0]
-p : port to listen on
-m : (IPv4) address/interface of (multicast) source [default = 0.0.0.0]
-c : max clients to serve [default = 3, max = 5000]
-l : log output to file [default = stderr]
-B : buffer size (65536, 32Kb, 1Mb) for inbound (multicast) data [default = 2048 bytes]
-R : maximum messages to store in buffer (-1 = all) [default = 1]
-H : maximum time (sec) to hold data in buffer (-1 = unlimited) [default = 1]
-n : nice value increment [default = 0]
-M : periodically renew multicast subscription (skip if 0 sec) [default = 0 sec]
Examples:
udpxy -p 4022
listen for HTTP requests on port 4022, all network interfaces
udpxy -a lan0 -p 4022 -m lan1
listen for HTTP requests on interface lan0, port 4022;
subscribe to multicast groups on interface lan1
есть пара моментов . изначально у меня не было opkg.conf, не проблема была создать. папки для монтирования в opt тоже нужно заранее создать. комманда export TERMINFO='/opt/usr/share/terminfo' в автозагрузке почему-то не отрабатывается, приходится вбивать пока вручную после ребута.
P.S. Спасибо тебе добрый человек. было бы неплохо с export TERMINFO='/opt/usr/share/terminfo' разобраться, в остальном всё ОК
есть пара моментов . изначально у меня не было opkg.conf, не проблема была создать. папки для монтирования в opt тоже нужно заранее создать. комманда export TERMINFO='/opt/usr/share/terminfo' в автозагрузке почему-то не отрабатывается, приходится вбивать пока вручную после ребута.
P.S. Спасибо тебе добрый человек. было бы неплохо с export TERMINFO='/opt/usr/share/terminfo' разобраться, в остальном всё ОК
При беглом взгляде, тогда поставьте в него определение есть ли какой либо файл в /opt/... если есть то выполните все что ни же в противном случае ждать его появления добавив sleep 1 в цикле.
Code:
...
mount -o bind /opt/etc /etc
mount -o bind /opt/lib /lib
export LD_LIBRARY_PATH='/opt/lib:/opt/usr/lib:/lib:/usr/lib:/opt/usr/local/lib'
export PATH='/sbin:/opt/bin:/opt/usr/bin:/opt/sbin:/opt/usr/sbin:/bin:/usr/bin:/usr/sbin:/opt/usr/local/bin'
...
if [ ....... ]; then
export TERMINFO='/opt/usr/share/terminfo'
exit;
fi
sleep 1
...
Такой вариант неудобен только тем если были проблемы с flash или ее уже нет, то данные команды будут висеть в воздухе. Можно и без цикла поставив sleep 15 просто перед TERMINFO
Беда по всей видимости в том, что HDD периодически засыпает и система быстро не может увидеть каталогов для экспорта, потому как по мере использования приходится подбивать эти команды даже без ребута :
export LD_LIBRARY_PATH='/opt/lib:/opt/usr/lib:/lib:/usr/lib:/opt/usr/local/lib'
export PATH='/sbin:/opt/bin:/opt/usr/bin:/opt/sbin:/opt/usr/sbin:/bin:/usr/bin:/usr/sbin:/opt/usr/local/bin'
export TERMINFO='/opt/usr/share/terminfo'
Беда по всей видимости в том, что HDD периодически засыпает и система быстро не может увидеть каталогов для экспорта, потому как по мере использования приходится подбивать эти команды даже без ребута :
export LD_LIBRARY_PATH='/opt/lib:/opt/usr/lib:/lib:/usr/lib:/opt/usr/local/lib'
export PATH='/sbin:/opt/bin:/opt/usr/bin:/opt/sbin:/opt/usr/sbin:/bin:/usr/bin:/usr/sbin:/opt/usr/local/bin'
export TERMINFO='/opt/usr/share/terminfo'
есть идеи ?
Не знаю на счет идей, но есть программа снимающая данный бит на винте, если только это от него.
Второе так же в Open есть программа hdparam или интернет вам в помощь, по отключению данной штуки на винте.
Кто вам мешает в cron хоть раз в 5 минут проверять данные переменные если это принципиально
Code:
echo $PATH
echo $LD_LIBRARY_PATH
echo $TERMINFO
две первые будут всегда, а вот третья может быть пустой, но после установки так же имеет параметр.
Через Custom Script - будет файл /tmp/custom.sh
короче ситуация прояснилась, параметр
export TERMINFO='/opt/usr/share/terminfo'
слетает каждый раз при выходе из ssh сессии. можно ли как-то запускать скрипт или команду при отключении\подключении ssh соединения?
короче ситуация прояснилась, параметр
export TERMINFO='/opt/usr/share/terminfo'
слетает каждый раз при выходе из ssh сессии. можно ли как-то запускать скрипт или команду при отключении\подключении ssh соединения?
если только создать новый каталог например в /opt/root
короче ситуация прояснилась, параметр
export TERMINFO='/opt/usr/share/terminfo'
слетает каждый раз при выходе из ssh сессии. можно ли как-то запускать скрипт или команду при отключении\подключении ssh соединения?
если только создать новый каталог например в /opt/root
BusyBox v1.24.1 (2016-01-13 06:09:28 CET) built-in shell (ash)
: bad variable name:
root@TP-WRT:~# mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro,relatime)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
ramfs on /tmp type ramfs (rw,relatime)
none on /dev type tmpfs (rw,relatime,size=512K)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
devpts on /proc/bus/usb type usbfs (rw,relatime)
/dev/sda1 on /opt type ext2 (rw,relatime,errors=continue,user_xattr)
/dev/sda1 on /etc type ext2 (rw,relatime,errors=continue,user_xattr)
/dev/sda1 on /lib type ext2 (rw,relatime,errors=continue,user_xattr)
/dev/sda1 on /tmp/root type ext2 (rw,relatime,errors=continue,user_xattr)
root@TP-WRT:~# mc
Error opening terminal: xterm.
root@TP-WRT:~#
После последних изменений появилась надпись при логоне
: bad variable name:
параметр
export TERMINFO='/opt/usr/share/terminfo'
по-прежнему слетает после каждой ssh-сессии.Возможно я где-то скриворучил,заранее каюсь, прошу совета
root@My-Buf:/etc/terminfo/l# ls -l
-rw-r--r-- 1 root root 1691 Jan 16 05:30 linux
root@My-Buf:/etc/terminfo/v# ls -l
-rw-r--r-- 1 root root 1194 Jan 16 05:30 vt100
root@My-Buf:/etc/terminfo/x# ls -l
-rw-r--r-- 1 root root 2520 Jan 16 05:30 xterm
-rw-r--r-- 1 root root 1551 Jan 16 05:30 xterm-color
root@My-Buf:/opt/usr/share/terminfo# ls -l
drwxr-xr-x 2 root root 1024 Jan 19 19:16 a
drwxr-xr-x 2 root root 1024 Jan 19 19:16 d
drwxr-xr-x 2 root root 1024 Jan 19 19:16 l
drwxr-xr-x 2 root root 1024 Jan 19 19:16 r
drwxr-xr-x 2 root root 1024 Jan 19 19:16 s
drwxr-xr-x 2 root root 1024 Jan 19 19:16 v
drwxr-xr-x 2 root root 1024 Jan 19 19:16 x
после всех установок оставил только один mount на lib
Code:
root@My-Buf:/opt/usr/share/terminfo/r# mount
...
/dev/sda1 on /opt type ext3 (rw,relatime,errors=continue,barrier=1,data=writeback)
/dev/sda1 on /lib type ext3 (rw,relatime,errors=continue,barrier=1,data=writeback)
root@My-Buf:/opt/usr/share/terminfo/r#
По поводу mount - /etc в /opt/etc
Перестает работать WEB GUI так как в /etc есть файл www
у меня всё OK. www есть GUI работает. ещё один вопрос - в dmesg
EXT2-fs (sda1): warning: mounting ext3 filesystem as ext2
тут винт сменил на ext3 , это критично ? (в модулях ядра нет *ext3.ko, но при этом монтирует нормально)
P.S.TERMINFO так и не заработал, но это не критично.