Jump to content

Recommended Posts

Решил совершить ещё одну попытку собрать свой пакет под NDMS. Но столкнулся со странной проблемой:

поставил v2.06(AAUX.5)A7 и теперь по telnet зайти могу, а по ssh - нет. Я что-то забыл? Как его включить? или через opt поставить dropbear?

Dec 29 18:49:50npkginflating "dropbear_2015.68-1_mt7621.ipk".

Dec 29 21:49:53ndmOpkg::Manager: /tmp/mnt/IMAGES initialized.

Dec 29 21:49:53ndmOpkg::Manager: invalid initrc "/opt/etc/initrc": no such file or directory, trying /opt/etc/init.d/.

Dec 29 21:49:53ndmProcess: system failed [0xcffd093f], "/opt/bin/sh" executable not found.

Dec 29 21:49:53ndmProcess: unable to create and initialize "Opkg shell" process.

Dec 29 21:49:53ndmIo::Process: "Opkg shell" is broken.

Dec 29 21:49:53ndmOpkg::Manager: process /opt/etc/init.d/S01dropbear: failed to start.

Link to comment
Share on other sites

Решил совершить ещё одну попытку собрать свой пакет под NDMS. Но столкнулся со странной проблемой:

поставил v2.06(AAUX.5)A7 и теперь по telnet зайти могу, а по ssh - нет. Я что-то забыл? Как его включить? или через opt поставить dropbear?

Dec 29 18:49:50npkginflating "dropbear_2015.68-1_mt7621.ipk".

Dec 29 21:49:53ndmOpkg::Manager: /tmp/mnt/IMAGES initialized.

Dec 29 21:49:53ndmOpkg::Manager: invalid initrc "/opt/etc/initrc": no such file or directory, trying /opt/etc/init.d/.

Dec 29 21:49:53ndmProcess: system failed [0xcffd093f], "/opt/bin/sh" executable not found.

Dec 29 21:49:53ndmProcess: unable to create and initialize "Opkg shell" process.

Dec 29 21:49:53ndmIo::Process: "Opkg shell" is broken.

Dec 29 21:49:53ndmOpkg::Manager: process /opt/etc/init.d/S01dropbear: failed to start.

1. Один просто пакет работать не будет, скачайте преинсталяционный архив и посмотрите в нем необходимый перечень пакетов для установки.

2. Вы явно использовали древний SDK, т.к. пакет должен называться dropbear_2015.68-1_mipsel.ipk

Link to comment
Share on other sites

1. Речь об этом архиве? http://files.keenopt.ru/preinstall/Keenetic_Ultra_II/

Т.е. просто те же пакеты из своего билда могу включить в минимальный комплект?

2. Про SDK спасибо, не догадывался, что есть новый. А где взять? Это? http://files.keenopt.ru/gpl_release/2015-11-01/

Может есть смысл SDK тоже в гите подавать?

А то у меня только с feeds гит есть.

UPD: собрал новую SDK. Включил opkg и opkg-install. Процесс прервался на этапе

/home/xxx/ndwrt_gpl_2.06.A.6.0-12_011215/build_dir/target-ku_rd-mipsel-linux-uclibc/root-mt7621//usr/lib/opkg/info/busybox.postinst: not found
* satisfy_dependencies_for: Cannot satisfy the following dependencies for busybox:
* pkg_run_script: package "busybox" postinst script returned status 127.
*** [/home/xxx/ndwrt_gpl_2.06.A.6.0-12_011215/build_dir/target-ku_rd-mipsel-linux-uclibc/root-mt7621/usr/lib/opkg/info/busybox.list] Error 255
make[3]: Leaving directory `/home/xxx/ndwrt_gpl_2.06.A.6.0-12_011215/feeds/ndmfeed/busybox'
*** [package/feeds/ndmfeed/busybox/install] Error 2
make[2]: Leaving directory `/home/xxx/ndwrt_gpl_2.06.A.6.0-12_011215'
*** [/home/xxx/ndwrt_gpl_2.06.A.6.0-12_011215/staging_dir/target-mipsel-linux-uclibc/stamp/.package_install] Error 2
make[1]: Leaving directory `/home/xxx/ndwrt_gpl_2.06.A.6.0-12_011215'

Судя по strace проблема в том, что зачем-то запускается скрипт postinstall на системе, где идёт сборка. Очевидно, /opt у меня нет.

[pid 24311] execve("/home/xxx/ndwrt_gpl_2.06.A.6.0-12_011215/build_dir/target-ku_rd-mipsel-linux-uclibc/root-mt7621//usr/lib/opkg/info/busybox.postinst", ["/home/xxx/"..., "configure"], [/* 112 vars */]) = -1 ENOENT (No such file or directory)

Файл /home/xxx/ndwrt_gpl_2.06.A.6.0-12_011215/build_dir/target-ku_rd-mipsel-linux-uclibc/root-mt7621//usr/lib/opkg/info/busybox.postinst содержит

#!/opt/bin/ash
if [ -f /opt/etc/shells.busybox ]; then
       ln -sfn bash /opt/bin/sh
fi

Я, конечно, временно решил проблему, но это нужно исправить

sudo ln -s /bin/true /opt/bin/ash

Link to comment
Share on other sites

Вы там что собрались исправлять? Это кросскомпиляция, во время сборки пакетов никакие скрипты не должны выполнятся! Значит вы что-то не так делаете, возьмите готовые сборочные конфиги из директории keenopt_cfg, там 2-а для полной сборки под mips и mipsel, они под 90Кб и выше, остальные только для сборки базовых пакетов и модулей ядра. Посмотрите структуру самого дистрибутива в http://opkg.keenopt.ru , как там все устроено и что выложено в каждой директории. Все собирается на ура в той версии SDK, что вы указали. Я это каждый день делаю и ничего не правлю, все 100% рабочее, а вы какими то костылями занимаетесь...

P.S. На правах гадалки, могу только предположить, что вы отмечаете пакеты как для установки, т.е. [*], а нужно как [M]....

Link to comment
Share on other sites

Надо бы как-то конфиги dropbear обновить

ssh 192.168.1.1   
Unable to negotiate with 192.168.1.1: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

А то свежий ssh отказывается с таким уровнем безопасности работать

Link to comment
Share on other sites

Похоже, гадалка права. А поясните незнайке, почему [M], а не [*] ?
Потому что всё отличие [M] от [*] состоит в том, что в первом варианте результат компиляции пакуется в ipk, а во втором, помимо паковки в ipk ещё входит в образ прошивки.
С моим хаком и с [*] собралось всё ;)
Так что никакой это не хак. Для сборки ipk разницы между [M] и [*] нет.
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...