Инструкция по установке дополнительных пакетов

Плееры HDS6L, HDS7L, HDS41L, HDS42L, HDS52L и другие. На основе Realtek 1073DD+ чипа.

Модераторы: plusPlus, Support, Support1, Support2, Admin2, Kazus

Инструкция по установке дополнительных пакетов

Сообщение Ennio » 02 ноя 2009, 23:14

И так. Излагаю наброски своих мыслей на тему установки дополнительного стороннего софта на наши железяки. Задача была простая: получить возможность установки стороннего софта и получить доступ к внешнему репозиторию.
Из всего изложенного далее мое было только желание сделать наш плеер больше, чем просто плеер :D Остальное - это рукописи Великих Гуру, скомпилированные мной. Все, что изложено испытано на собственном HDS5L.

Для проведения испытаний желательно элементарное знание командной строки linux (на уровне ls, vi). Перед началом работ очень желательно прочтение http://www.wl500g.info/showthread.php?t=3171, http://www.wl500g.info/showthread.php?t=18096, http://forum.ixbt.com/topic.cgi?id=62:15578, http://playonhd.ucoz.ru/ и http://google.com Все, что там изложено, в большей степени, относится и к нашему linux-агрегату :D

Хочу сразу предупредить, что я не несу ответственности за исправность и работоспособность ну и т.д. ваших HDS4L и HDS5L.

Поехали!!!

1. должен быть доступ через телнет : ПУСК – ВЫПОЛНИТЬ – telnet <адрес ICONBIT>. Логин “root”, пароля нет.
В некоторых прошивках нет телнета! Win7 & Vista телнет устанавливается отдельно!

2. понять, где находится системный раздел HDD, для чего выполнить команду df –h

Код: Выделить всё
/ # df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                65.4M     54.7M     10.7M  84% /
/dev/mtdblock/2          32.0M      1.3M     30.7M   4% /usr/local/etc
/dev/rd/0                40.0k     40.0k         0 100% /mnt/rd
/dev/scsi/host0/bus0/target0/lun0/part1    465.3G    100.3M    465.2G   0% /tmp/usbmounts/sda1
/dev/scsi/host0/bus0/target0/lun0/part3    151.9M     64.5M     79.6M  45% /tmp/hdd/root

видно, что системный раздел имеет путь /tmp/hdd/root, от этого и отталкиваемся

3. Создаем папку для optware

Код: Выделить всё
mkdir /tmp/hdd/root/opt

4. Создаем линк на эту папку в корне

Код: Выделить всё
mount -o,remount,rw /


Код: Выделить всё
ln -s /tmp/hdd/root/opt opt


5. правим файл /usr/local/etc/profile

Код: Выделить всё
vi /usr/local/etc/profile

как работать с редактором vi - придется почитать в инете

ищем:

Код: Выделить всё
# Path manipulation
if [ `id -u` = 0 ]; then
  pathmunge /sbin
  pathmunge /usr/sbin
  pathmunge /usr/local/sbin
fi

правим:

Код: Выделить всё
# Path manipulation
if [ `id -u` = 0 ]; then
  pathmunge /opt/bin
  pathmunge /opt/sbin
  pathmunge /sbin
  pathmunge /usr/sbin
  pathmunge /usr/local/sbin
  pathmunge /opt/etc/init.d
fi

ищем:

Код: Выделить всё
#export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
export PATH HOSTNAME HISTSIZE TERM

правим:

Код: Выделить всё
HOME=/opt
#export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
export PATH HOSTNAME HISTSIZE TERM HOME

Если будем использовать mc, добавим еще

Код: Выделить всё
export TERMINFO=/opt/share/terminfo
export TERM="xterm"

ищем:

Код: Выделить всё
alias open="eject /dev/cdroms/cdrom0"
alias close="eject -t /dev/cdroms/cdrom0"

правим:

Код: Выделить всё
alias open="eject /dev/cdroms/cdrom0"
alias close="eject -t /dev/cdroms/cdrom0"
alias mc="mc -c"

6. создаем домашнюю папку для root

Код: Выделить всё
vi /usr/local/etc/passwd

ищем:

Код: Выделить всё
root::0:0:root::/bin/sh

правим:

Код: Выделить всё
root::0:0:root:/opt:/bin/sh

7. перегружаем плеер

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

8. выполняем команды

Код: Выделить всё
mount -o,remount,rw /


Код: Выделить всё
mkdir /opt/tmp
mkdir /opt/tmp/ipkg
cd /opt/tmp/
wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/uclibc-opt_0.9.28-13_mipsel.ipk
ipkg-cl install uclibc-opt_0.9.28-13_mipsel.ipk
wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ipkg-opt_0.99.163-10_mipsel.ipk
ipkg-cl install ipkg-opt_0.99.163-10_mipsel.ipk
rm *.ipk
cd /opt/bin
./ipkg update

У меня в этом месте произошла маленькая загвоздка... в виде

Код: Выделить всё
/tmp/hdd/root/opt/tmp #ipkg-cl install uclibc-opt_0.9.28-13_mipsel.ipk
Installing uclibc-opt (0.9.28-13) to root...
uclibc-opt: unsatisfied recommendation for ipkg-opt
Configuring bzip2
//tmp/package/ipkg/info/bzip2.postinst: //tmp/package/ipkg/info/bzip2.postinst: 2: /opt/bin/update-alternatives: not found
postinst script returned status 127
ERROR: bzip2.postinst returned 127
Configuring gzip
//tmp/package/ipkg/info/gzip.postinst: //tmp/package/ipkg/info/gzip.postinst: 2: /opt/bin/update-alternatives: not found
....
postinst script returned status 127
ERROR: gzip.postinst returned 127
Configuring uclibc-opt
Updating /opt/etc/ld.so.cache
Successfully terminated.

Пришлось сделать так

Код: Выделить всё
rm *.ipk
wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ipkg-opt_0.99.163-10_mipsel.ipk
ipkg-cl install -force-reinstall ipkg-opt_0.99.163-10_mipsel.ipk
wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/uclibc-opt_0.9.28-13_mipsel.ipk
ipkg-cl install -force-reinstall uclibc-opt_0.9.28-13_mipsel.ipk


Если переустановили прошивку, выпонять нужно только пункты 4-7 !!! Если винт отформатировали, тогда опять все попорядку 1-8.

Далее все завитит только от Ваше фантазии! Дерзайте! Любые замечания приветсвуются!

Лично от меня ОГРОМНОЕ СПАСИБО за помощь гуру Lossless и ----8---- http://forum.ixbt.com/, http://playonhd.ucoz.ru/
Последний раз редактировалось Ennio 20 мар 2010, 21:03, всего редактировалось 14 раз(а).
ICONBIT HDS5L + FW:unofficial_hds5l_212_kernel212_r8 + доработка напильником + дополнения
Ennio
Знающий человек
 
Сообщения: 136
Зарегистрирован: 25 окт 2009, 09:20
Откуда: Уфа

Re: Инструкция по установке дополнтельных пакетов

Сообщение Ennio » 02 ноя 2009, 23:15

Постараюсь сделать инструкцию по дальнйшей установке пакетов. Ибо обстоятельства семейные и дела житейские в скором будущем не оставят мне ни капли свободного времени :D Объясню на пальцах куда копать.
0. Пользуйтель Putty. Это сбережет Ваши нервы.
1.Выключаем штатный ВТ и веб-интерфейс (не нужны они нам).
2. Ставим пакеты
файловый менеджер (можно редактировать файлы F4)
Код: Выделить всё
ipkg install mc

веб-браузер
Код: Выделить всё
ipkg install lynx

