Optware-ng на Android

Используем пакеты, расширяющие возможности оборудования
Аватара пользователя
alllexx88
Сообщения: 23
Зарегистрирован: 13 авг 2015, 18:06

Сообщение alllexx88 » 30 сен 2015, 14:18

Optware-ng работает на ARMv7/Intel Android устройствах. Некоторые пакеты могут не работать, т.к. рассчитаны все же на Linux, а не на Android, но большинство будут.
Списки пакетов:
ARMv7 hardfloat
Intel
ARMv7 softfloat

Источники:
https://github.com/alllexx88/Optware-ng

Простой способ установки для ARMv7 hardfloat и Intel при помощи CWM/TWRP описан в следующем сообщении. Ниже под спойлером --- способ установки вручную.
 
Перед тем, как продолжить, убедимся, что выполнены необходимые требования:

1. Устройство должно быть рутировано
2. Optware-ng использует некоторые стандартные команды Linux, которые, вообще говоря, в Android могут отсутствовать. Наиболее легкий способ "получить" эти команды --- установить Busybox (со ссылками на аплеты, конечно)
3. Мы создадим скрипт инифиальизации Optware-ng в /system/etc/init.d, поэтому необходима поддержка init.d. Если её нет, желательно её добавить (другой выход --- добавить строки инициализации Optware-ng к скрипту загрузки Android init.rc)

Следующие команды нужно запустить через терминал от имени root'а. Предлагаю установить какой-то SSH сервер из Play Store, и подключиться через SSH используя компьютер.
1. Подготовим среду для Optware-ng:
- Optware-ng будет установлено в /data/Optware-ng, в /opt положим символическую ссылку на /data/Optware-ng
- Optware-ng скрипты зависят от /bin/sh, поэтому положим в /bin/sh символическую ссылку на /system/bin/sh
- Optware-ng нужна /tmp временная директория: создадим 64Mb RAM диск там (размер диска можете менять по желанию)

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

mkdir -p /data/Optware-ng
mount -o remount,rw /
ln -s /data/Optware-ng /opt
mkdir /bin
ln -s /system/bin/sh /bin/sh
mkdir /tmp
chmod 777 /tmp
mount -t tmpfs -o size=64M tmpfs /tmp
mount -o remount,ro /
export PATH=$PATH:/opt/bin:/opt/sbin


2. Устанавливаем фид:
2.a) для ARMv7 hardfloat (большинство современных Android устройств):

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

cd /tmp
wget http://optware-ng.zyxmon.org/buildroot-armeabihf/buildroot-armeabihf-bootstrap.sh
sh buildroot-armeabihf-bootstrap.sh

2.b) для Intel:

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

cd /tmp
wget http://optware-ng.zyxmon.org/buildroot-i686/buildroot-i686-bootstrap.sh
sh buildroot-i686-bootstrap.sh

2.c) для маловероятного случая, в котором у Вас ARMv7, не имеющий FPU (softfloat фид):

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

cd /tmp
wget http://optware-ng.zyxmon.org/buildroot-armeabi-ng/buildroot-armeabi-ng-bootstrap.sh
sh buildroot-armeabi-ng-bootstrap.sh


3. Убедимся, что среда для Optware-ng восстанавливается после перезагрузок, а также будем запускать скрипты инициализации Optware-ng при загрузке:
Создадим init.d скрипт и сделаем его исполняемым

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

mount -o remount,rw /system
echo '#!/system/bin/sh
mount -o remount,rw /
ln -s /data/Optware-ng/opt
mkdir /bin
ln -s /system/bin/sh /bin/sh
mkdir /tmp
mount -t tmpfs -o size=64M tmpfs /tmp
mount -o remount,ro /

sleep 2

export PATH=$PATH:/bin:/opt/bin:/opt/sbin

for script in `ls /opt/etc/init.d/S*`; do
        $script start
done' > /system/etc/init.d/S99Optware-ng
chmod 755 /system/etc/init.d/S99Optware-ng
mount -o remount,ro /system

Опять-таки, можете изменить эту строку

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

mount -t tmpfs -o size=64M tmpfs /tmp

если хотите увеличить/уменьшить RAM диск в /tmp

(4.) По сути, это всё, но я советую также установить и настроить пакет dropbear-android, чтобы использовать его как SSH сервер:

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

ipkg update
ipkg install dropbear-android

Конфиги dropbear находятся в /opt/etc/default/dropbear и по умолчанию они такие:

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

DROPBEAR_ENABLE=no
DROPBEAR_PORT=2222
DROPBEAR_PASSWORD=password

Выполните эти команды, чтобы поменять настройки, включить dropbear и запустить его:
(замените <*> строки реальными желаемыми значениями)

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

sed -i -e '/^DROPBEAR_PORT=/s/=.*/=<ВАШ_ПОРТ>/' -e '/^DROPBEAR_PASSWORD=/s/=.*/=<ВАШ_ПАРОЛЬ>/' -e '/^DROPBEAR_ENABLE=/s/=.*/=yes/' /opt/etc/default/dropbear
/opt/etc/init.d/S51dropbear start

Теперь желательно использовать dropbear для подключения по SSH к Вашему устройству, чтобы использовать/настраивать пакеты Optware-ng:
- пользователь: 'root'
- пароль: '<ВАШ_ПАРОЛЬ>'
- порт '<ВАШ_ПОРТ>'
Для лучшей безопасности можно использовать только аутентификацию публичным ключом: поменяйте пароль на пустой и добавьте Ваши публичные ключи к /opt/etc/dropbear/authorized_keys (не забудьте `chmod 600 /opt/etc/dropbear/authorized_keys` после того, как создадите его!) и перезапустите dropbear или просто перезагрузите устройство.
Свернуть

Аватара пользователя
alllexx88
Сообщения: 23
Зарегистрирован: 13 авг 2015, 18:06

Сообщение alllexx88 » 06 ноя 2015, 03:01

Теперь установка Optware-ng на ARMv7 и Intel предельна проста, если устройство имеет CWM/TWRP рекавери. Достаточно закатать два CWM установочных архива, подготовленных мной

ARMv7:
Optware-ng-armv7-binaries[CWM].zip
Intel:
Optware-ng-Intel-binaries[CWM].zip
Для всех:
Optware-ng-init-script[CWM].zip

Архивы Optware-ng-*-binaries[CWM].zip устанавливают Optware-ng в /data/Optware-ng
Архив Optware-ng-init-script[CWM].zip создает скрипт инициализации /system/etc/init.d/S99Optware-ng и файл /system/etc/passwd

После установки подключайтесь по ssh к устройству со следующими параметрами:
логин: root
пароль: password
порт: 2222

И всё! :)

P.S. После обновления прошивки, при условии, что вы не очищали /data, достаточно закатать только Optware-ng-init-script[CWM].zip. Все настройки Optware-ng при этом сохраняются.


Вернуться в «Entware/Qnapware/Optware/Zyxware - обсуждаем репозитории пакетов»

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

Всего 4 посетителя :: 0 зарегистрированных, 0 скрытых и 4 гостя (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя