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).

2

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

Обновлены скрипты установки, обновлена часть пакетов в новом репозитарии : busybox, dropbear, opkg, nfs-kernel-server, sftp-server, wget, xupnpd.

3

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

Инструкция для тех, кто устанавливал "старую" систему, по переходу на новый репозитарий.

1. Для надежности делаем backup папки .../DISK_A1/system. Можно прямо на usb носитель, подключенный к кинетику, командой cp. Можно на ББ.

2. Редакитруем файл .../DISK_A1/system/opkg.conf. Заменяем в нем репозитарий в строке

src/gz packages http://zyxel-keenetic-packages.googlecode.com/svn/binary-packages-r2

Т.е. дописываем в конце "-r2".

3. Выполняем команду "opkg update". Останавливаем ненужные сервисы.

4. Временно сохраняем wget, это нужно, т.к. в процессе переустановке пакет будет удален, и скачать новые будет невозможно.

 cp /media/DISK_A1/system/bin/wget-ssl /media/DISK_A1/system/usr/bin/wget

5. Выполняем команду:

opkg list_installed | sed 's/ - .*//' | xargs -s 128 opkg install --force-reinstall --force-removal-of-essential-packages

Ждем, пока пакеты не обновятся. Обновление больших пакетов, состоящих из множества маленьких файлов может идти долго (пример - python-django, он устанавливается при установке pyload), ничего при этом на экран выводится не будет.

6. Опционально обновляем dropbear (командой "opkg install dropbear").

7. Удаляем временный бинарник wget (п. 4):

rm /media/DISK_A1/system/usr/bin/wget

8. Восстанавливаем из бэкапа файлы конфигураций и скрипты, если они ранее редактировались, были Вами изменены и были переписаны после установки.

9. Перегружаем кинетик, или перемонтируем носитель.

4

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

О замеченных глюках (надеюсь их нет) отписываемся далее.

5

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

Выполнял переустановку ранее установленной системы. Все обновилось нормально. Из пакетов пользуюсь Медиатомбом, иногда Минидлна. Оба пакета запускаются и работают.
Выполнил вашу просьбу по вводу команд.
1) opkg list-installed | grep busybox выдает busybox - 1.19.3-6
/media/DISK_A1/system/root #
2) opkg list | grep busybox выдает busybox - 1.19.3-6 - The Swiss Army Knife of embedded Linux.
/media/DISK_A1/system/root #
wget установил, все в порядке.
Спасибо вам.

Отредактировано Smike (2011-11-26 18:03:51)

6

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

Smike, спасибо за информацию. Значит инстукция правлильная!!!

7

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

Выполнял установку системы впервые согласно инструкциям первого поста.

После выполнения завершения установки командой finish_install.sh в последней строке появляется надпись:
Collected errors:
* unzip: Invalid gzip magic

Что делать для устранения этой ошибки?

Отредактировано Tyan (2011-11-29 11:20:01)

8

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

Tyan, по этим строкам сказать сложно. Не хватает строк перед ними. Скорее всего произошла ошибка при выполнении команды "opkg update", которая скачивает список пакетов из репозитария googlecode. Возможные причины:
1) Глюк googlecode (иногда бывает).
2) Ошибка при записи скачанного файла Packages.gz (архива со списком пакетов). Проверьте свой hdd на ошибки файловой системы.

В целом ничего страшного не призошло. Через некоторое время наберите в putty

sync
opkg update

Если все нормально - забейте на ошибку.

9

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

Zyxmon,

Спасибо за ответ.

Эта ошибка повторяется на обоих скачанных с googlecode архивов (tar и zip), SHA1 совпадает с указанной на странице скачки.
После набора предложенных Вами комманд, получил ответ (с небольшой задержкой):

/media/DISK_A1/system/root # sync
/media/DISK_A1/system/root # opkg update
Downloading http://zyxel-keenetic-packages.googleco … ackages.gz.
Inflating http://zyxel-keenetic-packages.googleco … ackages.gz.
Updated list of available packages in /media/DISK_A1/system/var/opkg-lists/packages.
Collected errors:
* unzip: Invalid gzip magic

После этого попытался установить midnight commander:

/media/DISK_A1/system/root # opkg install mc
Unknown package 'mc'.
Collected errors:
* opkg_install_cmd: Cannot install package mc.
/media/DISK_A1/system/root #

Так что пока ничего не получается sad

10

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

Tyan, я бы проверил диск на ошибки файловой системы. Тем не менее, попробуйте набрать

wget http://zyxel-keenetic-packages.googlecode.com/svn/binary-packages-r2/Packages.gz

В текущую директорию будет скачан файл Packages.gz. Скачайте его еще и на ББ (компьютер) и бинарно сравните с тем, что на кинетике.
После этого можно проверить, распаковывается ли файл Packages.gz:

gunzip Packages.gz

В результате в текущей директории должен оказаться файл Packages.
Если на этих этапах ошибка не вылезет, то можно ручками забросить распакованный файл в папку /media/DISK_A1/system/var/opkg-lists/ (там он должен начинаться с маленькой буквы). Дальше все заработает, но, подозреваю, у Вас ошибка на hdd. Надеюсь файловая система на нем ext2.

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

11

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

Zyxmon, спасибо большое за советы. Всё получилось.

Дало в том, что я создавал раздел ext2 при помощи Acronis, который создаёт 2 диска: NTFS и ext2. DISK_A1 и DISK_A5 соответственно. Систему устанавливал на А1.

Когда начал сравнивать файлы Packages обнаружил, что размер файла на hdd равен 0 и пришёл к выводу, что просто не хватает места на диске. wink

Увеличил место на диске А1 и всё получилось.

