Установка на Wi Fi маршрутизатор Keenetic сразу 2х ОС Entware и Debian

Тут будет некоторая информация по keenetic
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 367
Стаж: 2 года 9 месяцев
Откуда: Вологодская область
Контактная информация:

Установка на Wi Fi маршрутизатор Keenetic сразу 2х ОС Entware и Debian

Сообщение Артём Мамзиков »



Установка на Wi Fi маршрутизатор (роутер) Keenetic сразу 2х ОС Entware и Debian

В продолжении темы Установка Debian Kennetic

Немного теории

В данном примере у нас так же будет keenetic giga kn-1010
Со следующими характеристиками для OS
Процессор MT7621A 880 МГц, 2 ядра
Оперативная память 256 Мбайт DDR3
Flash-память, Dual Image 128 Мбайт
Порты USB 1 x USB 2.0, 1 x USB 3.0 (Чтение с USB-диска До 90 Мбайт/с (USB 3.0))
Немного о скорости портов USB
Показать
Low-Speed до 1,5 Мбит/с USB 1.0
Full-Speed до 12 Мбит/с USB 1.1
High-speed до 480 Мбит/с USB 2.0
SuperSpeed до 5 Гбит/с USB 3.0 / USB 3.1 Gen 1 / USB 3.2 Gen 1
SuperSpeed+ 10Gbps до 10 Гбит/с USB 3.1 Gen 2 / USB 3.2 Gen 2
SuperSpeed++ 20Gbps до 20 Гбит/с USB 3.2 Gen 2x2

Максимальная скорость в Мбайт/с
USB 2.0 будет 480/8= 60 Мбайт/с
USB 3.0 будет 5000/8= 625 Мбайт/с
Понятно что маршрутизатор это у нас не сервер и даже не десктопная станция (Настольный компьютер) по характеристикам. Поэтому нужно понимать что прям чего-то глобального ждать не стоит. Маршрутизатор можно косвенно сравнить с каким нибудь смартфоном по характеристикам процессора.
Плюс то что мы ставим чистую систему debian далее её можно настраивать под свои небольшие задачи или уже более заточенный проект со своим репозиторием Entware. Да плюс уже много что полезного есть в самой KeeneticOS.

Так же нужно учитывать когда мы делам swap- (файл подкачки он используется когда не хватает встроенной оперативной памяти) по большей части он используется либо кратко временно либо не в больших объемах (либо временно для ближайшего апгрейда железа) иначе мы получаем падение производительности (тормоза) плюс убиваем диск в том месте где у нас swap так как данные постоянно записываются и стираются сам диск будет так же загружен так как будет идти постоянная запись-чтение данных. На ssd это конечно будет быстрее работать чем на hdd. Можно наверное сделать разъемы под дополнительную оперативную память, но отсюда вытекает частота оперативки должна соответствовать нужной нам частоте Процессора и комплектующим на плате. А это уже сильно меняет в цене и все же это в первую очередь маршрутизатор, а не мини ПК. Что то вроде raspberry pi. Хотя если будет спрос можно сделать все что угодно думаю)

Что мы можем использовать на данных ОС на маршрутизаторе например:
Entware
Список пакетов для mipsel
Opkg Cookbook RUS
Звуковая станция
Смотрим эфирное цифровое телевидение DVB-T / T2 через кинетик
TVheadend - потоковый сервер цифрового ТВ для DVB-С / T / T2 / S / S2 / ATSC / IPTV
Вменяемый - использование USB МФУ или сканера
Веб-сервер на кинетике
ownCloud - строим личное облачное хранилище
Сервер VoIP телефонии Asterisk
Подключение веб камеры в Entware
Tor на Keenetic
Управление отоплением в квартире
умный дом
1-М Core - контроллер Умного Дома на базе роутера
И много других проектов


Уже на встроенной KeeneticOS мы будем делать еще 2 OS Entware и Debian на внешнем накопителе.

Entware — это передовой репозиторий (хранилище), который позволяет легко устанавливать и удалять Linux-приложения в консоли роутера. Менеджер ПО для встраиваемых систем, который открывает доступ к огромному количеству (более 1500) пакетов программ для Linux, расширяя возможности устройства, на котором он установлен. Чаще всего поддержкой Entware обладают продвинутые маршрутизаторы. Зачем и кому вообще может понадобиться Entware на Android-боксе? Конечно, всё это для гиков и пытливых пользователей.

