Здраствуйте девочки и мальчики, дамы и господа. Сегодня я Вам расскажу сказку о LEDE и Entware. Те, кто знаком с LEDE/Openwrt сразу воcкликнут — не нужны нам пакеты Entware, свои есть. Отчасти они правы, пакеты Entware основаны на пакетах Openwrt. Давайте перед рассказом об установке и настройке Entware сравним эти две системы пакетов.
1. Установка. Систему пакетов Openwrt устанавливать не надо, она входит в прошивку. Установка Entware хоть и проста, но потребует минут 5-10, описание ниже.
2. Число пакетов. В Openwrt пакетов больше. В Entware перенесены не все. Cамые распространнее и восстребованные пакеты Openwrt перенесены в Entware. В Entware есть свои уникальные пакеты, которых нет в Openwrt. Эти пакеты или были заброшены разработчиками Openwrt, или добавлены по просьбам трудящихся. Среди этих пакетов deluge, rtorrent, mariadb, mediainfo, mkvtoolnix, rclone, syncthing и т.д. Этих популярных пакетов в Openwrt нет. Число таких пакетов более 250.
3. Место установки. По умолчанию пакеты Openwrt устанавливаются в свободную флеш память устройства. Она, обычно сильно ограничена. Безусловно, можно ставить и на внешний накопитель («технология extroot» — можно или всю rootfs или только overlay разместить на внешнем носителе). Extroot мощная «технология», но она требует определенных знаний и навыков. Пакеты Entware обычно устанавливаются на внешний носитель без всяких «хитростей».
4. При проблемах. Если после установки пакетов openwrt система не грузится, нужно сбрасывать настройки, загружаться в безопасном режиме и все восстанавливать. В случае проблем с Entware достаточно просто вытащить внешний накопитель.
5. Обновление прошивки. Пакеты Openwrt нужно устанвить заново после обновления. Пакеты Entware останутся на месте и будут работать.
6. Требуемые ресурсы. Пакеты Openwrt тут имеют преимущество и потребляют немного меньше памяти.
Как видим, обе системы пакетов имеют и свои преимущества и недостатки. Список можно продолжить -лучшая поддержка локалей в Entware, наличие пакетов с модулями ядра только в LEDE/Openwrt и т.д.. В конце концов никто не мешает Вам использовать обе системы пакетов одновременно.
Перед тем, как описать установку Entware на Openwrt несколько слов о роутере, на котором это тестировалось. Использовался Asus RT-AC58U с форком LEDE от dullish (основан на форке от chunkeey).
Итак приступим. Нам потребуется носитель с файловой системой ext4, смонтированный в папку /opt
. Это можно сделать черз Luci -
или отредактировав файл /etc/fstab
. Хорошо бы включить перед установкой swap.
Мы будем ставить Entware-3x. Существуют два различных вида установки — стандартный и альтернативный. Поскольку в LEDE все файлы «редактируемы», большого смысла в альтернативной установке нет. Установка стандартного варианта производится стандартной командой
wget -O - http://entware-3x.zyxmon.org/binaries/armv7/installer/install_std.sh | sh
После установки нам нужно добавить пути бинарнков Entware и другие требуемые переменные окружения. Это можно будет сделать с помощью:
echo ". /opt/etc/profile" >> /root/.profile
Закройте ssh сессию и откройте заново. Проверьте окружение командой env. Переменная PATH должна начинаться с /opt/bin
. Добавим свою таймзону, это нужно для Entware. Для Москвы это делается с помощью
ln -s /opt/share/zoneinfo/Europe/Moscow /opt/etc/localtime
Теперь нужно решить проблему с opkg. Сейчас в системе два бинарника opkg — /bin/opkg
и /opt/bin/opkg
. Предлагаю к первому обращаться с помощью opkg, а ко второму с помощью epkg. Сделаем это с помощью добавления псевдонимов
echo "alias opkg=\"/bin/opkg\"" >> /root/.profile
echo "alias epkg=\"/opt/bin/opkg\"" >> /root/.profile
Можете задать свои псевдонимы, как вам понравится.
Осталось обеспечить запуск служб Entware при запуске LEDE. Для этого создадим исполняемый файл скрипт /etc/init.d/entware
следующего содержания
#!/bin/sh /etc/rc.common
START=99
STOP=01
UNSLUNG=’/opt/etc/init.d/rc.unslung’
start() {
if [ -x $UNSLUNG ]; then
$UNSLUNG start
fi
}
stop() {
if [ -x $UNSLUNG ]; then
$UNSLUNG stop
fi
}
«Включим» его командой
/etc/init.d/entware enable
На этом всё! Установка Entware завершена.
PS Для процессоров Qualcomm IPQ8064 и IPQ8065 (NETGEAR R7500v1 и R7800) пользователем Voxel собран репозиторий Entware оптимизированный для Cortex-a15 с Neon-VFPv4. (Asus RT-AC58U на Cortex-a7, совмесим с Cortex-a15). Включение операций с плавающей запятой и оптимизация под эти процессоры дает существенную прибавку к производительности бинарников Entware. Результаты сравнения приведены на форуме. Для установки этого форка Entware используйте команду
wget -O - http://cortex-a15.zyxmon.org/binaries/cortex-a15-3x/installer/install_std.sh | sh
PPS Entware по стандартной инструкции можно установить и на стоковую прошивку RT-AC58U от Asus.
PPPS После обновления прошивки LEDE/Openwrt нужно заново создать root/.profile
и /etc/init.d/entware
.
PPPPS Выше приведен пример установки на железку с архитектурой armv7. Репозитории entware-3x собраны для armv5, mips, mipsel и x64. Смотрите сюда - http://entware-3x.zyxmon.org/binaries/. Замените url для скрипта установки, если используете другую архитектуру.
Список пакетов можно посмотреть по ссылкам (есть сортировка и поиск)
http://entware-3x.zyxmon.org/binaries/armv5/Packages.html
http://entware-3x.zyxmon.org/binaries/armv7/Packages.html
http://entware-3x.zyxmon.org/binaries/mips/Packages.html
Привет! А что должно быть в /opt/etc/profile ?
после wget -O — http://entware-3x……..
и echo «. /opt/etc/profile» >> /root/.profile
файла /opt/etc/profile нет.
И после закрытия/открытия ssh у меня вылезает ошибка
-ash: .: line 1: can’t open ‘/opt/etc/profile’
и по env в PATH= нет /opt/bin
Спасибо.
Значит были ошибки при установке. Удалите содержимое /opt и запустите установку заново.
Опубликуйте лог установки на https://pastebin.com/ (регистрация не нужна).
А еще лучше создайте тему на форуме http://forums.zyxmon.org (приблизительное название — проблема с установкой Entware-3x на openwrt). Подозреваю что или
(1) Вы выбрали установщик из папки с неподходящей архитектурой
или
(2) Носитель, на который идет установка не поддерживает символические ссылки. Нужна файловая система ext2/3/4.
https://pastebin.com/4dAvd3Dz
Как я вижу бинарник opkg не работает для вашей mips железки. К сожалению проверить и пофиксить это не смогу. Да и «специализируюсь» я на arm и intel. Что это за аппарат?
Попробуйте запустить `ldd /opt/bin/opkg`. Выхлоп сюда (скорее всего ругань).
root@LEDE:~# ldd /opt/bin/opkg
ldd: /opt/bin/opkg: Not a valid dynamic program
ZBT WG3526
https://pastebin.com/Hw8a536S
Эээ, простите, но на ZBT WG3526 можно скомпилить Padavan-a и там Entaware-ng работает
Если Вы это знаете, то должны были сразу mipsel ставить. Padavan не делал прошивки для mips. Об ошибке с архитектурой я Вам на форуме ответил.
Спасибо большое все получилось с mipsel на ZBT WG3526
Minidlna в entware конечно божественен, по сравнению с ним же от openWRT. Работает сортировка и автоматическа генерация миниатюр, что просто бесценно. Собственно только ради нормального человеческого minidlna и прикрутил на DIR-825B2 openWRT 18.06.0 + entware-3x. теперь у железки началась вторая жизнь.
К сожалению, у меня не получается. На openwrt 18.06.1 по умолчанию не каталога /opt. Создал я его, сделал всё как на картинке. После перезагрузки роутера ничего не происходит. Раздел со swap система видит.
Если ошибок при установке не было, в /opt файлы установились, то осталось обеспечить запуск entware в ваше дистрибутиве.
Проблема была в ревизии прошивки. Обновил исходники до 18.06.2 и появилось автомонтирование. Теперь буду экспериментировать с entware. Спасибо за статью..
А оно работает! Уважаемый Zyxmon, счастья, добра и долголетия тебе и твоим близким!
Переменная PATH остается PATH=/usr/sbin:/usr/bin:/sbin:/bin
что не так делаю?
Yaroslav — посмотрите как задается переменная PATH в актуальной версии OpenWRT. Инструкция (любая) актуальна на момент написания и постепенно устаревает. Значит нужно додумывать….
Здравствуйте! Прошу прощения, если пишу не туда, куда, но больше не знаю, куда написать…
Хочу сделать CUPS принт сервер с помощью Entware на базе OpenWRT, при установке пакета cups-pdf получаю ошибку
root@OpenWrt:/# epkg install cups-pdf
Installing cups-pdf (3.0.1-1) to root…
Downloading http://bin.entware.net/armv7sf-k3.2/cups-pdf_3.0.1-1_armv7-3.2.ipk
Collected errors:
satisfy_dependencies_for: Cannot satisfy the following dependencies for cups-pdf:
ghostscript
opkg_install_cmd: Cannot install package cups-pdf.
root@OpenWrt:/#
Написал об этом на гитхабе, получил ответ от Александра Рыжова, что я не могу использовать вместе пакеты OpenWRT и Entware, не понял, как это возможно и как относится к моей ошибке. При этом CUPS отлично работает, но не печатает тестовую страницу из-за отсутствующего ghostscript
Был битый apk для этой архитектуры. Исправлено.
На github можно писать и на русском
при установке такое выдает
Info: Basic packages installation…
/opt/bin/opkg: line 1: syntax error: unexpected word (expecting «)»)
/opt/bin/opkg: line 1: syntax error: unexpected word (expecting «)»)
/opt/bin/opkg: line 1: syntax error: unexpected word (expecting «)»)
Info: Congratulations!
команда env
не выдает переменную PATH /opt/bin
при загрузке терминала, такое:
-ash: .: line 1: can’t open ‘/opt/etc/profile’: No such file or directory
по пути /opt/etc действительно такого файла нет..
а сорри не прочитал коммент, у человека уже была такая ошибка
долго мучался, постоянно сыпалась одна ошибка.
решил вместо mips установить mipsel. и все получилось
правда я не понял почему ведь процессор mips.
команда
cat /proc/cpuinfo выдает
cpu model: MIPS 24KEc V5.5
Для mips и mipsel вывод команды одинаков. Так было всегда.