Linux и Zyxel Keenetic Giga - начальная настройка

Материал из AlexNook
Перейти к навигацииПерейти к поиску

Статья рассматривает как получить доступ к linux системе на Zyxel Keenetic Giga с возможностью ставить пакеты из репозитария с помощью системы opkg, как настроить ssh демон dropbear.

Статья была написана по материалам форума Zyxmon, а так же Wiki проекта ZyxMon на google code.

Подготовка USB носителя для установки программ на Keenetic

Подразумевается, что у вас есть linux система - десктоп, где собственно и будем вести данную работу. Вставляем в USB флшеку и начинаем.

Флешка должна иметь раздел linux ID 83 и быть отформатированна в файловую систему с поддержкой ссылок.

Выполняем fdisk и смотрим, что есть у флешки "из коробки"

fdisk /dev/uba

Далее привожу вывод консоли fdisk'а

File: fdisk /dev/uba
Command (m for help): p

Disk /dev/uba: 4008 MB, 4008706048 bytes
2 heads, 63 sectors/track, 62138 cylinders, total 7829504 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00d2200d

   Device Boot      Start         End      Blocks   Id  System
/dev/uba1   *          64     7829503     3914720    b  W95 FAT32

Далее удаляем раздел, который был на флешке при её покупке и смотрим, что получилось

File: fdisk /dev/uba
Command (m for help): d
Selected partition 1

Command (m for help): p

Disk /dev/uba: 4008 MB, 4008706048 bytes
2 heads, 63 sectors/track, 62138 cylinders, total 7829504 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00d2200d

   Device Boot      Start         End      Blocks   Id  System

Создаём новый первичный раздел, смотрим что получилось и записываем всё в таблицу разделов

File: fdisk /dev/uba
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4, default 1): 1
First sector (2048-7829503, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-7829503, default 7829503):
Using default value 7829503
Command (m for help): p

Disk /dev/uba: 4008 MB, 4008706048 bytes
2 heads, 63 sectors/track, 62138 cylinders, total 7829504 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00d2200d

   Device Boot      Start         End      Blocks   Id  System
/dev/uba1            2048     7829503     3913728   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Далее форматируем созданный раздел в журналируемую EXT3. Лучше было бы конечно отформатировать в EXT2 - так мы меньше будем делать операций записи, что сбережёт флешку, но кинетик почему-то её не распознал нормально в EXT2. Точнее флешку и файловую систему увидел, но автоматом запускать скрипт установки не стал :( (возможно я где-то что-то и упустил).

mke2fs -j /dev/uba1

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

mkdir ~/usb
mount /dev/uba1 -t ext3 ~/usb/

Далее качаем архив (у меня прошивка новая, поэтому я качаю ext_init.sh-r2)

cd ~/usb
wget http://zyxel-keenetic-packages.googlecode.com/files/ext_init.sh-r2.tar.gz

После чего распаковываем архив

tar -xvf ext_init.sh-r2.tar.gz

удаляем его (он нам не нужен уже)

rm ext_init.sh-r2.tar.gz

У меня sh скриптик уже был с правами на исполнение, но если это не так, то даём их

chmod a+x ext_init.sh

Создаём необходимые директории и перемещаем туда наш скрипт

mkdir -p ./system/bin
mv ext_init.sh system/bin/

Отмонтируем флешку

cd ~
umount -t ext3 /dev/uba1

Удаляем временную папку.

rm -r ~/usb/

Флешка готова! Далее подключаем флешку к кинетику и включаем кинетик в розетку =)

Первоначальные настройки и поднятие SSH DropBear на Keenetic

Подключаем флешку (интернет должен уже работать на кинетике иначе он не обновит список пакетов из репозитария). Далее нужно подождать автоматических действий, пока в журнале (в веб конфигураторе "система-журнал") не появится текст

File: Веб конфигуратор > система > журнал
dropbear[4261]    Running in background

После автоматических действий продолжаем установку. Для этого подключаемся к кинетику по ssh с пользователем root и паролем zyxel.

ssh root@192.168.0.1

После чего в консоли выполняем:

/media/DISK_A1/system/root # finish_install.sh

Далее меняем пароль пользователя root (Пароль от веб-морды кинетика это совсем другое - там используется обычная веб-аутентификация, а тут имеется в виду пользователь системы linux - root).

passwd

Советую всем использовать авторизацию при соединении по ssh по методу публичный-приватный ключи. Для этого нужно в /media/DISK_A1/system/etc/dropbear/authorized_keys кинуть ваш публичный ключ, а далее отключить аутентификацию по паролю. Для чего открыть init скрипт ssh демона dropbear и добавить в него опцию -s при запуске

vi /media/DISK_A1/system/etc/init.d/S10dropbear

В функцию запуска демона добавляем параметр -s

File: /media/DISK_A1/system/etc/init.d/S10dropbear
start() {
	$DROPBEAR -s -d $DSS -r $RSA
}

После чего перемонтируем флешку (кнопка хардварная на кинетике отключает её после чего её нужно руками передёрнуть) и теперь зайти на кинетик можно только по ключам. Рекомундую так же ключ защитить с помощью PassPhrase.

Далее можем поставить любимые программы, но лучше стараться обходиться минимумом - всё таки это минисервер, где ресурсов не так уж и много.


Ссылки