1

Тема: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

Установка пакетов на внешний usb диск (или usb флешку) никак не модифицирует прошивку кинетика. Вы в любой момент можете отключить диск и вернуться к заводскому функционалу!

Подробнее о расширении функционала кинетиков и некоторых дополнительных пакетах можно прочесть в wiki - http://keenetic.zyxmon.org/wiki/doku.php/start


Для старых прошивок (до 10 ноября 2011 года) есть отдельный репозиторий, который не поддерживается. Подробнее об этом можно почитать в теме. Или тут.

ВНИМАНИЕ!!! Прошивки серии V2 НЕ ПОДДЕРЖИВАЮТСЯ!!!

Для прошивок V1 на googlecode созданы репозитории бинарных пакетов и выложены скрипты инсталляции (ext_init.sh-r2.tar.gz и ext_init.sh-r2.zip - первая серия и omni) и (ext_init.sh-II.tar.gz и ext_init.sh-II.zip - серия II: keenetic II, giga II, ultra).

Страница загрузки - http://code.google.com/p/zyxel-keenetic … loads/list.

Установка производится так:

0. Читаем wiki. Старый вариант на googlecode - http://code.google.com/p/zyxel-keenetic … ki/Welcome (разделы 1-9).

1. Берем носитель с файловой системой ext2 или ext3 и помещаем в папку DISK_A1/system/bin исполняемый файл ext_init.sh из архива. Файл должен иметь атрибут исполнения. Можно этот файл поместить на носитель, подключенный к кинетику используя самбу.

2. Перемонтируем носитель (если был подключен к кинетику) или просто подключаем к usb кинетика и ждем минуту-другую, пока в логе не появятся строки приблизительно такого вида:

26 ноя 10:14:30    root    Starting opkg/linux install
26 ноя 10:14:30    root    All errors are logged in a file /media/DISK_A1/tmpinstall/err.log
26 ноя 10:14:30    root    Extracting busybox
26 ноя 10:14:30    root    Unpacking busybox
26 ноя 10:14:30    root    Extracting system
26 ноя 10:14:36    root    Unpacking system
26 ноя 10:14:37    root    Generating rsa/dss keys for dropbear
26 ноя 10:14:54    root    Starting dropbear
26 ноя 10:14:54    dropbear[508]    Running in background
26 ноя 10:14:54    root    Connect to keenetic using ssh and run finish_install.sh to finish installation

3. Подключаемся к кинетику по ssh. Логин root, пароль из пяти букв, начинающийся на z.
Выполняем к консоли finish_install.sh
и ждем пока все завершится (создастся swap файл):

 Creating swap file. Please wait...
 128+0 records in
 128+0 records out
 Setting up swapspace version 1, size = 134213633 bytes
 Loading current packages list
 Downloading http://zyxel-keenetic-packages.googlecode.com/svn/binary-packages-r2/Packages.gz.
 Inflating http://zyxel-keenetic-packages.googlecode.com/svn/binary-packages-r2/Packages.gz.
 Updated list of available packages in /media/DISK_A1/system/var/opkg-lists/packages.

4. Меняем пароль с помощью команды passwd. Пароль для соединения по ssh никак не связан с паролем для web конфигуратора.

5. После этого ставим необходимые пакеты с помощью команды opkg. Например, устанавливаем midnight commander с помощью "opkg install mc".

PS Список пакетов в репозитарии постоянно пополняется новыми. Изменения в репозитарии всегда можно посмотреть по ссылке http://code.google.com/p/zyxel-keenetic … ource/list

Начиная с лета 2013 установка пакетов возможна и на неофициальные прошивки V1 новой серии кинетиков: keenetic II, keenetic giga II и keenetic ultra.
Установка аналогична, но скрипты инсталяции другие (ext_init.sh-II.tar.gz и ext_init.sh-II.zip).

76

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

Zulu :

С хабом проще, там первый порт DISK_A1, второй порт DISK_B1 и т.д. Никогда не перепутается)

Да можно это все упорядочить.
В прошивках старше чем
http://forum.zyxmon.org/post4138.html#p4138

+10. Добавлен запуск ext_init.sh и ext_firewall.sh из /storage/system/bin/