для торента
Код: Выделить всё
ipkg install busybox
ipkg install bash
ipkg install procps
ipkg install grep
ipkg install screen
ipkg install gawk
ipkg install adduser
ipkg install rtorrent

Код: Выделить всё
mkdir -p /tmp/hddmedia/torrent/dl
mkdir -p /tmp/hddmedia/torrent/work
mkdir -p /tmp/hddmedia/torrent/session

Правим файл /opt/etc/rtorrent.conf под себя. Т.е. меняем пути к своим закачкам на /tmp/hddmedia/...., порты дотупа Port_range=ХХХ, и самое главное дописываем в файл с новой строки scgi_port = 127.0.0.1:5000 (это для связи с нашим веб-интерфейсом). Посмотрите мои настройки или файл мой возьмите.
Теперь можно запускать торрент
Код: Выделить всё
S99rtorrent start

Если по каким-то причинам торрент не запускается, даем команду
Код: Выделить всё
rtorrent -n -o import=/opt/etc/rtorrent.conf

и наблюдаем за результатом - ищем ошибки.

Для нового веб-интерфейса
Код: Выделить всё
ipkg install lighttpd
ipkg install php-fcgi
ipkg install perl

Код: Выделить всё
mkdir /opt/share/www/log/
chmod 777 /opt/share/www/

Настраиваем /opt/etc/lighttpd/lighttpd.conf Проще всего взять мои файлы и под себя поправить server.port = хххх
В /usr/local/etc/profile обязательно добавить!
Код: Выделить всё
 pathmunge /opt/etc/init.d

3. В самом конце /usr/local/etc/rcS добавить
Код: Выделить всё
mkdir -p /var/run/

просто так надо...
И добавим автозапуск
Код: Выделить всё
# Autorun
sleep 30
/opt/etc/init.d/rc.unslung start


3.1 Создадим /opt/etc/init.d/rc.unslung следующего содержания
Код: Выделить всё
#!/bin/sh

# Start/stop all init scripts in /opt/etc/init.d
# starting them in numerical order and
# stopping them in reverse numerical order
#
if [ $# -ne 1 ]; then
printf "Usage: $0 {start|stop}\n" >&2
exit 1
fi

daemons=`echo $(/usr/bin/dirname $0)/S??*`
[ $1 = "stop" ] && daemons=`echo $daemons | /usr/bin/tr " " "\n" | /usr/bin/sort -r`

for i in $daemons; do

# Ignore dangling symlinks (if any).
[ ! -f "$i" ] && continue

# Write to syslog
logger -t rc.unslung "$1 service $i"

case "$i" in
*.sh)
# Source shell script for speed.
(
trap - INT QUIT TSTP
set $1
. $i
)
;;
*)
# No sh extension, so fork subprocess.
$i $1
;;
esac
done

Сделаем испоняемым
Код: Выделить всё
chmod +x /opt/etc/init.d/rc.unslung


4. Теперь веб морду вставляем.
Идем http://code.google.com/p/rutorrent/
Скачиваем rtorrent-Х.Х.tar.gz, распаковываем (можно прямо в mc рапаковать куда нужно) в папку /opt/share/www/rtorrent

Теперь у нас есть веб-интерфейс и в нем управлнение торрентом по адресу http://<router>:8081/rtorrent

5. Добавляем качалку файлов http://www.wl500g.info/showpost.php?p=58619&postcount=1

6. Ставим CRON в точности как описано тут http://www.wl500g.info/showpost.php?p=128993&postcount=5


P.S. Периодически даем команды
Код: Выделить всё
ipkg update
ipkg upgrade


У меня все изложенное работает на ура! Если чего и упустил, так это какой нибудь пакет... Файлы конфигураций лучше использовать все мои, там все подводные камни уже исправлены...
Последний раз редактировалось Ennio 20 мар 2010, 22:02, всего редактировалось 20 раз(а).
ICONBIT HDS5L + FW:unofficial_hds5l_212_kernel212_r8 + доработка напильником + дополнения
Ennio
Знающий человек
 