При содействии и помощи компании Zyxel и разработчиков Entware создан новый проект Entware-Keenetic для Keenetic`ов с прошивкой NDMSv2*
В отличии от стандартной версии Entware-ng - при сборке используется ядро кинетика, что улучшает совместимость бинарников с прошивкой.
Некоторые пакеты из стандартного Entware могли не работать или работать криво (напр., nginx)
Все бинарники находятся в одной репе, раньше использовался стандартный репозиторий Entware и дополнительный репозиторий для Кинетиков.

Более подробно тут Entware-Keenetic

Обновление и установка в данной OS производится командами
opkg update
opkg upgrade
opkg install имя устанавливаемого пакета


Debian -- Универсальная Операционная Система
Debian — это операционная система и дистрибутив Свободного ПО. Она сопровождается и обновляется трудом людей, добровольно.

Обновление и установка в данной OS производится командами
apt-get update - загрузка списков пакетов из репозиториев и "обновление" их
apt-get upgrade - обновляет пакеты, которые уже установлены в системе и доставляет новые пакеты-зависимости
apt-get install имя устанавливаемого пакета

Ну тут думаю даже смысла перечислять что можно сделать нет, тут уже каждый под свои задачи что хочет.
Ограничение только в мощности железа и не все есть в репозитории для mipsel что есть например в обычном репозитории для desktop ПК.


Установка 2х ОС
Как подготовить флешку или диск перед установкой повторно писать не буду есть тут Установка Debian Kennetic все аналогично.

Сперва ставим OS Entware скачиваем mipsel-installer.tar.gz 2.7Мб закидываем в папку install и устанавливаем все как в для Debian.

После установки
Можно зайти на кинетик по ssh , логин root , пароль keenetic .

Если установлен компонент прошивки "Сервер SSH", подключаться следует на 222 порт

# passwd
Смена пароля для root
Новый пароль:
Неверный пароль: слишком слабый
Повторите пароль:
Пароль для пользователя root изменен пользователем root
Обновите список пакетов
opkg update
opkg upgrade
и устанавливаю нужные, например файловый менеджер "Midnight Commander":
opkg установить mc

Установим пакет debootstarp
opkg install debootstrap

Что такое debootstrap

Установим тескстовый редактор nano
opkg install nano

Опционально отредактируем скрипт /opt/bin/install-debian. Рекомендую в нем сменить зеркало пакетов на mirror.yandex.ru/debian. Для armv7 устройств с поддеркой hardfloat стоит изменить строку `ARCH=armel` на `ARCH=armhf`. Можно задать и другие дополнительные параметры (см. комментарии в скрипте и документацию debootstrap).

nano /opt/bin/install-debian

Установка debian mipsel
install-debian
Показать
#!/bin/sh

## for armv7 and higher cpu with hardfloat support use armhf
#ARCH=amd64, armel, armhf, arm64, mips, mipsel
ARCH=mipsel

## debian codenames
#DISTRO=oldoldstable - The previous old stable release (jessie).
#DISTRO=oldstable - The previous stable release (stretch).
#DISTRO=stable - The current stable release (buster).
#DISTRO=testing - The next generation release (bullseye).
#DISTRO=unstable - The unstable development release (sid).
DISTRO=stable

## target installation folder
TARGET=/opt/debian

## extra packages to install
#INCLUDE="--include=sudo,nano,wget"
INCLUDE=

## variant
#VARIANT="--variant=minbase"
VARIANT=

## unofficial mirror
#MIRROR=http://mirror.yandex.ru/debian/
## official mirror
MIRROR=http://ftp.debian.org/debian/

unset LD_LIBRARY_PATH
unset LD_PRELOAD

/opt/sbin/debootstrap $VARIANT $INCLUDE --arch $ARCH $DISTRO $TARGET $MIRROR

## disable services autostart
cat > /opt/debian/usr/sbin/policy-rc.d <<EOF
#!/bin/sh
exit 101
EOF
chmod a+x /opt/debian/usr/sbin/policy-rc.d

## add Entware path at the end
echo "PATH=\$PATH:/opt/bin:/opt/sbin" >> /opt/debian/etc/profile

## add more secure tty's
echo "pts/0" >> /opt/debian/etc/securetty
echo "pts/1" >> /opt/debian/etc/securetty
echo "pts/2" >> /opt/debian/etc/securetty

echo "Please run /opt/etc/init.d/S99debian start"
echo "Please run start-debian,change password with passwd command and run 'apt-get update'"
Запускаем установку
install-debian

Будут следующие сообщения это нормально

W: Невозможно проверить подпись Release; файл ключей недоступен /usr/share/keyrings/debian-archive-keyring.gpg
Я: Получение InRelease
I: Получение пакетов
I: Проверка пакетов
I: Разрешение зависимостей необходимых пакетов ...
I: Разрешение зависимостей базовых пакетов ...
Я: Проверка компонента main на http: //ftp.debian.org/debian ...
тут идут все пакеты
W: Ошибка при попытке запустить: chroot "/opt/debian"/bin/true
W: Подробности смотрите в /opt/debian/debootstrap/debootstrap.log
Пожалуйста, запустите /opt/etc/init.d/S99debian start
Пожалуйста, запустите start-debian, измените пароль с помощью команды passwd и запустите «apt-get update»

Далее выйдет сообщение можно его пропустить.
При необходимости иметь из среды Debian доступ к носителям устройства отредактируйте /opt/etc/init.d/S99debian и добавьте в конце функции start монтирование этих носителей (там есть примеры для Qnap).
Монтирование дисков
Показать
Как посмотреть список дисков напрример
blkid
получаем
/dev/sda3: LABEL="NTFS" UUID="01D614B61E6817B0"
/dev/sda1: LABEL="OS" UUID="f7af6e2d-b514-d601-e0a7-6c2db514d601"

mount файл_устройства папка_назначения
mount опции -t файловая_система -o опции_монтирования файл_устройства папка_назначения
-w, --rw - монтировать для чтения и записи;

Для монтирования ntfs ставим opkg install ntfs-3g ntfs-3g-utils
Монтирование вручную например создаем disk-ntfs
mount --rw /dev/sda3 /opt/home/disk-ntfs
mount -t ntfs-3g --uuid="01D614B61E6817B0" /opt/home/disk-ntfs
ntfs-3g /dev/sda3 /opt/home/disk-ntfs

не захотел монтироваться формат ntfs ладно оставим это на потом)
Запускаем /opt/etc/init.d/S99debian
/opt/etc/init.d/S99debian start
Запуск служб Debian ...
mount:/opt/debian/opt: точка монтирования не существует.
ВНИМАНИЕ: Службы Debian не определены.
Пожалуйста, определите службы Debian для запуска в файле /opt/debian/chroot-services.list!
Один сервис на линию. Подсказка: это имена скриптов из Debian /etc/init.d/

Тут он нам пишет так как мы скачали debian с официального сайта в системе изначально ничего не предустановленно даже ssh
Позже мы можем установить и настроить ssh и прописать его на авто загрузку
nano /opt/debian/chroot-services.list и пишем там ssh
после чего перезапускаем /opt/etc/init.d/S99debian restart

И запускаем не посредственно сам дебиан
start-debian

В среде debian досупны бинарники Entware.
При установке служб (демонов) debian их автозапус отключен. Запускайте из chroot среды руками или добавьте в файл /opt/debian/chroot-services.list (по одному на строку, имена из /etc/init.d) для автозапуска.

Для выхода из среды debian (в entware) наберите exit

В плане эксперементов разных версий os

Например
Для переустановки 32 на 64 дебин
Останавливаем
/opt/etc/init.d/S99debian stop

Удалем все из папки /opt/debian/

В скрипте правим на 64 сохраняем и повторяем установку
nano /opt/bin/install-debian
ARCH=mips64el

Сразу скажу что он не заработает))
~ # start-debian
chroot: невозможно выполнить '/bin/bash': ошибка формата Exec


Еще вариант установки сразу двух систем

Первые 2 это как делали мы
Речь об универсальном установщике, с помощью которого можно поставить среду Debian (возможен выбор дистрибутива stable(или jessie), oldstable (wheezy), testing (stretch), unstable (sid)) прямо в Entware. Поддерживаются все архитектуры, имеющиеся в Entware-3x (armv5, armv7, mipsel, mips, x64)
[Entware-3x] Устанавливаем Debian (chroot среду) по выбору и используем совместно с Entware

[Entware-3x] Устанавливаем Debian (chroot среду) по выбору и используем совместно с Entware

Тут уже система была установлена частично настроена и запакована для дальнейшей установки (распаковки)

Полная установка entware-3x совместно с Debian 8, и настройка всей системы

Настройка Debian
Задаем пароль для root
passwd
Водим новый пароль повтор пароля

Установка и Настройка SSH
Установка
apt-get install openssh-server
Разрешим удаленное подключение под root
для это отредактируем конфигурационный файл
nano /etc/ssh/sshd_config не перепутать с ssh_config!
Раскомментированы следующие строки
sshd_config
Показать
Port 2222
PermitRootLogin yes
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
Сохраняем и перезапускаем службу
service sshd restart || service ssh restart

так же можно раскомментировать
PasswordAuthentication yes
У кого бывает не работает указать
UsePAM no
#StrictModes yes

Обновим часовые пояса
apt install tzdata
Выбор вручную часового пояса
dpkg-reconfigure tzdata

Автоматическая синхронизация времени с интернета
apt install ntp
apt install net-tools

проверка статуса netstat -tulnp | grep ntp

Установим пару утилит для удобства mc, htop, iftop
apt-get install mc htop iftop screen

mc - двух оконный графический файловый менеджер
htop - по сути это визуальный диспетчер задач
iftop - визуальная нагрузка сети

Руссификация консоли
apt-get install locales

locale-gen ru_RU.UTF-8

dpkg-reconfigure locales

выбрать пробелом
en_US.UTF-8
ru_RU.UTF-8
Tab – жмем Ок
Выбираем ru_RU.UTF-8 Жмем Ок
Переподключиться или перезагружаемся

При необходимости правим вручную
nano /etc/default/locale
LANG="ru_RU.UTF-8"
LC_ALL="ru_RU.UTF-8"
количество слов: 844

Вернуться в «Keenetic»