| |
| rb435g [2017/10/29 00:36] – [Sestavení] djbuldog | rb435g [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 |
|---|
| * všechno jen přes mikrotik a s mikrotik přes TLS/SRTP | * všechno jen přes mikrotik a s mikrotik přes TLS/SRTP |
| * mělo by to jít i přes třeba [[https://www.kamailio.org/w/features/|kamailio]] | * mělo by to jít i přes třeba [[https://www.kamailio.org/w/features/|kamailio]] |
| * n2n klient pro vzdálené ovládání | * n2n klient pro vzdálené ovládání ([[https://www.wireguard.com|wireguard]]) |
| |
| * test z 6.8.2017 | * test z 6.8.2017 |
| usign - 2015-07-04-ef641914-1 | usign - 2015-07-04-ef641914-1 |
| </code> | </code> |
| | |
| | ==== Modifikace rootfs ==== |
| | |
| | * mám nastavený symlink [[lede#uzivatelske_soubory|files]] na složku modifikace_rom_rootfs |
| | * ta obsahuje: |
| | * můj ssh klíč |
| | * moje root heslo |
| | * moje nastavení sítě a wifi pro rb435g |
| | * název systému |
| ==== Problémy ==== | ==== Problémy ==== |
| |
| * zapsáno jako bug https://github.com/lede-project/source/pull/854/files | * zapsáno jako bug https://github.com/lede-project/source/pull/854/files |
| * na základě http://lists.infradead.org/pipermail/lede-dev/2017-January/005197.html | * na základě http://lists.infradead.org/pipermail/lede-dev/2017-January/005197.html |
| | |
| | ==== Problémy kompilace ==== |
| | |
| | === chybějící libedit === |
| | |
| | * pro kompilaci asterisk13 bylo potřeba explicitně přidat |
| | |
| | <code> |
| | scripts/feeds install libedit |
| | </code> |
| | |
| | === chybějící libxml2 === |
| | |
| | * nelze přeložit Asterisk13x balíček, problém s libxml2 |
| | |
| | <code> |
| | (cd /home/djbuldog/Projekty/embedded/rb435g/LEDE/build_dir/target-mips_24kc_musl/asterisk-13.9.1/menuselect; ./bootstrap.sh; ./configure --without-newt --without-curses --with-ncurses="/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/host/usr" --with-libxml2="/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/host/usr" LDFLAGS="-L/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/host/lib -L/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/host/usr/lib -L/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/hostpkg/lib -L/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/target-mips_24kc_musl/host/lib -lxml2" CFLAGS="-O2 -I/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/host/include -I/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/host/usr/include -I/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/hostpkg/include -I/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/target-mips_24kc_musl/host/include -I/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/target-mips_24kc_musl/host/include/libxml2" ); |
| | Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at /home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/host/bin/automake line 3938. |
| | Generating the configure script .. |
| | ... |
| | checking for xml2-config... /home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/target-mips_24kc_musl/host/bin/xml2-config |
| | configure: error: Could not find required 'Libxml2' development package |
| | Makefile:279: recipe for target '/home/djbuldog/Projekty/embedded/rb435g/LEDE/build_dir/target-mips_24kc_musl/asterisk-13.9.1/.configured_yyyyyy' failed |
| | </code> |
| | |
| | * v configure se spouštěl test na include libxml souborů, který selhal protože hledal ve špatné cestě |
| | |
| | <code> |
| | strace -F -f -e open gcc ... |
| | [pid 19198] open("/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/host/include/libxml/tree.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory) |
| | [pid 19198] open("/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/hostpkg/include/libxml/tree.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory) |
| | .. |
| | conftest.c:32:27: fatal error: libxml/tree.h: No such file or directory |
| | #include <libxml/tree.h> |
| | ^ |
| | compilation terminated. |
| | </code> |
| | |
| | * soubory jsou ve skutečnosti v adresářích |
| | |
| | <code> |
| | /staging_dir/hostpkg/include/libxml2/libxml/tree.h |
| | /staging_dir/target-mips_24kc_musl/usr/include/libxml2/libxml/tree.h |
| | </code> |
| | |
| | * oprava provedena následovně: |
| | |
| | <code> |
| | ln -s /home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/hostpkg/include/libxml2/libxml /home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/hostpkg/include/ |
| | </code> |
| | |
| | === nelze zavést pjsip.so === |
| | |
| | * po instalaci asterisk nefunguje zavádění chan_pjsip.so |
| | * nejspíš to nejde kvůli [[https://github.com/openwrt/telephony/issues/142|chybějícímu modulu res_pjproject.so]] |
| | * píše se o tom i [[https://community.asterisk.org/t/error-loading-module-res-pjsip-so/69161/2|zde]] - že je potřeba načítat moduly ve správném pořadí |
| | |
| | <code> |
| | scp djbuldog@10.10.11.2:/home/djbuldog/Projekty/embedded/rb435g/LEDE/build_dir/target-mips_24kc_musl/asterisk-13.9.1/ipkg-install/ |
| | usr/lib/asterisk/modules/res_pjproject.so /usr/lib/asterisk/modules/ |
| | scp djbuldog@10.10.11.2:/home/djbuldog/Projekty/embedded/rb435g/LED |
| | E/build_dir/target-mips_24kc_musl/asterisk-13.9.1/ipkg-install/etc/asterisk/pjpr |
| | oject.conf /etc/asterisk/pjproject.conf |
| | </code> |
| | |
| | * aha tak to nepomohlo :D .. co tohle? https://issues.asterisk.org/jira/browse/ASTERISK-26518 |
| | * to nepomohlo.. ten patch nejde nějak vůbec aplikovat :D |
| | |
| | * zkusil jsem git update a dostal jsem se na verzi 13.15.0 |
| | * ani v ní ten pjsip nefungoval |
| | * zkusil jsem ale místo něj ten obyčejný chan-sip a ten funguje :) |
| | |
| | === nefunkční tls === |
| | |
| | * zkusil jsem zreplikovat na čistým LEDE 17.01.1 x86_64 |
| | * do /etc/asterisk/sip.conf jsem přidal akorát ''register => tls:%%//%%xxxxx:yyyyyyyy@sip.odorik.cz:6689'' |
| | * balíčky pouze: ''asterisk13 asterisk13-chan-sip asterisk13-cdr'' |
| | |
| | <code> |
| | [May 12 19:34:01] WARNING[23982]: tcptls.c:731 handle_tcptls_connection: FILE * open failed! |
| | [May 12 19:34:01] ERROR[23982]: tcptls.c:734 handle_tcptls_connection: Attempted a TLS connection without OpenSSL support. This will not work! |
| | </code> |
| | |
| | * zjistil jsem, že není nastaveno makro ''DO_SSL'' |
| | * toto makro se definuje pokud platí: ''if defined(HAVE_OPENSSL) && (defined(HAVE_FUNOPEN) || defined(HAVE_FOPENCOOKIE))'' |
| | * přes config.log a autoconfig.h jsem ověřil, že chybí makro HAVE_FUNOPEN (BSD) nebo HAVE_FOPENCOOKIE (glibc) |
| | * dočetl jsem se, že musl tyto funkce neimplementuje |
| | * jediné řešení je tedy asi přejít na glibc místo musl, protože přepisovat to by nebylo úplně lehké |
| | * řeší se to i třeba [[https://bugs.alpinelinux.org/issues/3503|zde]], reportováno i přímo do [[https://issues.asterisk.org/jira/browse/ASTERISK-24515|asterisk]] |
| | * je tam i [[https://issues.asterisk.org/jira/browse/ASTERISK-24515?devStatusDetailDialog=repository|patch]], který to řeší :D Akorát vůbec nechápu, proč to není v té verzi 13.15.0, která je novější než ten patch :) Půjde vůbec aplikovat? |
| | * ten patch byl vytvořen asi pro nějakou 14.x verzi a oficiálně bude nejspíš až v 15.x. Backport se pravděpodobně dělat nebude, protože je to velký zásah. |
| | * můžu zkusit ten patch aplikovat, ale spíš bych měl přejít na 11.x LTS, který tím není dotčeno |
| | * aha... tak v 11.x je ten problém taky :D |
| |
| ===== Boot po síti ===== | ===== Boot po síti ===== |
| * MikroTik RouterBoard with >= 128 MB NAND flash | * MikroTik RouterBoard with >= 128 MB NAND flash |
| |
| ===== Rozšíření základního image ===== | |
| |
| <code> | |
| scripts/feeds install tcpdump nmap lighttpd aircrack-ng iftop php7 asterisk13 asterisk11 | |
| </code> | |
| |
| * překompilování jednoho balíčku | |
| |
| <code> | |
| make package/feeds/telephony/asterisk-11.x/compile // alternativně make package/asterisk-11.x/compile | |
| make package/install | |
| make package/index | |
| </code> | |
| |
| * n2n | |
| |
| <code> | |
| ls -la package/feeds/custompkgs/ | |
| celkem 8 | |
| drwxr-xr-x 2 djbuldog djbuldog 4096 úno 26 17:05 . | |
| drwxr-xr-x 6 djbuldog djbuldog 4096 úno 26 21:50 .. | |
| lrwxrwxrwx 1 djbuldog djbuldog 29 úno 26 17:05 n2n -> ../../../feeds/custompkgs/n2n | |
| </code> | |
| ==== Problémy ==== | |
| |
| === chybějící libedit === | |
| |
| * pro kompilaci asterisk13 bylo potřeba explicitně přidat | |
| |
| <code> | |
| scripts/feeds install libedit | |
| </code> | |
| |
| === chybějící libxml2 === | |
| |
| * nelze přeložit Asterisk13x balíček, problém s libxml2 | |
| |
| <code> | |
| (cd /home/djbuldog/Projekty/embedded/rb435g/LEDE/build_dir/target-mips_24kc_musl/asterisk-13.9.1/menuselect; ./bootstrap.sh; ./configure --without-newt --without-curses --with-ncurses="/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/host/usr" --with-libxml2="/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/host/usr" LDFLAGS="-L/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/host/lib -L/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/host/usr/lib -L/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/hostpkg/lib -L/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/target-mips_24kc_musl/host/lib -lxml2" CFLAGS="-O2 -I/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/host/include -I/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/host/usr/include -I/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/hostpkg/include -I/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/target-mips_24kc_musl/host/include -I/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/target-mips_24kc_musl/host/include/libxml2" ); | |
| Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at /home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/host/bin/automake line 3938. | |
| Generating the configure script .. | |
| ... | |
| checking for xml2-config... /home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/target-mips_24kc_musl/host/bin/xml2-config | |
| configure: error: Could not find required 'Libxml2' development package | |
| Makefile:279: recipe for target '/home/djbuldog/Projekty/embedded/rb435g/LEDE/build_dir/target-mips_24kc_musl/asterisk-13.9.1/.configured_yyyyyy' failed | |
| </code> | |
| |
| * v configure se spouštěl test na include libxml souborů, který selhal protože hledal ve špatné cestě | |
| |
| <code> | |
| strace -F -f -e open gcc ... | |
| [pid 19198] open("/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/host/include/libxml/tree.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory) | |
| [pid 19198] open("/home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/hostpkg/include/libxml/tree.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory) | |
| .. | |
| conftest.c:32:27: fatal error: libxml/tree.h: No such file or directory | |
| #include <libxml/tree.h> | |
| ^ | |
| compilation terminated. | |
| </code> | |
| |
| * soubory jsou ve skutečnosti v adresářích | |
| |
| <code> | |
| /staging_dir/hostpkg/include/libxml2/libxml/tree.h | |
| /staging_dir/target-mips_24kc_musl/usr/include/libxml2/libxml/tree.h | |
| </code> | |
| |
| * oprava provedena následovně: | |
| |
| <code> | |
| ln -s /home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/hostpkg/include/libxml2/libxml /home/djbuldog/Projekty/embedded/rb435g/LEDE/staging_dir/hostpkg/include/ | |
| </code> | |
| |
| === nelze zavést pjsip.so === | |
| |
| * po instalaci asterisk nefunguje zavádění chan_pjsip.so | |
| * nejspíš to nejde kvůli [[https://github.com/openwrt/telephony/issues/142|chybějícímu modulu res_pjproject.so]] | |
| * píše se o tom i [[https://community.asterisk.org/t/error-loading-module-res-pjsip-so/69161/2|zde]] - že je potřeba načítat moduly ve správném pořadí | |
| |
| <code> | |
| scp djbuldog@10.10.11.2:/home/djbuldog/Projekty/embedded/rb435g/LEDE/build_dir/target-mips_24kc_musl/asterisk-13.9.1/ipkg-install/ | |
| usr/lib/asterisk/modules/res_pjproject.so /usr/lib/asterisk/modules/ | |
| scp djbuldog@10.10.11.2:/home/djbuldog/Projekty/embedded/rb435g/LED | |
| E/build_dir/target-mips_24kc_musl/asterisk-13.9.1/ipkg-install/etc/asterisk/pjpr | |
| oject.conf /etc/asterisk/pjproject.conf | |
| </code> | |
| |
| * aha tak to nepomohlo :D .. co tohle? https://issues.asterisk.org/jira/browse/ASTERISK-26518 | |
| * to nepomohlo.. ten patch nejde nějak vůbec aplikovat :D | |
| |
| * zkusil jsem git update a dostal jsem se na verzi 13.15.0 | |
| * ani v ní ten pjsip nefungoval | |
| * zkusil jsem ale místo něj ten obyčejný chan-sip a ten funguje :) | |
| |
| === nefunkční tls === | |
| |
| * zkusil jsem zreplikovat na čistým LEDE 17.01.1 x86_64 | |
| * do /etc/asterisk/sip.conf jsem přidal akorát ''register => tls:%%//%%xxxxx:yyyyyyyy@sip.odorik.cz:6689'' | |
| * balíčky pouze: ''asterisk13 asterisk13-chan-sip asterisk13-cdr'' | |
| |
| <code> | |
| [May 12 19:34:01] WARNING[23982]: tcptls.c:731 handle_tcptls_connection: FILE * open failed! | |
| [May 12 19:34:01] ERROR[23982]: tcptls.c:734 handle_tcptls_connection: Attempted a TLS connection without OpenSSL support. This will not work! | |
| </code> | |
| |
| * zjistil jsem, že není nastaveno makro ''DO_SSL'' | |
| * toto makro se definuje pokud platí: ''if defined(HAVE_OPENSSL) && (defined(HAVE_FUNOPEN) || defined(HAVE_FOPENCOOKIE))'' | |
| * přes config.log a autoconfig.h jsem ověřil, že chybí makro HAVE_FUNOPEN (BSD) nebo HAVE_FOPENCOOKIE (glibc) | |
| * dočetl jsem se, že musl tyto funkce neimplementuje | |
| * jediné řešení je tedy asi přejít na glibc místo musl, protože přepisovat to by nebylo úplně lehké | |
| * řeší se to i třeba [[https://bugs.alpinelinux.org/issues/3503|zde]], reportováno i přímo do [[https://issues.asterisk.org/jira/browse/ASTERISK-24515|asterisk]] | |
| * je tam i [[https://issues.asterisk.org/jira/browse/ASTERISK-24515?devStatusDetailDialog=repository|patch]], který to řeší :D Akorát vůbec nechápu, proč to není v té verzi 13.15.0, která je novější než ten patch :) Půjde vůbec aplikovat? | |
| * ten patch byl vytvořen asi pro nějakou 14.x verzi a oficiálně bude nejspíš až v 15.x. Backport se pravděpodobně dělat nebude, protože je to velký zásah. | |
| * můžu zkusit ten patch aplikovat, ale spíš bych měl přejít na 11.x LTS, který tím není dotčeno | |
| * aha... tak v 11.x je ten problém taky :D | |
| |
| ===== Extroot ===== | ===== Extroot ===== |
| |
| * https://lede-project.org/docs/user-guide/extroot_configuration | * https://openwrt.org/docs/guide-user/additional-software/extroot_configuration |
| * doporučuje se pivot-overlay místo pivot-root | * doporučuje se pivot-overlay místo pivot-root |
| * rozdíl je asi jen v tom, co uvedu do /etc/config/fstab souboru.. jestli target /overlay nebo / | * rozdíl je asi jen v tom, co uvedu do /etc/config/fstab souboru.. jestli target /overlay nebo / |
| * ''opkg upgrade $(opkg list-upgradable | awk '($1 !~ "^kmod|Multiple") {print $1}')'' | * ''opkg upgrade $(opkg list-upgradable | awk '($1 !~ "^kmod|Multiple") {print $1}')'' |
| * pokud se měnil kernel, musí se extroot vytvořit prý znovu | * pokud se měnil kernel, musí se extroot vytvořit prý znovu |
| * spustit /mnt/data/restore.sh /mnt/data/backup/YYYYmmdd /mnt/new-overlay | * připojit si /mnt/data partition (sda2) |
| * odkomentovat extern9 overlay | * připojit si /tmp/new-overlay (sda1) |
| | * zkontrolovat, ze funguje opkg update |
| | * spustit /mnt/data/restore.sh /mnt/data/backup/YYYYmmdd /tmp/new-overlay |
| | * odkomentovat externí overlay |
| * reboot | * reboot |
| |
| * [[http://wiki.mbirth.de/know-how/software/openwrt/sysupgrade-with-extroot.html|zdroj inspirace]] | * [[http://wiki.mbirth.de/know-how/software/openwrt/sysupgrade-with-extroot.html|zdroj inspirace]] |
| |