Устанавливаем Entware на LEDE/Openwrt

lede

Здраствуйте девочки и мальчики, дамы и господа. Сегодня я Вам расскажу сказку о 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 -

lede_mount

или отредактировав файл /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

http://entware-3x.zyxmon.org/binaries/mipsel/Packages.html

http://entware-3x.zyxmon.org/binaries/x64/Packages.html

21 Комментарии в“Устанавливаем Entware на LEDE/Openwrt”

  1. Alex
    17.08.2017 в 15:42 #

    Привет! А что должно быть в /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
    Спасибо.

  2. Zyxmon
    17.08.2017 в 15:48 #

    Значит были ошибки при установке. Удалите содержимое /opt и запустите установку заново.
    Опубликуйте лог установки на https://pastebin.com/ (регистрация не нужна).

    А еще лучше создайте тему на форуме http://forums.zyxmon.org (приблизительное название — проблема с установкой Entware-3x на openwrt). Подозреваю что или
    (1) Вы выбрали установщик из папки с неподходящей архитектурой
    или
    (2) Носитель, на который идет установка не поддерживает символические ссылки. Нужна файловая система ext2/3/4.

    • Zyxmon
      17.08.2017 в 16:50 #

      Как я вижу бинарник opkg не работает для вашей mips железки. К сожалению проверить и пофиксить это не смогу. Да и «специализируюсь» я на arm и intel. Что это за аппарат?
      Попробуйте запустить `ldd /opt/bin/opkg`. Выхлоп сюда (скорее всего ругань).

  3. Alex
    17.08.2017 в 19:52 #

    root@LEDE:~# ldd /opt/bin/opkg
    ldd: /opt/bin/opkg: Not a valid dynamic program
    ZBT WG3526
    https://pastebin.com/Hw8a536S

  4. Alex
    17.08.2017 в 19:59 #

    Эээ, простите, но на ZBT WG3526 можно скомпилить Padavan-a и там Entaware-ng работает

    • Zyxmon
      17.08.2017 в 20:20 #

      Если Вы это знаете, то должны были сразу mipsel ставить. Padavan не делал прошивки для mips. Об ошибке с архитектурой я Вам на форуме ответил.

      • Alex
        17.08.2017 в 20:28 #

        Спасибо большое все получилось с mipsel на ZBT WG3526

  5. DarkCraz
    08.08.2018 в 13:18 #

    Minidlna в entware конечно божественен, по сравнению с ним же от openWRT. Работает сортировка и автоматическа генерация миниатюр, что просто бесценно. Собственно только ради нормального человеческого minidlna и прикрутил на DIR-825B2 openWRT 18.06.0 + entware-3x. теперь у железки началась вторая жизнь.

  6. Сергей Давыденко
    09.05.2019 в 10:08 #

    К сожалению, у меня не получается. На openwrt 18.06.1 по умолчанию не каталога /opt. Создал я его, сделал всё как на картинке. После перезагрузки роутера ничего не происходит. Раздел со swap система видит.

  7. Zyxmon
    09.05.2019 в 10:59 #

    Если ошибок при установке не было, в /opt файлы установились, то осталось обеспечить запуск entware в ваше дистрибутиве.

  8. Сергей Давыденко
    10.05.2019 в 15:50 #

    Проблема была в ревизии прошивки. Обновил исходники до 18.06.2 и появилось автомонтирование. Теперь буду экспериментировать с entware. Спасибо за статью..

  9. Сергей Давыденко
    10.05.2019 в 17:29 #

    А оно работает! Уважаемый Zyxmon, счастья, добра и долголетия тебе и твоим близким!

  10. 15.08.2019 в 09:56 #

    Переменная PATH остается PATH=/usr/sbin:/usr/bin:/sbin:/bin
    что не так делаю?

  11. Zyxmon
    15.08.2019 в 10:10 #

    Yaroslav — посмотрите как задается переменная PATH в актуальной версии OpenWRT. Инструкция (любая) актуальна на момент написания и постепенно устаревает. Значит нужно додумывать….

  12. Sergei
    13.12.2019 в 17:35 #

    Здравствуйте! Прошу прощения, если пишу не туда, куда, но больше не знаю, куда написать…
    Хочу сделать 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

  13. Zyxmon
    13.12.2019 в 18:01 #

    Был битый apk для этой архитектуры. Исправлено.
    На github можно писать и на русском ;)

  14. abc
    31.01.2020 в 12:44 #

    при установке такое выдает
    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 действительно такого файла нет..

  15. abc
    31.01.2020 в 12:48 #

    а сорри не прочитал коммент, у человека уже была такая ошибка

  16. abc
    31.01.2020 в 13:48 #

    долго мучался, постоянно сыпалась одна ошибка.
    решил вместо mips установить mipsel. и все получилось

    правда я не понял почему ведь процессор mips.
    команда
    cat /proc/cpuinfo выдает
    cpu model: MIPS 24KEc V5.5

  17. Zyxmon
    01.02.2020 в 14:08 #

    Для mips и mipsel вывод команды одинаков. Так было всегда.

Добавить комментарий для Alex Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *

(Required)

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Автор темы: www.gopiplus.com, перевел WP-Templates.ru, поддержка SearchTimes.ru.