Optware - основные сведения

Используем пакеты, расширяющие возможности оборудования
Аватара пользователя
Zyxmon
Администратор
Сообщения: 1234
Зарегистрирован: 09 авг 2015, 14:33

Сообщение Zyxmon » 13 авг 2015, 16:14

Optware - это система пакетов (репизоторий) для различных устройств с разной архитектурой с прошивками на базе Linux. Поддерживаются маршрутизаторы, сетевые хранилища и другие устройства. Поддерживаются архитектуры arm, i686, mips, powerpc и разные прошивки.

В интернете можно найти множество инструкций по установке и использованию Optware. К сожалению несколько лет назад главный идеолог Optware Brian Zhou ушел на пенсию и его место до сих пор вакантно. Развитие проекта остановилось. Многие программы морально устарели. Сборка ведется старыми тулчейнами, в основу которых легли старые исходники ядра Linux.

Существует несколько попыток начать свой проект на базе Optware. Один из таких - Optware-ng (https://github.com/Optware/Optware-ng). Собраны пакеты для архитектур armv7 (hardfloat, softfloat), i686, mipsel и powerpc 603e. Сами пакеты тут
http://ipkg.nslu2-linux.org/optware-ng/ ... armeabihf/ (armv7 hardfloat)
http://ipkg.nslu2-linux.org/optware-ng/ ... rmeabi-ng/ (armv7 softfloat)
http://ipkg.nslu2-linux.org/optware-ng/ ... v5eabi-ng/ (armv5)
http://ipkg.nslu2-linux.org/optware-ng/buildroot-i686/ (i686)
http://ipkg.nslu2-linux.org/optware-ng/ ... mipsel-ng/ (mipsel)
http://ipkg.nslu2-linux.org/optware-ng/ ... -ppc-603e/ ( powerpc 603e)
Там же лежат скрипты установки: buildroot-<архитектура>-bootstrap.sh

Многие пакеты обновлены. В Optware-ng портированы библиотеки X11, GTK+-2/3 и ряд работающих GUI приложений.
Используется современный тулчейн - gcc-5.2.0, uClibc-ng-1.0.12 (armv7 softfloat, mipsel, armv5) или glibc-2.20/2.21 (i686, armv7 hardfloat). При сборке используется ядро 2.6.36 (armv7 softfloat, armv5), 3.2.66 (i686, armv7 hardfloat, powerpc 603e) и ядро энтузиастов 2.6.22.19 для mipsel

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

Optware - основные сведения.

Сообщение alllexx88 » 30 авг 2015, 16:19

Установка Optware-ng

Конкретные шаги, необходимые для установки Optware-ng, зависят от целевого устройства и его прошивки. В данном сообщении изложим обобщенные инструкции, следуя которым, можно установить Optware-ng на любое устройство поддерживаемой архитектуры (на данный момент: MIPSEL, ARMv7 и I686).

    1. Подготовить хранилище, на которое будет установлено Optware-ng

Optware-ng устанавливается в /opt и в зависимости от количества устанавливаемых пакетов может потребовать немало дискового пространства.

В случае установки на роутер, можно использовать внешний USB диск или JFFS раздел. JFFS раздел как правило небольшой, поэтому если планируется установка большого количества пакетов, этот вариант не подходит. Необходимо, чтобы раздел JFFS/папка в нём либо внешний USB диск/его раздел/папка в нём были смонтированы в /opt. Как именно этого добиться, и сделать так, чтобы это делалось автоматически после перезагрузки роутера, зависит от его модели/прошивки.

В случае установки на NAS, как правило, удобней всего создать папку на одном из разделов внутреннего(их) HDD (например, /volume1/@optware в Synology DiskStation или /share/MD0_DATA/optware/opt в QNAP) и поместить символьную ссылку в /opt, указывающую на эту папку.

    2. Скачать и запустить скрипт установки и настройки (bootstrap)

В зависимости от архитектуры выполнить
MIPSEL

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

wget -O - http://optware-ng.zyxmon.org/buildroot-mipsel-ng/buildroot-mipsel-ng-bootstrap.sh | sh

ARMv7

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

wget -O - http://optware-ng.zyxmon.org/buildroot-armeabi-ng/buildroot-armeabi-ng-bootstrap.sh | sh

I686

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

wget -O - http://optware-ng.zyxmon.org/buildroot-i686/buildroot-i686-bootstrap.sh | sh


    3. Если /opt/bin и /opt/sbin не входят в PATH (команда ipkg выдаёт ошибку "ipkg: not found"), добавить "/opt/bin:/opt/sbin" к PATH для удобства использования Optware-ng

В случае если ~/.profile доступен для записи и "выживает" после перезагрузки (например, в NAS), достаточно выполнить команду

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

echo 'export PATH=$PATH:/opt/bin:/opt/sbin' >> ~/.profile

и переподключиться по SSH/telnet.

В случае роутеров, если прошивка поддерживает пользовательские скрипты инициализации, а /root/.profile находится на RAM диске, достаточно добавить строку

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

echo 'export PATH=$PATH:/opt/bin:/opt/sbin' >> /root/.profile

к полю скриптов инициализации, сохранить настройки и перезагрузить роутер (или просто выполнить ту же команду вручную и переподключиться)

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

Optware - основные сведения.

Сообщение alllexx88 » 30 авг 2015, 16:45

Установка на роутеры с прошивкой Asuswrt-Merlin

Для ARM/MIPSEL роутеров Asus с прошивкой от Merlin'а TeHashX написал How-To на английском с модифицированными скриптами установки, в основе которых лежит скрипт, написанный Александром Рыжовым:

How To Install New Generation Optware

Вкратце, необходимо сделать следующее:

    1. Подготовить и подключить ext2/ext3 (mipsel) или ext2/ext3/ext4 (arm) USB диск
    2. Включить пользовательские скрипты и настройки JFFS и SSH, и перезагрузить роутер
    3. Подключиться по SSH
    4.а) Для mipsel

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