Сообщения: 136
Зарегистрирован: 25 окт 2009, 09:20
Откуда: Уфа

Re: Инструкция по установке дополнительных пакетов

Сообщение mishin » 02 ноя 2009, 23:39

+1 :-) этот шаг в популяризации девайса трудно переоценить!
Администраторы. Сделайте, пожалуйста, какую-нть карму или "спасибки" на форуме... Это будет индикатором людей, идеи которых оценили

Только открой, пжлста, секрет, как ты сделал линк в корень?
Код: Выделить всё
/ # ln -s /tmp/hdd/root/opt opt
ln: opt: Read-only file system

а моё дерево
Код: Выделить всё
/usr/local/etc # mount
/dev/root on / type yaffs2 (ro,noatime)
none on /dev type devfs (rw)
none on /proc type proc (rw,nodiratime)
devpts on /dev/pts type devpts (rw)
none on /sys type sysfs (rw)
/dev/mtdblock/2 on /usr/local/etc type yaffs2 (rw,noatime)
none on /tmp type ramfs (rw)
/dev/rd/0 on /mnt/rd type vfat (rw,nodiratime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1)
/dev/scsi/host8/bus0/target0/lun0/part1 on /tmp/usbmounts/sda1 type ufsd (rw,nodiratime)
/dev/scsi/host8/bus0/target0/lun0/part3 on /tmp/hdd/root type ext3 (rw)
... и, казалось мне, без моих идей мир не сможет прожить и дня,
а, оказалось, в мире полно людей. И все умней меня...
Аватара пользователя
mishin
 
Сообщения: 87
Зарегистрирован: 29 окт 2009, 15:24
Откуда: Россия, Саратовская обл., г.Балаково

Re: Инструкция по установке дополнительных пакетов

Сообщение mishin » 03 ноя 2009, 00:54

mishin писал(а):Только открой, пжлста, секрет, как ты сделал линк в корень?

Отвечаю сам себе.

Мне показалось хорошей идеей, когда корень только для чтения... Но для изменений в корне необходимо разрешить в него запись. Итак, пишем команду:
Код: Выделить всё
mount -o rw,remount /

И, о чудо!!! Корень доступен для записи...
Эту команду надо выполнить в начале инструкции (имхо). После перезагрузки устройства в п. 7, корень опять окажется доступен только для чтения, но это уже не важно - линки сделаны.

P.S.
хехехехехе
Код: Выделить всё
  Left     File     Command     Options     Right
+<- /tmp/hdd/root/opt/bin -------------v>++<- /tmp/hdd/root/opt/bin --------------v>+
|        Name       | Size  |   MTime    ||        Name        | Size  |   MTime    |
|/..                |UP--DIR|            ||/..                 |UP--DIR|            |
|*glib-genmarshal   |  24324|Jul  4  2009||*glib-genmarshal    |  24324|Jul  4  2009|
|*glib-gettextize   |   5448|Jul  4  2009||*glib-gettextize    |   5448|Jul  4  2009|
|*glib-mkenums      |  15404|Jul  4  2009||*glib-mkenums       |  15404|Jul  4  2009|
|*gobject-query     |   7724|Jul  4  2009||*gobject-query      |   7724|Jul  4  2009|
|*gtester           |  20996|Jul  4  2009||*gtester            |  20996|Jul  4  2009|
| gtester-report    |  13590|Jul  4  2009|| gtester-report     |  13590|Jul  4  2009|
Последний раз редактировалось mishin 03 ноя 2009, 23:55, всего редактировалось 1 раз.
... и, казалось мне, без моих идей мир не сможет прожить и дня,
а, оказалось, в мире полно людей. И все умней меня...
Аватара пользователя
mishin
 
Сообщения: 87
Зарегистрирован: 29 окт 2009, 15:24
Откуда: Россия, Саратовская обл., г.Балаково

Re: Инструкция по установке дополнительных пакетов

Сообщение stcom » 03 ноя 2009, 01:57

Спасибо за подробные инструкции!
Все делал как описано. Но когда ввел команду
ipkg-cl install uclibc-opt_0.9.28-13_mipsel.ipk
получил
ipkg invalid magic
Как побороть эту ошибку, может кто знает?
Когда ввожу команду
ipkg --version
Получаю
-sh: ipkg: not found
stcom
 
Сообщения: 1
Зарегистрирован: 03 ноя 2009, 01:50

Re: Инструкция по установке дополнительных пакетов

Сообщение mishin » 03 ноя 2009, 02:34

stcom писал(а):Спасибо за подробные инструкции!
Все делал как описано. Но когда ввел команду
ipkg-cl install uclibc-opt_0.9.28-13_mipsel.ipk
получил
ipkg invalid magic

Думается, что пакет стянулся с ошибкой
stcom писал(а):Когда ввожу команду
ipkg --version
Получаю
-sh: ipkg: not found

Это как раз понятно: ipkg то еще не установлен, пользуемся нативным ipkg-cl
... и, казалось мне, без моих идей мир не сможет прожить и дня,
а, оказалось, в мире полно людей. И все умней меня...
Аватара пользователя
mishin
 
Сообщения: 87
Зарегистрирован: 29 окт 2009, 15:24
Откуда: Россия, Саратовская обл., г.Балаково

Re: Инструкция по установке дополнительных пакетов

Сообщение easy » 03 ноя 2009, 11:31

Ennio писал(а):Итак.

Большое спасибо! :good:
Аватара пользователя
easy
 
Сообщения: 1
Зарегистрирован: 03 ноя 2009, 11:27
Откуда: Мурманск

Re: Инструкция по установке дополнительных пакетов

Сообщение gavrila » 03 ноя 2009, 19:13

Чтобы MC можно было нормально пользовать нужно в profile поменять кодировку терминала TERM=xterm

Вместо rtorrent можно transmission поставить http://wl500g.info/showthread.php?t=12209&highlight=%F2%F0%E0%ED%F1%EC%E8%F1%E8%EE%ED и виндовый клиент к нему transmission-remote-dotnet http://code.google.com/p/transmission-remote-dotnet/
HDS6L (fw_hds6l_v8.5.2.r4387_1.9l3_ru) + Asus RT-N16 + Qnap TS-219P Turbo NAS
Аватара пользователя
gavrila
 
Сообщения: 119
Зарегистрирован: 26 окт 2009, 05:02
Откуда: Москва

Re: Инструкция по установке дополнительных пакетов

Сообщение mishin » 03 ноя 2009, 23:36

gavrila писал(а):Вместо rtorrent можно transmission поставить и виндовый клиент к нему


Спасибо. Хороший вариант
... и, казалось мне, без моих идей мир не сможет прожить и дня,
а, оказалось, в мире полно людей. И все умней меня...
Аватара пользователя
mishin
 
Сообщения: 87
Зарегистрирован: 29 окт 2009, 15:24
Откуда: Россия, Саратовская обл., г.Балаково

Re: Инструкция по установке дополнительных пакетов

Сообщение mishin » 04 ноя 2009, 01:41

А кто-нть разобрался, где зацепиться за автозагрузку? Т.е. какой скрипт гарантированно грузится при старте?
Чегой-то какой не попробую по смыслу - всё мимо...

Хочется таки автоматически грузить ntpd и transmission.
... и, казалось мне, без моих идей мир не сможет прожить и дня,
а, оказалось, в мире полно людей. И все умней меня...
Аватара пользователя
mishin
 
Сообщения: 87
Зарегистрирован: 29 окт 2009, 15:24
Откуда: Россия, Саратовская обл., г.Балаково

След.

Вернуться в Сетевые медиа плееры - HDS серии (на Realtek 1073DD+)

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 3