Установил минимальную opkg в /storage
http://forum.zyxmon.org/post4262.html#p4262
Т.к. busybox для установки в storage урезан (не может монтировать диски по UUID), пришлось скопировать busybox с полноценной opkg (на внешнем диске) в /storage/system/bin.
В /storage/system/etc/init.d/ сделал скрипт, в секции start проверяющий наличие файла /media/DISK_A1/system/bin/ext_init.sh 
Если файл есть, значит системный диск подмонтировался верно и дальше по UUID монтируются остальные диски куда нужно.
Если файла нет, то:
1. Размонтируем всё из /media.
2. Монтируем по UUID сначала диск без opkg (куда нам нужно), а потом диск с opkg (естественно в /media/DISK_A1)
mount UUID="da7c21a6-2687-4cfc-b11a-f1b013ba9874" /media/DISK_B1/
и
mount UUID="cf5df455-1a76-4ea9-a991-27ba66150d38" /media/DISK_A1/
Все работает.

UPD 15.03.12 г.: Еще раз спасибо Zyxmon - теперь busybox для установки в /storage умеет монтировать разделы по UUID. Танцы с копирование полного busybox более не нужны. http://forum.zyxmon.org/post5230.html#p5230

Отредактировано laforsh (2013-01-23 08:29:17)

77

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

laforsh, замечательное решение. wink
НО

laforsh :

пришлось скопировать busybox с полноценной opkg (на внешнем диске) в /storage/system/bin.

Вот это чревато некоторыми глюками. Я не стал добавлять апплет mount к "урезанному" busybox для storage, т.к. mount (урезанный) есть в заводской прошивке. Правильнее собрать busybox с апплетом mount для storage.

78

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

Zyxmon :

laforshВот это чревато некоторыми глюками. Я не стал добавлять апплет mount к "урезанному" busybox для storage, т.к. mount (урезанный) есть в заводской прошивке. Правильнее собрать busybox с апплетом mount для storage.

Если соберете busybox с апплетом, то от этого можно (и даже нужно), конечно уйти.  И место в /storage сэкономится.
Могу привести свой работающий скрипт, но он корявейший (с точки зрения гуру) и сделан не универсальным - только под мои конкретные диски-партиции-UUID. Cложного там ничего (для Вас), думаю нет, а принцип я описал выше.
А глюки похоже есть - иногда (правда бывает это очень редко) не стартуют приложения с внешнего диска. Взаимосвязи с чем-то пока не обнаружил. Может в прошивке (V1.00(BFW.5b)D0 14-фев-2012) дело, может еще в чем...

79

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

Приветствую честную компанию.

Товарищи, а это нормально, что opkg search ничего не ищет вообще?

Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn...
Keenetic Giga & WD Mybook Live user

80

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

искать не так надо. ищите вот так:

opkg list | grep packetsname

например

opkg list | grep tcpdump

найдёт пакет tcpdump.

81

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

felcons, я так и ищу. Просто это - костыль. А поиск в opkg заявлен как бы...

Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn...
Keenetic Giga & WD Mybook Live user

82

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

Dr.Acid :

Это, говорят, у всех по разному (видимо, зависит от хаба. У меня - тоже так, всё чётко)

Непонятно от чего это зависит. Могу и ошибаться, но сложилась такое впечатление:
Стоят два диска одинаковой модели, одинакового размера. Покупались в разное время. Если дать reboot кинетику через dropbear или перегрузить его через web интерфейс, то sda практически всегда становится один (который "системный")  диск. Если перегрузить связку роутер+диски по питанию, то практически всегда sda становится другой диск (который "несистемный").
Кстати еще раз спасибо Zyxmon - теперь busybox для установки в /storage умеет монтировать разделы по UUID.
http://forum.zyxmon.org/post5270.html#p5270

83

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

laforsh :

Непонятно от чего это зависит.

Может быть от времени раскрутки шпинделя и готовности диска? При перезагрузке через reboot/web остановки дисков не происходит, а при перезагрузке по питанию - происходит.

84

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

laforsh :

Если дать reboot кинетику через dropbear или перегрузить его через web интерфейс, то sda практически всегда становится один (который "системный")  диск. Если перегрузить связку роутер+диски по питанию, то практически всегда sda становится другой диск (который "несистемный").

Здесь очевидное решение - поменять их ролями (т.е. с системного перенести всё на другой и наоборот)
Тогда всегда всё будет правильно(работать).

85

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

В районе нового года установил busybox, добавил minidlna, udpxy+xupnpd. СС тех пор ничего не менял, кроме конфигов udpxy и xupnpd. всё работало... с неделю назад заходил через ssh - всё ОК. Вчера сунулся - putty показывает окно терминала и молчит. все приложения работают, на изменения конфигов отзываются, при перемонтировании флешки перезапускаются. доступа к комстроке по-прежнему нет. В логе кинетика при перемонтировании флешки следующие строки:

20:56:10    dropbear[19843]    Failed listening on '22': Error listening: Address already in use
20:56:10    dropbear[19843]    Premature exit: No listening ports available.

обновил прошивку на сегодняшнюю от McMCC, поведение, как и ожидалось, не изменилось.
Я понимаю, что можно переформатировать флешку и поставить всё заново... а "меньшей кровью" это возможно? С линуксом на "вы", но по аналогии с ДОСом кое-что разумею.

86

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

S_Bugaev, похоже на проблему с двойным стартом -
http://forum.zyxmon.org/topic95-dvoinoi … istva.html
Отключите питание, потом включите. Или перемонтируйте диск.

87

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

Zyxmon :

S_Bugaev, похоже на проблему с двойным стартом -
http://forum.zyxmon.org/topic95-dvoinoi … istva.html
Отключите питание, потом включите. Или перемонтируйте диск.

перемонтировать сразу по обнаружении проблемы пробовал - безуспешно. Мало того, софтовые ребуты осле перепрошивки (2 раза, мартовская с переразметкой памяти и последняя) и восстановления параметров (ещё раз) тоже не помогли.
А вот слона-то я и не заметил... После перезагрузки по питанию всё заработало как надо. Спасибо за совет!
На будущее - есть какие-то способы "освежить" систему, без переформатирования и переустановки всего, аналогично установке видны "поверх"? Как отреагирует система, если повторить выполнение ext_init.sh?

Отредактировано S_Bugaev (2012-03-20 22:02:57)

88

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

S_Bugaev, переустановка Вам не поможет для решения этой проблемы. Модифицируйте скрипт, как написано в теме про "двойной старт". Я наблюдал такое поведение один раз на Giga, поэтому проверить не могуи не модифицирую скрипт.

All Для полной переустановки системы достаточно на ББ удалить папку system на usb и начать все заново.

89

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

Обновлены пакеты в репозитории:
busybox, minidlna, libffmpeg.

90

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

Обновлен пакет nginx. Для того, чтобы работал, нужно в конфиге прописать user=root.

91

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

После неудачных эксперементов решил переустановить opkg, опять возникла проблема, о которой я писал раньше. Перепробовал кучу версий прошивок, делал полный сброс, ничего не помогло, не пускает по ssh.  sad

92

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

Zulu :

После неудачных эксперементов решил переустановить opkg, опять возникла проблема, о которой я писал раньше. Перепробовал кучу версий прошивок, делал полный сброс, ничего не помогло, не пускает по ssh.  sad

Сюда обращались?

93

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

Что именно надо пояснить? Все точно так-же, как я описывал тут http://forum.zyxmon.org/post4341.html#p4341

12 апр 19:19:40    root    Starting opkg/linux install
12 апр 19:19:40    root    All errors are logged in a file /media/DISK_A1/tmpinstall/err.log
12 апр 19:19:40    root    Extracting busybox
12 апр 19:19:41    root    Unpacking busybox
12 апр 19:19:41    root    Extracting system
12 апр 19:19:49    root    Unpacking system
12 апр 19:19:50    root    Generating rsa/dss keys for dropbear
12 апр 19:19:50    root    Starting dropbear
12 апр 19:19:50    root    Connect to keenetic using ssh and run finish_install.sh to finish installation

Отредактировано Zulu (2012-04-12 16:17:10)

94

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

Zulu :

Все точно так-же, как я описывал тут

Все читатели помнят посты двухмесячной давности, я нет.
Что говорят "exec top" и "exec ps" в cli?

Переиментуйте с ББ ext_init_final.sh в ext_init.sh и перемонтируйте usb (или перегрузите кинетик). Если все нормально - создайте swap файл руками (см. скрипт  finish_install.sh).

PS Кроме Вас мало кто жалуется на подобную проблему, делайте выводы.

95

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

ext_init_final.sh в ext_init.sh это в папке tmpinstall в архиве system.tar?
Переименовал, перемонтировал флешку, пишет:

12 апр 19:44:58    root    Skipping second installation attempt
12 апр 19:44:58    root    Please remove /media/DISK_A1/tmpinstall directory to start installtion once more

exec top
http://i036.radikal.ru/1204/76/25e1bbb7a521t.jpg

exec ps
http://s018.radikal.ru/i525/1204/ac/9a6b3e8ac9e9t.jpg

96

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

Zulu :

Переименовал, перемонтировал флешку, пишет:

Значит неправильно переименовали. Изучите, что делает finish_install.sh и ту часть, что можно сделать с компа - сделайте.
Зачем тут скриншоты, через clipboard и тег code принято листинги приводить.
По скриншотам - если они сделаны не в тот момент, когда Вы не можете по ssh подключиться к кинетику, то толку от них нет никакого. Если в нужный момент, то у Вас dropbear упал (хз почему). В момент, когда Вы не можете подключиться к кинетику - какая у него загрузка проца?

97

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