Я бы в FAQ вынес замечание о минимально допустимом размере диска для установки системы, а то Acronis при создании раздела ext2 по умолчанию выделяет очень мало места для диска А1.

UPD: minidlna не видит папку с фильмами на втором диске, поэтому переформатирую весь диск в ext2 и надеюсь, проблем больше быть не должно

Отредактировано Tyan (2011-11-29 21:09:03)

12

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

zinger, это смотря откуда смотреть. Он один такой, ошибится сложно. Все подобные вопросы спрашивайте в теме http://forum.zyxmon.org/topic68-voprosy-po-linux.html

13

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

Обновлен пакет udpxy на версию от 25.11.2011.

14

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

Делаем bash шеллом по умолчанию.

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

Для того, чтобы сделать bash шеллом по умолчанию необходимы - новый dropbear (ставится по умолчанию инталлятором, может быть поставлен руками при обновлении со старого репозитария) и bash (сегодня пакет немного обновился). Инструкция простая.
1. Редактируем /media/DISK_A1/system/etc/passwd и в конце строки с параметрами рута меняем shell:

~$ cat /media/DISK_A1/system/etc/passwd
root:$1$/pKO.rnx$8sQvNxA5WT6DB2j5q38Gx/:0:0:Root:/media/DISK_A1/system/root:/media/DISK_A1/system/bin/bash

2. Опционально редактируем файл /media/DISK_A1/system/root/.profile. Дописываем в него переменную PS1. Например:

~$ cat /media/DISK_A1/system/root/.profile 
export PATH=/media/DISK_A1/system/bin:/media/DISK_A1/system/sbin:/media/DISK_A1/system/usr/bin:/media/DISK_A1/system/usr/sbin:/sbin:/usr/sbin:/bin:/usr/bin
export LD_LIBRARY_PATH=/media/DISK_A1/system/lib:/media/DISK_A1/system/usr/lib:/lib:/usr/lib
export TERM=xterm
export TERMINFO=/media/DISK_A1/system/usr/share/terminfo
export PS1='\w$ '

При следующем соединении по протоколу ssh у Вас оболочкой будет bash.

15

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

Будет несколько вопросов.
1) как разрешить ssh, из интернета? тоесть, чтоб 22 порт, был открыт, и я мог с работы соеденяться?
2) как сделать, чтоб drobber, работал не только по ssh, но и по telnet?

16

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

felcons
1. http://forum.zyxmon.org/topic85-iptabes.html
2. Dropbear это не умеет. Используйте имеющийся в прошивке telnetd.

17

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

Zyxmon, подскажите, пожалуйста - как включить в dropbear поддержку sftp ? Удобно небольшие файлики с работы домой таскать.
По scp соединяется нормально, но там проблемы с перекодировкой имен папок в utf8 (клиент - виндовый)
Нашел в пакетах openssh-sftp-server , но не пойму можно ли его прикрутить к dropbear...

18

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

laforsh, http://forum.zyxmon.org/post792.html#p792
Если используете total commander, то следует установить последнюю версию плагина, ссылка на офсайте tc.

19

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

Дополнительных настроек никаких не требуется ? Если не требуется, то что-то у меня поломалось...
dropbear и openssh-sftp-server  установлены, по ssh и scp нормально соединяюсь, по sftp - нет.

Пробовал:
1.Far 2.0 b 1777+WinSCP as FAR Plugin 1.6.2
2.Total Commander 7.56a + плугин uwfx_sftp_1_3_60_12_base (самый новый)
3. winscp435
Везде одна и та же картина connecting, запрос пассфразы персонального ключа и потом содинение закрыто, сервер прислал комманду выхода статус 127
http://i29.fastpic.ru/big/2011/1217/28/ … c06928.png
На зикселе в /var/log/messages

17 дек 19:02:38    dropbear[1618]    Child connection from 192.168.1.33:1829
17 дек 19:02:47    dropbear[1618]    Pubkey auth succeeded for 'root' with key md5 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx::xx:xx:xx:xx:xx from 192.168.1.33:1829
17 дек 19:02:48    dropbear[1618]    Exit (root): Exited normally

Причем если в клиенте поменять протокол с sftp на scp (остальные настройки не меняя) - по scp заходит нормально.
В домашней сети есть еще медиаплеер тоже с линуксом и dropbear-ом, только там сам дропбир собран с поддержкой scp и sftp (присутствует dropbearmulti ) - к нему все клиенты соединяются с этими же настройками нормально.

Отредактировано laforsh (2011-12-17 19:53:45)

20

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

laforsh, да, Вы правы - не работает sftp, забыл один патч сделать для нового dropbear. Как пересоберу - тут напишу.

21

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

laforsh, обновляйтесь

opkg update
opkg upgrade

Для того, чтобы запустился обновленный dropbear нужно или перемонтировать usb носитель, или перезагрузить кинетик.

Проверил, теперь sftp работает  smile
ЗЫ Спасибо за найденную ошибку.

22

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

Ни фига себе как оперативно. СПАСИБО огромное.

23

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

Спасибо еще раз. sftp работает.

24

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

Есть, между прочим, простой способ обновления dropbear без перемонтирования usb, и без перезагрузки кинетика. Нужно в ssh сессии запустить telnetd на нестандартном порту, т.к. стандартный порт занят:

telentd -p 1023

После этого завершить ssh сессию, соединится с кинетиком по по протоколу telnet на порт 1023, и из telnet сессии перезапустить dropbear. После этого соединяемся по ssh и убиваем telnetd.

25

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

При запуске telnetd -p 1023
при входе через телнет пароль просто не спрашивает. где установить, чтоб спрашивало имя пользователя  и пароль?