wget -O - http://files.hqt.ro/optware-ng/mipsel/optware-ng-setup.sh | sh

    4.б) Для arm

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

wget -O - http://files.hqt.ro/optware-ng/arm/optware-ng-arm-setup.sh | sh

    5. Скриптом будет предложен список разделов, куда может быть установлено Optware-ng. Введите номер, соответствующий Вашему выбору, и нажмите Enter

На этом установка Optware-ng заканчивается, далее автор предлагает создать SWAP файл подкачки на тот случай, если имеющейся RAM памяти недостаточно для стабильной работы:

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

cd /opt
dd if=/dev/zero of=swap bs=1024 count=524288
mkswap swap
chmod 0600 swap
swapon swap
mkdir -p /jffs/scripts
echo 'swapon /opt/swap' >> /jffs/scripts/post-mount
echo 'swapoff /opt/swap' >> /jffs/scripts/services-stop
chmod +x /jffs/scripts/*

Аватара пользователя
Александр Рыжов
Сообщения: 304
Зарегистрирован: 12 авг 2015, 13:14
Откуда: Смоленск

Optware - основные сведения.

Сообщение Александр Рыжов » 11 сен 2015, 11:56

Zyxmon писал(а):К сожалению несколько лет назад главный идеолог Optware Brian Zhou ушел на пенсию и его место до сих пор вакантно. Развитие проекта остановилось. Многие программы морально устарели. Сборка ведется старыми тулчейнами, в основу которых легли старые исходники ядра Linux.
Импортировал SVN Optware, чтобы посмотреть активности. Ещё в 2013-м проект нельзя было назвать заброшенным.

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

Optware - основные сведения.

Сообщение alllexx88 » 16 сен 2015, 14:33

Александр Рыжов писал(а):Источник цитаты Импортировал SVN Optware, чтобы посмотреть активности. Ещё в 2013-м проект нельзя было назвать заброшенным.


Как раз в конце 2013, Brian Zhou и ушёл в отставку. Помню его письмо в мейл лист nslu2-linux, в котором он об этом объявил:

From: Brian Zhou
Date: 2013-12-02 7:22 GMT+02:00
Subject: [nslu2-linux] Retire from optware project
To: nslu2-linux@yahoogroups.com

Hi all,


Because of lack of time, I've decided to retire from the optware project as the package manager. It has been a lot of fun creating and maintaining cross compilation packages. I get to know talented people, and have learned a great deal. IMHO, the optware cross compilation system is still the easiest to get into.

To the end users, there should be no change and no impact in the mean time.

If anyone is interested in continuing the optware support, please contact ka6sox in #nslu2-linux on freenode, or ka6sox@gmail.com.

Thank you!

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

Optware - основные сведения.

Сообщение alllexx88 » 16 сен 2015, 15:17

Начиная с сегодняшнего дня, в Optware-ng используется uClibc-ng-1.0.6 вместо морально устаревшего uClibc-0.9.33.2. Поскольку обратной совместимости нет, мной было принято решение создать новые фиды: buildroot-armeabi-ng и buildroot-mipsel-ng.

Старые фиды остаются, но обновляться не будут. Если у Вас установлен один из старых фидов (buildroot-armeabi или buildroot-mipsel), Вы можете либо очистить /opt, а потом установить заново, либо использовать написанный мной миграционный скрипт (сначала сделайте бэкап!):

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

wget -O - http://optware-ng.zyxmon.org/scripts/move-to-uclibc-ng.sh | sh


Скрипт тестировался на arm и mipsel прошивках tomatousb shibby mod. В теории, на других прошивках тоже должен работать

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

Optware - основные сведения.

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

С относительно недавнего времени в Optware-ng имеется ARMv5 фид:
Список пакетов

В данный момент также ведется работа над новым PowerPC 603e фидом.

Аватара пользователя
Александр Рыжов
Сообщения: 304
Зарегистрирован: 12 авг 2015, 13:14
Откуда: Смоленск

Optware - основные сведения.

Сообщение Александр Рыжов » 10 ноя 2015, 13:57

alllexx88, поправишь?

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

Сообщение alllexx88 » 20 дек 2015, 23:53

Александр Рыжов писал(а):Источник цитаты alllexx88, поправишь?

Сорри, давно сюда не заглядывал :) Спасибо, исправлю, как только с mysql всё устаканится (сейчас жду отчёта о работоспособности тестовой версии 5.7.9 для mipsel).

P.S. Подписался на тему, надо было сразу это сделать

UPD: Смотрю, ошибки уже нет. Но спасибо за опции '--enable-wrapping --enable-wrapping-as-root': пригодится, когда обновлю nano

evgenych
Сообщения: 1
Зарегистрирован: 31 дек 2015, 11:48

Сообщение evgenych » 31 дек 2015, 12:28

Добрый день. устройство rt-n66u, прошивка мерлина 380.57. Установил optware-ng согласно инструкции https://www.hqt.ro/how-to-install-new-g ... n-optware/. Потом поставил пакет mc. По сравнению с раньше стоявшей энтварью не хватает файлика /opt/etc/profile

#!/bin/sh

# Please note it's not a system-wide settings, it's only for a current
# terminal session. Point your f\w (if necessery) to execute /opt/etc/profile
# at console logon.

export PATH='/opt/usr/sbin:/opt/sbin:/opt/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin'
export TERM=xterm
export TMP=/opt/tmp
export TEMP=/opt/tmp

# You may define localization
export LANG='ru_RU.UTF-8'
export LC_ALL='ru_RU.UTF-8'

export TERMINFO=/opt/share/terminfo


и собственно самого каталога /opt/share/terminfo


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

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

Всего 1 посетитель :: 1 зарегистрированный, 0 скрытых и 0 гостей (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (121) здесь было 18 май 2016, 18:19

Сейчас этот форум просматривают: Yandex [Bot] и 0 гостей