exec top в момент подключения по ssh

Mem: 22240K used, 6816K free, 0K shrd, 1892K buff, 8572K cached
CPU:  1.3% usr  1.9% sys  0.0% nice 96.4% idle  0.0% io  0.0% irq  0.1% softir
Load average: 0.01 0.04 0.00
  PID  PPID USER     STAT   VSZ %MEM %CPU COMMAND
 1727   896 root     S     1896  6.5  0.9 httpd -p 8080
20631 20610 root     R     1024  3.5  0.4 top
20431     1 root     S N   3260 11.1  0.0 smbd -D
20429     1 root     S     3148 10.8  0.0 nmbd -D
 7052     1 root     S     1596  5.4  0.0 pppd
20610  1724 root     S     1512  5.1  0.0 /bin/cli
 6973   896 root     S     1060  3.6  0.0 /bin/sh /bin/pppd.sh start
    1     0 root     S     1024  3.5  0.0 init
 1724   896 root     S     1024  3.5  0.0 telnetd -F -l /bin/cli -p 23
 1717     1 root     S     1024  3.5  0.0 init
20454     1 root     S     1024  3.5  0.0 vsftpd
19770   896 root     S     1020  3.5  0.0 syslogd -n -s 100 -b 0 -S -L
19772   896 root     S     1020  3.5  0.0 klogd -n
20943  6973 root     S     1016  3.4  0.0 sleep 1
 7337     1 root     S      852  2.9  0.0 dnsmasq -u root --all-servers -k
 7375     1 root     S      836  2.8  0.0 miniupnpd -a 192.168.1.1 -i ppp0
  896     1 root     S      764  2.6  0.0 superd
20344   896 root     S      728  2.5  0.0 btnreset
19997     1 root     S      664  2.2  0.0 udhcpd -S /var/udhcpd.conf
  617     2 root     SW<      0  0.0  0.0 [mtdblockd]

exec ps

KEENETIC> exec ps
  PID  Uid        VSZ Stat Command
    1 root       1024 S   init
    2 root            SW< [kthreadd]
    3 root            SW< [ksoftirqd/0]
    4 root            SW< [events/0]
    5 root            SW< [khelper]
   48 root            SW< [kblockd/0]
   60 root            SW< [khubd]
   76 root            SW  [pdflush]
   77 root            SW  [pdflush]
   78 root            SW< [kswapd0]
   79 root            SW< [aio/0]
  617 root            SW< [mtdblockd]
  757 root            SW< [dwc_otg]
  801 root            SWN [jffs2_gcd_mtd6]
  896 root        764 S   superd
 1717 root       1024 S   init
 1724 root       1024 S   telnetd -F -l /bin/cli -p 23
 1727 root       1896 S   httpd -p 8080
 6973 root       1060 S   /bin/sh /bin/pppd.sh start
 7052 root       1596 S   pppd
 7337 root        852 S   dnsmasq -u root --all-servers -k
 7375 root        836 S   miniupnpd -a 192.168.1.1 -i ppp0
19770 root       1020 S   syslogd -n -s 100 -b 0 -S -L
19772 root       1020 S   klogd -n
19970 root            SW  [RtmpCmdQTask]
19971 root            SW  [RtmpWscTask]
19997 root        664 S   udhcpd -S /var/udhcpd.conf
20344 root        728 S   btnreset
20346 root            SW< [scsi_eh_7]
20347 root            SW< [usb-storage]
20429 root       3148 S   nmbd -D
20431 root       3260 S N smbd -D
20454 root       1024 S   vsftpd
21401 root       1512 S   /bin/cli
21455 root       1016 S   sleep 1
21456 root       1024 R   ps

Загрузка проца 3-5%

98

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

Zulu, если это после строки в логе

Starting dropbear

то у Вас просто не запускается dropbear. Его нет в процессах. Может быть архив криво распаковался, может hdd битый. Я не знаю.
Как вариант - скачать из репозитория обновленный dropbear, руками распаковать на место старого, руками выполнить часть скрипта finish_install.sh. Если после этого не заработает - в сервис.

99

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

Вопрос решил, похоже проблема была в флешке или генерации ключей/запуске ssh. Отформатировал флешку, подключил, долгое время была задержка (по логу) на пункте

Generating rsa/dss keys for dropbear

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

100

Re: "Полноценный" linux + система установки opkg на Keenetic (серия 2)

В большинстве вопросов разобрался. Огромное спасибо Zyxmon'у за мануалы и софт.
Всем НетФренд!
http://www.689.ru/uploads/posts/2011-10/1319956575_zyxel_p-660htw_002_sm.jpg

Отредактировано beastman (2012-04-13 18:28:06)