Wive-NG на устройствах с USB поддерживает следующие возможности.
Работа с накопителями:
1) Поддержка установки внешних приложений из репозитория Entware
2) Поддержка swap (актуально при использовании приложений из Entware, которым мало встроенной RAM)
3) Файловые серверы (SAMBA/FTP)
4) DLNA сервер (XUPNPD)
Поддерживаемые FS:
1) ext2/3/4 (рекомендуется ext4, как нативная для Linux и актуальная для всех современных Linux дистрибутивов FS). Рекомендуем использовать именно Ext4.
2) FAT32 (нативно, но не умеет *nix расширений и имеет ограничения на длину файла)
3) NTFS (через NTFS 3G userspace fuse реализацию, в разы медленней выше приведённых)
4) ExFAT – файловая система от MS для flash накопителей. Поддержка нативная, а значит быстрая. ОДНАКО. Категорически не подходит для организации файлового хранилища если планируется запись по сети. Проблема в том, что ExFAT всегда сначала выделяет место на накопителе под файл и только потом начинает запись данных. Такой подход, на длинных файлах может приводить к задержкам (вплоть до часов в зависимости от размера и накопителя) перед началом записи и вря тли ваша OS дождётся отклика от SAMBA в роутере…
Автомонтирование осуществляется по меткам:
1) swap раздел с меткой swap
2) optware метка на разделе EXT* заставит смонтировать его в /opt для использования Entware
3) media метка говорит системе использовать этот раздел как файловое хранилище для FTP/SAMBA/DLNA
4) если метка не совпадает ни с одной из вышеперечисленных, то раздел будет смонтирован в /media/sd*
Другие возможности:
1) Сервер печати (p910nd)
2) Поддержка USB модемов 3G/LTE
Установка и использование Entware:
Для работы потребуется маршрутизатор на базе ПО Wive-NG-HQ с USB портом – например, FT-AIR-DUO-G флэш или USB HDD в роли накопителя.
Подготовка накопителя сводится к созданию на нём раздела ext4 с меткой optware. Это можно сделать любыми доступными средствами, например используя gparted под Linux.
После подключения накопителя к маршрутизатору, следует подключиться к нему по ssh. Проверяем что раздел optware корректно смонтировался введя mount | grep opt. Если видим соответствующую строку – всё Ок. Продолжаем.
[Wive-NG-HQ:/]$ mount | grep opt /dev/sda1 on /opt type ext4 (rw,noatime,data=ordered)
Командуем entware_install.sh и ожидаем окончания процедуры:
[Wive-NG-HQ:/]$ entware_install.sh Connecting to bin.entware.net (172.67.212.134:80) writing to stdout - 100% |*************************************************************| 2212 Info: Checking for prerequisites and creating folders... 0:00:00 ETAWarning: Folder /opt exists! written to stdout Info: Opkg package manager deployment... Connecting to bin.entware.net (104.27.177.50:80) saving to '/opt/bin/opkg' opkg 100% |*************************************************************| 163k 0:00:00 ETA '/opt/bin/opkg' saved Connecting to bin.entware.net (172.67.212.134:80) saving to '/opt/etc/opkg.conf' opkg.conf 100% |*************************************************************| 150 0:00:00 ETA '/opt/etc/opkg.conf' saved Connecting to bin.entware.net (172.67.212.134:80) saving to '/opt/lib/ld-2.27.so' ld-2.27.so 100% |*************************************************************| 155k 0:00:00 ETA '/opt/lib/ld-2.27.so' saved Connecting to bin.entware.net (172.67.212.134:80) saving to '/opt/lib/libc-2.27.so' libc-2.27.so 100% |*************************************************************| 1609k 0:00:00 ETA '/opt/lib/libc-2.27.so' saved Connecting to bin.entware.net (172.67.212.134:80) saving to '/opt/lib/libgcc_s.so.1' libgcc_s.so.1 100% |*************************************************************| 94428 0:00:00 ETA '/opt/lib/libgcc_s.so.1' saved Connecting to bin.entware.net (104.27.177.50:80) saving to '/opt/lib/libpthread-2.27.so' libpthread-2.27.so 100% |*************************************************************| 116k 0:00:00 ETA '/opt/lib/libpthread-2.27.so' saved Info: Basic packages installation... Downloading http://bin.entware.net/mipselsf-k3.4/Packages.gz Updated list of available packages in /opt/var/opkg-lists/entware Installing entware-opt (227000-3) to root... Downloading http://bin.entware.net/mipselsf-k3.4/entware-opt_227000-3_all.ipk Installing libgcc (8.3.0-9) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libgcc_8.3.0-9_mipsel-3.4.ipk Installing libc (2.27-9) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libc_2.27-9_mipsel-3.4.ipk Installing libssp (8.3.0-9) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libssp_8.3.0-9_mipsel-3.4.ipk Installing libpthread (2.27-9) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libpthread_2.27-9_mipsel-3.4.ipk Installing librt (2.27-9) to root... Downloading http://bin.entware.net/mipselsf-k3.4/librt_2.27-9_mipsel-3.4.ipk Installing libstdcpp (8.3.0-9) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libstdcpp_8.3.0-9_mipsel-3.4.ipk Installing entware-release (1.0-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/entware-release_1.0-2_all.ipk Installing zoneinfo-asia (2019c-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/zoneinfo-asia_2019c-1_mipsel-3.4.ipk Installing zoneinfo-europe (2019c-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/zoneinfo-europe_2019c-1_mipsel-3.4.ipk Installing findutils (4.7.0-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/findutils_4.7.0-1_mipsel-3.4.ipk Installing terminfo (6.2-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/terminfo_6.2-1_mipsel-3.4.ipk Installing libpcre (8.43-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libpcre_8.43-2_mipsel-3.4.ipk Installing grep (3.4-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/grep_3.4-1_mipsel-3.4.ipk Installing locales (2.27-9) to root... Downloading http://bin.entware.net/mipselsf-k3.4/locales_2.27-9_mipsel-3.4.ipk Installing opkg (2019-06-14-dcbc142e-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/opkg_2019-06-14-dcbc142e-2_mipsel-3.4.ipk Installing entware-upgrade (1.0-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/entware-upgrade_1.0-1_all.ipk Configuring libgcc. Configuring libc. Configuring libssp. Configuring libpthread. Configuring librt. Configuring terminfo. Configuring libpcre. Configuring grep. Configuring locales. Entware uses separate locale-archive file independent from main system Creating locale archive /opt/usr/lib/locale/locale-archive Adding en_EN.UTF-8 Adding ru_RU.UTF-8 You can download locale sources from http://bin.entware.net/other/i18n_glib227.tar.gz You can add new locales to Entware using /opt/bin/localedef.new Configuring entware-upgrade. Upgrade operations are not required Configuring opkg. Configuring zoneinfo-europe. Configuring zoneinfo-asia. Configuring libstdcpp. Configuring entware-release. Configuring findutils. Configuring entware-opt. Info: Congratulations! Info: If there are no errors above then Entware was successfully initialized. Info: Add /opt/bin & /opt/sbin to $PATH variable Info: Add "/opt/etc/init.d/rc.unslung start" to startup script for Entware services to start Info: Found a Bug? Please report at https://github.com/Entware/Entware/issues !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!NEED REBOOT DEVICE BEFORE USE!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
По окончанию операции командуем fs save && reboot:
[Wive-NG-HQ:/]$ fs save && reboot Save curent date and current time to rwfs Compress config files tar: removing leading '/' from member names Write RW-FS to flash (176kB of 256kB) Unlocking RW-FS ... Writing from /tmp/tgzfs to RW-FS ... [w] Config saved. OK.
После перезагрузки снова подключаемся по ssh и проверяем что получилось. Пробуем установить например MTR (My traceroute), командуем opkg install mtr:
[Wive-NG-HQ:/]$ opkg install mtr Installing mtr (0.93-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/mtr_0.93-1_mipsel-3.4.ipk Installing libncursesw (6.2-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libncursesw_6.2-1_mipsel-3.4.ipk Installing libncurses (6.2-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/libncurses_6.2-1_mipsel-3.4.ipk Configuring libncursesw. Configuring libncurses. Configuring mtr.
Произвести проверку того, что всё прошло без ошибок, можно, запустив инструмент (например, командой mtr www.ru).