Jump to content

Александр Рыжов

Moderators
  • Posts

    1,215
  • Joined

  • Last visited

  • Days Won

    25

Posts posted by Александр Рыжов

  1. Тот же косяк, что и в первом посте:

    $ ./configure.sh kn_rf
    $ make V=s
    …
    make[2]: Leaving directory '/home/ryzhovau/Keenopt/ndwrt_gpl_2.06.A.4.0-2_021015'
    ERROR: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!
    $ cp .config .config.omni2
    $ make menuconfig
    $ diff -u .config.omni2 .config
    --- .config.omni2       2015-10-19 08:27:09.896705446 +0300
    +++ .config     2015-10-19 08:53:59.196732232 +0300
    @@ -207,7 +207,6 @@
    # Firewall
    #
    # CONFIG_PACKAGE_ip6tables is not set
    -# CONFIG_PACKAGE_ip6tables-utils is not set
    
    #
    # Kernel modules
    @@ -427,6 +426,16 @@
    # CONFIG_PACKAGE_kmod-net-prism54 is not set
    
    #
    +# Languages
    +#
    +
    +#
    +# Lua
    +#
    +# CONFIG_PACKAGE_lua is not set
    +# CONFIG_PACKAGE_luac is not set
    +
    +#
    # Libraries
    #
    
    @@ -439,6 +448,47 @@
    CONFIG_PACKAGE_libxtables6=m
    
    #
    +# SSL
    +#
    +# CONFIG_PACKAGE_libopenssl is not set
    +# CONFIG_PACKAGE_libpolarssl is not set
    +# CONFIG_PACKAGE_glib2 is not set
    +# CONFIG_PACKAGE_libblkid is not set
    +# CONFIG_PACKAGE_libcharset is not set
    +# CONFIG_PACKAGE_libevent2 is not set
    +# CONFIG_PACKAGE_libevent2-core is not set
    +# CONFIG_PACKAGE_libevent2-extra is not set
    +# CONFIG_PACKAGE_libevent2-openssl is not set
    +# CONFIG_PACKAGE_libevent2-pthreads is not set
    +# CONFIG_PACKAGE_libiconv is not set
    +# CONFIG_PACKAGE_libiconv-full is not set
    +# CONFIG_PACKAGE_libintl is not set
    +# CONFIG_PACKAGE_libintl-full is not set
    +# CONFIG_PACKAGE_libjpeg is not set
    +# CONFIG_PACKAGE_libltdl is not set
    +# CONFIG_PACKAGE_liblua is not set
    +# CONFIG_PACKAGE_liblzo is not set
    +# CONFIG_PACKAGE_libmount is not set
    +# CONFIG_PACKAGE_libncurses is not set
    +# CONFIG_PACKAGE_libndm is not set
    +# CONFIG_PACKAGE_libpam is not set
    +# CONFIG_PACKAGE_libpopt is not set
    +# CONFIG_PACKAGE_librpc is not set
    +# CONFIG_PACKAGE_libsmartcols is not set
    +# CONFIG_PACKAGE_libssh2 is not set
    +# CONFIG_PACKAGE_libuuid is not set
    +# CONFIG_PACKAGE_libv8 is not set
    +# CONFIG_PACKAGE_terminfo is not set
    +# CONFIG_PACKAGE_zlib is not set
    +
    +#
    +# Multimedia
    +#
    +# CONFIG_PACKAGE_mjpg-streamer is not set
    +# CONFIG_PACKAGE_motion is not set
    +# CONFIG_PACKAGE_xupnpd is not set
    +
    +#
    # Network
    #
    
    @@ -446,16 +496,66 @@
    # Firewall
    #
    # CONFIG_PACKAGE_iptables is not set
    -# CONFIG_PACKAGE_iptables-mod-conntrack is not set
    -# CONFIG_PACKAGE_iptables-mod-filter is not set
    -# CONFIG_PACKAGE_iptables-mod-imq is not set
    -# CONFIG_PACKAGE_iptables-mod-ipopt is not set
    -# CONFIG_PACKAGE_iptables-mod-iprange is not set
    -# CONFIG_PACKAGE_iptables-mod-ipsec is not set
    -# CONFIG_PACKAGE_iptables-mod-ipset is not set
    -# CONFIG_PACKAGE_iptables-mod-nat is not set
    -# CONFIG_PACKAGE_iptables-mod-ulog is not set
    -# CONFIG_PACKAGE_iptables-utils is not set
    +
    +#
    +# VPN
    +#
    +# CONFIG_PACKAGE_openvpn-easy-rsa is not set
    +# CONFIG_PACKAGE_openvpn-nossl is not set
    +# CONFIG_PACKAGE_openvpn-openssl is not set
    +# CONFIG_PACKAGE_openvpn-polarssl is not set
    +# CONFIG_PACKAGE_dropbear is not set
    # CONFIG_PACKAGE_genl is not set
    CONFIG_PACKAGE_ip=y
    # CONFIG_PACKAGE_tc is not set
    +# CONFIG_PACKAGE_tor is not set
    +# CONFIG_PACKAGE_tor-geoip is not set
    +
    +#
    +# Utilities
    +#
    +
    +#
    +# disc
    +#
    +# CONFIG_PACKAGE_blkid is not set
    +# CONFIG_PACKAGE_cfdisk is not set
    +# CONFIG_PACKAGE_fdisk is not set
    +# CONFIG_PACKAGE_findfs is not set
    +# CONFIG_PACKAGE_lsblk is not set
    +# CONFIG_PACKAGE_partx-utils is not set
    +# CONFIG_PACKAGE_sfdisk is not set
    +# CONFIG_PACKAGE_swap-utils is not set
    +# CONFIG_PACKAGE_wipefs is not set
    +
    +#
    +# Terminal
    +#
    +# CONFIG_PACKAGE_agetty is not set
    +# CONFIG_PACKAGE_script-utils is not set
    +# CONFIG_PACKAGE_setterm is not set
    +# CONFIG_PACKAGE_wall is not set
    +# CONFIG_PACKAGE_cal is not set
    +# CONFIG_PACKAGE_dmesg is not set
    +# CONFIG_PACKAGE_flock is not set
    +# CONFIG_PACKAGE_getopt is not set
    +# CONFIG_PACKAGE_hwclock is not set
    +# CONFIG_PACKAGE_iconv is not set
    +# CONFIG_PACKAGE_jpeg-tools is not set
    +# CONFIG_PACKAGE_logger is not set
    +# CONFIG_PACKAGE_look is not set
    +# CONFIG_PACKAGE_losetup is not set
    +# CONFIG_PACKAGE_mc is not set
    +# CONFIG_PACKAGE_mcookie is not set
    +# CONFIG_PACKAGE_mount-utils is not set
    +# CONFIG_PACKAGE_namei is not set
    +# CONFIG_PACKAGE_ndmq is not set
    +# CONFIG_PACKAGE_ocf-crypto-headers is not set
    +# CONFIG_PACKAGE_openssl-util is not set
    +# CONFIG_PACKAGE_pam_ndm is not set
    +# CONFIG_PACKAGE_prlimit is not set
    +# CONFIG_PACKAGE_rename is not set
    +# CONFIG_PACKAGE_ttywatch is not set
    +# CONFIG_PACKAGE_uuidd is not set
    +# CONFIG_PACKAGE_uuidgen is not set
    +# CONFIG_PACKAGE_whereis is not set
    $ make V=s
    …
    make[3]: Entering directory '/home/ryzhovau/Keenopt/ndwrt_gpl_2.06.A.4.0-2_021015/toolchain/wrapper'
    echo -n "Testing external toolchain for softfloat support ... "; if /home/ryzhovau/Keenopt/ndwrt_gpl_2.06.A.4.0-2_021015/scripts/ext-toolchain.sh --toolchain $(find /home/ryzhovau/Keenopt/ndwrt_gpl_2.06.A.4.0-2_021015/build_dir/toolchain-mipsel-linux-uclibc/ -maxdepth 1 -name "tools-*") --cflags "-msoft-float" --cflags "--sysroot=$(find /home/ryzhovau/Keenopt/ndwrt_gpl_2.06.A.4.0-2_021015/build_dir/toolchain-mipsel-linux-uclibc/ -maxdepth 1 -name "sysroot-*")" --cflags "-I/home/ryzhovau/Keenopt/ndwrt_gpl_2.06.A.4.0-2_021015/build_dir/toolchain-mipsel-linux-uclibc//usr/include -I/home/ryzhovau/Keenopt/ndwrt_gpl_2.06.A.4.0-2_021015/build_dir/toolchain-mipsel-linux-uclibc//include" --cflags "-L/home/ryzhovau/Keenopt/ndwrt_gpl_2.06.A.4.0-2_021015/build_dir/toolchain-mipsel-linux-uclibc//usr/lib -L/home/ryzhovau/Keenopt/ndwrt_gpl_2.06.A.4.0-2_021015/build_dir/toolchain-mipsel-linux-uclibc//lib" --test "softfloat"; then echo "ok"; exit 0; else echo "failed"; echo "ERROR: CONFIG_SOFT_FLOAT is enabled but the external toolchain does not support it"; exit 1; fi
    Testing external toolchain for softfloat support ... failed
    ERROR: CONFIG_SOFT_FLOAT is enabled but the external toolchain does not support it
    Makefile:65: recipe for target '/home/ryzhovau/Keenopt/ndwrt_gpl_2.06.A.4.0-2_021015/build_dir/toolchain-mipsel-linux-uclibc/wrapper-1/.prepared' failed

    ЧЯДНТ?

  2. Если установить компонент «Аппаратный обработчик пакетов» 2.6.36+4.0-18-1 на Ultra II c этой прошивкой, то pppoe-соединение начинает работать с практически нулевой скоростью:

    aa92591202f7.png

    Нашёл виновника следующим образом: залил на роутер рабочий конфиг с которым всё было хорошо, перегрузил роутер, слил с него конфиг и посмотрел разницу:

    C:\Users\Александр\Downloads>diff.exe -u ./running-config_good.txt ./running-config_current.txt
    --- ./running-config_good.txt	2015-10-11 15:51:01.367445100 +0300
    +++ ./running-config_current.txt	2015-10-16 20:20:32.307570600 +0300
    @@ -2,7 +2,7 @@
    ! $$$ Version: 2.06
    ! $$$ Agent: http/ci
    ! $$$ Last change: Sun, 11 Oct 2015 12:50:20 GMT
    -! $$$ Md5 checksum: fac4d6481735a616772b3f2a071a2164
    +! $$$ Md5 checksum: 063639fb5e87b410af0cc464d1e8377c
    
    system
        set net.ipv4.ip_forward 1
    @@ -17,7 +17,7 @@
        no button WLAN on hold
        hostname Keenetic_Ultra
        clock timezone Europe/Moscow
    -    clock date 11 Oct 2015 15:50:58
    +    clock date 16 Oct 2015 20:20:43
        domainname WORKGROUP
    !
    ntp server 0.pool.ntp.org
    @@ -276,6 +276,8 @@
    ip static tcp PPPoE0 80 10.9.69.4 65080 !HTTP on MBL
    ip static tcp PPPoE0 51413 through 51414 10.9.69.4 !Torrents on MBL (TCP)
    ip static udp PPPoE0 51413 through 51414 10.9.69.4 !Torrents on MBL (UDP)
    +ppe software
    +ppe hardware
    user admin
        password md5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        password nt yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
    

    После чего снял галку с соотв. компонента и всё снова стало нормально:

    314e26b82248.png

  3. Простите за повтор, решил перенести обсуждение сюда.

    Безуспешно пытаюсь настроить Custom DynDNS service. На закладке Интернет > DyDNS выбрал «Используемый сервис: Другой», указал нужный мне URL, но вижу, что кинетик к моему запросу добавляет строку после "?", хотя об этом я его не просил. Вот как выглядит лог с ответной стороны при нажатии кн.«Обновить» в WebUI:

    $ sudo grep Keenetic /var/log/nginx/access.log
    5.145.255.19 - - [09/Oct/2015:16:07:18 -0400] "GET /myddns.php?hostname=myhost.domain.ru&myip=5.5.5.5 HTTP/1.0" 200 142 "-" "ZyXEL Keenetic Ultra II/v2.06(AAUX.1)A4 info@zyxel.ru"

    Второй косяк заключается в том, что Кинетик всё равно не выполняет обновления DynDNS ни при загрузке, ни по таймауту, заданному в CLI. К сервису Custom DynDNS он обращается только по кнопке «Обновить». В чём может быть дело? Ниже кусок из running-config:

    ! $$$ Model: ZyXEL Keenetic Ultra II
    ! $$$ Version: 2.06
    …
    dyndns profile _WEBADMIN
       type custom
       domain myhost.domain.ru
       update-interval 0 days 3 minutes
       url https://www.myvps.ru/dyndns/myddns.php

    И третье, пожелание. Если уж заработает Custom DNS с указываемым пользователем URL'ом, то было бы здорово в строке запроса предусмотреть подстановочные знаки для текущего IP и hostname, например:

    https://www.myvps.ru/dyndns/myddns.php?ip={ip}&hostname={hostname}

  4. Если вы хотите использовать ядерные модули, доступные для вашей прошивки, то можно их установить с помощью следующего скрипта:

    wget -qO - http://ndm.zyxmon.org/binaries/keenetic/installer/install-kmod.sh | sh

    Скрипт определяет модель вашего устройства, выкачивает и распаковывает архивы с модулями, собранными сообществом keenopt.ru:

    Checking available modules for kn_rf... Downloading and unpacking...
    The following modules was installed at /opt/lib/modules/2.6.36:
    input-core.ko       snd-pcm.ko          snd-usbmidi-lib.ko  v4l2-common.ko
    snd-hwdep.ko        snd-rawmidi.ko      snd.ko              videodev.ko
    snd-mixer-oss.ko    snd-seq-device.ko   soundcore.ko
    snd-page-alloc.ko   snd-timer.ko        uvcvideo.ko
    snd-pcm-oss.ko      snd-usb-audio.ko    v4l1-compat.ko

    Это все ядерные модули, доступные для вашего девайса. Если каких-то всё равно не хватает, обращайтесь к разработчикам прошивки. Только они имеют возможность их добавлять.

  5. Тема сохранена по историческим соображениям. Этот способ установки сейчас не работает!

    Если у Вас прошивка 2.07 или старше - устанавливайте Entware-3x - http://forum.keenetic.net/topic/560-entware-3x/

    Если у Вас прошивка младше 2.07 - устанавливайте Entware-keenetic

    http://forum.keenetic.net/topic/221-репозиторий-entware-keenetic/

    Актуальную версию инструкции и её обсуждение можно найти здесь. Ниже перечислен минимальный набор действий для использования Entware-ng на кинетиках.

    Требования

    • ZyXEL Keenetic с USB-портом. Любой, кроме моделей VOX, ADSL, 4G или LTE.
    • Прошивка с компонентом OPKG (либо бета от «14» ноября 2015г или новее либо релизная с OPKG).
    • USB носитель с разделом ext2/ext3 и определённой меткой (в примере ниже метка entware).

    Инструкция по установке

    1. Подключите USB-носитель к кинетику,
    2. Зайдите на носитель по ftp или cifs,
    3. Cоздайте на разделе с меткой entware USB-носителя папку install,
    4. Скопируйте в папку install этот архив,
      • Если у вас бета-версия прошивки с этого сайта, зайдите в CLI кинетика и выполните следующие команды:
        opkg disk entware
        opkg initrc /opt/etc/init.d/rc.unslung
        system configuration save
         

         

      • Если у вас релизная прошивка с OPKG-компонентом, зайдите в веб-интерфейс кинетика и на странице «Приложения > OPKG» поставьте галку «Включить». Затем выберите из списка нужный USB-носитель, в поле «Сценарий initrc:» впишите /opt/etc/init.d/rc.unslung и нажмите кн.«Применить».

    Если все сделали правильно, то в системном журнале через некоторое время появится строчка Entware-ng installed!

     
    
    [i] Jan 26 16:00:12 ndm: Syslog: the system log has been cleared. 
    [i] Jan 26 16:00:48 ndm: Opkg::Manager: disk is set to: entware. 
    [i] Jan 26 16:00:56 ndm: Opkg::Manager: disk is set to: EXT3. 
    [i] Jan 26 16:00:56 ndm: Opkg::Manager: /tmp/mnt/EXT3/ mounted to /tmp/mnt/EXT3/. 
    [i] Jan 26 16:00:56 ndm: Opkg::Manager: /tmp/mnt/EXT3/ mounted to /opt/. 
    [i] Jan 26 13:00:56 npkg: inflating "installer-entware.tar.gz". 
    [i] Jan 26 16:01:06 ndm: Opkg::Manager: /tmp/mnt/EXT3/ initialized. 
    [E] Jan 26 16:01:06 ndm: Opkg::Manager: invalid initrc "/opt/etc/initrc": no such file or directory, trying /opt/etc/init.d/. 
    [i] Jan 26 16:01:06 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Partition is OK. 
    [i] Jan 26 16:01:06 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: [1/4] Starting Entware-ng deployment... 
    [i] Jan 26 16:01:06 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Connecting to ndm.zyxmon.org (81.4.123.217:80). 
    [i] Jan 26 16:01:07 ndm: Opkg::Manager: configured init script: "/opt/etc/init.d/rc.unslung". 
    [i] Jan 26 16:01:07 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Connecting to ndm.zyxmon.org (81.4.123.217:80). 
    [i] Jan 26 16:01:07 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: [2/4] Basic packages installation... 
    [i] Jan 26 16:01:08 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://entware.zyxmon.org/binaries/mipsel/Packages.gz. 
    [i] Jan 26 16:01:08 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Updated list of available packages in /opt/var/opkg-lists/entware-ng. 
    [i] Jan 26 16:01:08 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://ndm.zyxmon.org/binaries/keenetic/Packages.gz. 
    [i] Jan 26 16:01:08 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Updated list of available packages in /opt/var/opkg-lists/ndm-keenetic. 
    [i] Jan 26 16:01:08 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing opt-ndmsv2 (1.0-1) to root... 
    [i] Jan 26 16:01:08 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://ndm.zyxmon.org/binaries/keenetic/opt-ndmsv2_1.0-1_mipselsf.ipk. 
    [i] Jan 26 16:01:09 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing libc (1.0.9-99zz) to root... 
    [i] Jan 26 16:01:09 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://ndm.zyxmon.org/binaries/keenetic/libc_1.0.9-99zz_mipselsf.ipk. 
    [i] Jan 26 16:01:10 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing libgcc (4.8.5-1) to root... 
    [i] Jan 26 16:01:10 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://entware.zyxmon.org/binaries/mipsel/libgcc_4.8.5-1_mipselsf.ipk. 
    [i] Jan 26 16:01:10 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing libssp (4.8.5-1) to root... 
    [i] Jan 26 16:01:10 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://entware.zyxmon.org/binaries/mipsel/libssp_4.8.5-1_mipselsf.ipk. 
    [i] Jan 26 16:01:11 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing libstdcpp (4.8.5-1) to root... 
    [i] Jan 26 16:01:11 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://entware.zyxmon.org/binaries/mipsel/libstdcpp_4.8.5-1_mipselsf.ipk. 
    [i] Jan 26 16:01:13 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing libpthread (1.0.9-1) to root... 
    [i] Jan 26 16:01:13 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://entware.zyxmon.org/binaries/mipsel/libpthread_1.0.9-1_mipselsf.ipk. 
    [i] Jan 26 16:01:13 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing librt (1.0.9-1) to root... 
    [i] Jan 26 16:01:13 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://entware.zyxmon.org/binaries/mipsel/librt_1.0.9-1_mipselsf.ipk. 
    [i] Jan 26 16:01:13 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing ldconfig (1.0.9-1) to root... 
    [i] Jan 26 16:01:13 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://entware.zyxmon.org/binaries/mipsel/ldconfig_1.0.9-1_mipselsf.ipk. 
    [i] Jan 26 16:01:14 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing findutils (4.5.14-1) to root... 
    [i] Jan 26 16:01:14 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://entware.zyxmon.org/binaries/mipsel/findutils_4.5.14-1_mipselsf.ipk. 
    [i] Jan 26 16:01:14 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing terminfo (6.0-1) to root... 
    [i] Jan 26 16:01:14 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://entware.zyxmon.org/binaries/mipsel/terminfo_6.0-1_mipselsf.ipk. 
    [i] Jan 26 16:01:15 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing busybox-zyx (1.24.1-50) to root... 
    [i] Jan 26 16:01:15 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://ndm.zyxmon.org/binaries/keenetic/busybox-zyx_1.24.1-50_mipselsf.ipk. 
    [i] Jan 26 16:01:16 ndm: Core::ConfigurationSaver: saving configuration... 
    [i] Jan 26 16:01:16 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing dropbear (2015.68-3a) to root... 
    [i] Jan 26 16:01:16 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://entware.zyxmon.org/binaries/mipsel/dropbear_2015.68-3a_mipselsf.ipk. 
    [i] Jan 26 16:01:16 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing ndmq (1.0.2-1) to root... 
    [i] Jan 26 16:01:16 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://ndm.zyxmon.org/binaries/keenetic/ndmq_1.0.2-1_mipselsf.ipk. 
    [i] Jan 26 16:01:17 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Installing libndm (1.0.22-1) to root... 
    [i] Jan 26 16:01:17 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://ndm.zyxmon.org/binaries/keenetic/libndm_1.0.22-1_mipselsf.ipk. 
    [i] Jan 26 16:01:17 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Updating /opt/etc/ld.so.cache... done. 
    [i] Jan 26 16:01:17 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring libgcc. 
    [i] Jan 26 16:01:17 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring libc. 
    [i] Jan 26 16:01:17 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring libssp. 
    [i] Jan 26 16:01:17 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring terminfo. 
    [i] Jan 26 16:01:17 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring ldconfig. 
    [i] Jan 26 16:01:17 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring libpthread. 
    [i] Jan 26 16:01:17 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring busybox-zyx. 
    [i] Jan 26 16:01:17 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring librt. 
    [i] Jan 26 16:01:17 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring libndm. 
    [i] Jan 26 16:01:17 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring ndmq. 
    [i] Jan 26 16:01:17 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring dropbear. 
    [i] Jan 26 16:01:17 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring libstdcpp. 
    [i] Jan 26 16:01:17 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring findutils. 
    [i] Jan 26 16:01:17 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring opt-ndmsv2. 
    [i] Jan 26 16:01:17 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: [3/4] Generating SSH keys... 
    [i] Jan 26 16:01:17 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Generating key, this may take a while... 
    [i] Jan 26 16:01:58 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: ....................done. 
    [i] Jan 26 16:01:58 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Generating key, this may take a while... 
    [i] Jan 26 16:02:00 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: .done. 
    [i] Jan 26 16:02:00 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: [4/4] Entware-ng installed! Starting dropbear... 
    [i] Jan 26 16:02:00 ndm: Opkg::Manager: /opt/etc/init.d/doinstall: Log on at root:zyxel@my.keenetic.net to start new SSH session. 
    [i] Jan 26 16:02:00 dropbear[2171]: Running in background
    
     

    Всё! Можно зайти на кинетик по ssh, логин root, пароль zyxel.

    Пароль entware никак не связан с паролем кинетика. Меняется он, если необходимо, стандартной командой passwd:

     
    
    
    ~ # passwd
    Changing password for root
    New password:
    Bad password: too weak
    Retype password:
    Password for root changed by root
     

    Обновите список пакетов

    
    
    opkg update
     

    и устанавливайте нужный, например:

    
    
    opkg install mc
     
    • Thanks 1
  6. Кстати, $PATH в среду логичнее передавать не такой как сейчас:

    PATH='/bin:/sbin:/usr/bin:/usr/sbin:/opt/bin:/opt/sbin:/opt/usr/bin:/opt/usr/sbin'

    а такой, чтобы в первую очередь искались сторонние бинарники:

    PATH='/opt/bin:/opt/sbin:/opt/usr/bin:/opt/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin'

  7. Правильно ли я понимаю то, что пакеты, положенные в папку /opt/install будут распаковываться при каждой загрузке роутера…?
    Пакеты после установки удаляются…
    Используется ли /tmp при распаковки этих пакетов? Т.е. не исчерпаю ли я всю RAM, если положу внутрь /opt/install/package.ipk DVD-фильм?

    Спрашиваю потому, что хочу подготовить для кинетиков пакет с chroot-средой Debian. Ultra II, в частности, удовлетворяет минимальным требованиям, а схожий пакет предыдущей версии был востребован ранее пользователями других роутеров.

    Пакет в сжатом виде получится ~40МБ.

  8. Кстати, сто́ит ли мне сделать html-индекс для keenopt для облегчения навигации по пакетам? Чуть позже сделаю на своих мощностях, посмотрим насколько будет полезен.
    Если не обременит, то наверное стоит, хотя бы для того, что бы посмотреть список пакетов для установки или скачать индивидуально интересующий пакет.
    Готово.

    https://www.ryzhov-al.ru/keenopt_index/

    Обновляется раз в сутки.

  9. какой dhcp сервер посоветуете? ато по opkg list *dhcp* пусто совсем
    На Entware при развёртывании Windows использовал dnsmasq + tftpd-hpa, т.к. не знаю другого TFTP-сервера, умеющего выполнять подстановку символов.

    ЗЫ Добавлю ради кинетиков в репозиторий dnsmasq.

  10. Я конечно спрошу, можно ли в прошивку добавить опцию BOOTP для встроенного DHCP сервера, но не думаю, что ответ будет положительным...
    К DNS-серверу, в свою очередь, со временем понадобятся

    ### Tunlr support
    server=/pandora.com/199.x.x.x
    server=/spotify.com/199.x.x.x
    

    или

    ### Using dnscrypt-proxy
    no-resolv
    server=127.0.0.1#65053
    server=127.0.0.1#65054

    Не верю, что всё это станут реализовывать. Лучше уж поднимать свой сервер.

  11. Используется полностью свой интегрированный под задачи NDM Systems, сделать желаемое через него не получится. Вам придется отключить встроенный DHCP сервер и установить свой, какой, это уже на ваш выбор....
    Можно перекидывать DHCP-запросы серверу в LAN-сети и затем отдавать им нужные опции?

    ip dhcp relay server ‹address›

    Разумеется, в этом случае свой DHCP-сервер в LAN-сети должен брать на себя весь функционал заводского?

  12. хочу организовать загрузку образов по сети на zuxel 2

    какой dhcp сервер используетс и где его конфиги лежат?

    и есть ли вообще возможность это зделать?

    Так или иначе, нет возможности передать встроенному DHCP-серверу нужные опции. Всё, на что мы можем повлиять, это…

    (config)> ip dhcp
    
               class - DHCP class configuration
                pool - DHCP pool configuration
                host - set static lease host
               match - configure DHCP service
               relay - configure DHCP relay service
    

  13. 2. Экспорт LD_LIBRARY_PATH наверняка сделано потому, что в тулчейн для сбора пакетов не заложен rpath=/opt/lib. Хочу напомнить, что пути из LD_LIBRARY_PATH не заменяют rpath, а дополняют его подстановкой перед путями из rpath, что для без указания правильного префикса /opt не имеет смысла для ряда пакетов, использующих свои плагины (poptop, znc, perl и другие). Устанавливай LD_LIBRARY_PATH или нет, такие пакеты без правки префикса не взлетят:

    admin@RT-N66U:/tmp/home/root# ldd /opt/bin/perl
           libperl.so => /opt/lib/perl5/5.22/CORE/libperl.so (0x2aac0000)
           libpthread.so.0 => /opt/lib/libpthread.so.0 (0x2ac85000)
           libdl.so.0 => /opt/lib/libdl.so.0 (0x2acaa000)
           libm.so.0 => /opt/lib/libm.so.0 (0x2acbd000)
           ...

    Кроме того, для бинарников с установленными битами setuid или setgid содержимое LD_LIBRARY_PATH игнорируется по соображением безопасности. Это можно проверить, скажем, на пакете sudo.

    Если для сборки пакетов будет использовать билдут с этой правкой, то костыль с установкой LD_LIBRARY_PATH не понадобится.

  14. 1) Кажется, есть противоречение между wiki и прошивкой. Согласно этой статьи в среду должны передаётся:

    LD_LIBRARY_PATH=/opt/lib:/opt/usr/lib:/lib:/usr/lib
     

    Однако /lib/libndmOpkg.so при запуске initrc экспортирует в среду:

    LD_LIBRARY_PATH=/lib:/usr/lib:/opt/lib:/opt/usr/lib
     

    Это можно воспроизвести, написав «фальшивый» скрипт /opt/etc/init.d/S99fake со следующим содержимым:

    #!/bin/sh
    export > /opt/tmp/env.tst
     

    В итоге при запуске внешних сервисов возможны жалобы can't resolve symbol с аварийным завершением работы.

  15. Как я пока что понимаю, несмотря на присутствие в base-files скриптов /lib/functions, OpenWrt'шный механизм не будет использоваться ни для конфигурирования пакетов, ни для запуска сервисов, т.к. для запуска выбрана NSLU-like схема /opt/etc/init.d/Sxx. Соответсвенно, Makefile'ы для половины пакетов всё равно придётся править, хотя бы ради добаваления скриптов запуска.

  16. Насколько понимаю, сейчас среда NDM Systems Buildroot сделана так, чтобы как можно меньше отличаться от OpenWrt Buildroot. Пакеты конфигурируются, компилируются и пакуются без упоминания префикса /opt, что позволяет использовать Makefile'ы OpenWrt'шных пакетов без какой-либо модификации, а для распаковки на роутере в конфиге opkg.conf указывается опция dest root /opt. В частности, вижу в билдруте NDM:

    $ cat include/package-defaults.mk
    ...
    CONFIGURE_PREFIX:=/usr
    CONFIGURE_ARGS = \
                   --target=$(GNU_TARGET_NAME) \
                   --host=$(GNU_TARGET_NAME) \
                   --build=$(GNU_HOST_NAME) \
                   --program-prefix="" \
                   --program-suffix="" \
                   --prefix=$(CONFIGURE_PREFIX) \
                   --exec-prefix=$(CONFIGURE_PREFIX) \
                   --bindir=$(CONFIGURE_PREFIX)/bin \
                   --sbindir=$(CONFIGURE_PREFIX)/sbin \
                   --libexecdir=$(CONFIGURE_PREFIX)/lib \
                   --sysconfdir=/etc \
                   --datadir=$(CONFIGURE_PREFIX)/share \
                   --localstatedir=/var \
                   --mandir=$(CONFIGURE_PREFIX)/man \
                   --infodir=$(CONFIGURE_PREFIX)/info \
                   $(DISABLE_NLS) \
                   $(DISABLE_LARGEFILE) \
                   $(DISABLE_IPV6)
     

    Получается, что пакеты, которые конфигурируются с помощью GNU Build System (половина, а то и большинство) получат в своих бинарниках hardcoded-пути: /etc для поиска своих конфигов, /var — для сохранения временных данных, /usr/share для поиска данных и т.п., что неправильно.

    Правильный вариант кроме указания корректных опций конфигурирования потребует соответсвующего изменения Makefile'ов пакетов, что значительно более трудоёмкая задача.

    Первый путь был выбран исходя из перечисленных доводов? Не будет ли это нарушение FHS выглядеть коряво?

    Здесь лежат все необходимые правки билдрута, если будет выбран «правильный» путь. С пакетами, повторюсь, придётся повозиться отдельно.

  17. Т.е. при выполнении opkg upgrade должны обновляться в т.ч. те пакеты, которые были распакованы из /opt/install?
    Совершенно верно, те же uclibc обновить или base-files к примеру...
    Тогда наиболее логичный путь — это установка первым делом полноценного opkg. И не надо будет обременять "эмулятор" opkg всеми функциями настоящего (в части, записью статусов распакованных пакетов в /opt/lib/opkg/status), и будет возможность обновлять в т.ч. базовые файлы и uclibc-библиотеки.
  18. Все пакеты должны обновляться, я понимаю, что в первоначальной установке Entware это не учтено, у нас пока тоже, но как только сделаем базу opkg с info, все будет как надо.
    В смысле? Т.е. при выполнении opkg upgrade должны обновляться в т.ч. те пакеты, которые были распакованы из /opt/install?

    Про Entware пока речь не заходила, но там не в пакетах только сам статический бинарник opkg. Это сделано умышлено, для того, чтобы он остался работоспособен даже в том случае, если остальная система в руинах.

    Кстати, сто́ит ли мне сделать такой html-индекс для keenopt для облегчения навигации по пакетам? Чуть позже сделаю на своих мощностях, посмотрим насколько будет полезен.

  19. /opt/install как раз и нужен, чтобы поставить минимальный набор утилит для начала работы. В этот момент скрипты не нужны. Затем, имея настоящий /opt/bin/sh и настоящий /opt/bin/opkg, будут ставиться пакеты со скриптами, и установкой будет заниматься /opt/bin/opkg, а не компонент прошивки.

    Можете привести несколько примеров пакетов с pre- и post-install скриптами для понимания?

    Примеры из моих пакетов: раз, два, три.

    Раз у /opt/install цель — установить окружение для работы, то теоретически может понадобиться и /opt/bin/sh. Это можно учесть в зависимостях пакета, если, конечно, при установке из /opt/install эти зависимости будут учитываться.

    Если зависимости не будут учитываться, что хорошо бы распаковывать пакеты из /opt/install в алфавитном порядке, тогда зависимости можно будет соблюсти, назвав пакеты 00utility1.ipk, 02utility1.ipk и т.д.

  20. Пакеты после установки удаляются. Скрипты пока не выполняются, но это можно (и нужно) обсудить.
    Пока просто вожу руками в воздухе. Если удастся получить девайс на тест, то внесу посильный вклад.

    Первая засада с выполнением post/pre-inst скриптов видится в том, что они представляют собой shell-скрипты, начинающиеся shebang'ом #!/bin/sh и к моменту их выполнения /opt/bin/sh ещё может не существовать.

×
×
  • Create New...