diff --git a/docs/compile/build_howto_openwrt.txt b/docs/compile/build_howto_openwrt.txt index 98999be..f336931 100644 --- a/docs/compile/build_howto_openwrt.txt +++ b/docs/compile/build_howto_openwrt.txt @@ -1,7 +1,14 @@ How to compile native programs for use in openwrt ------------------------------------------------- -1) Download latest SDK for your platform from https://downloads.openwrt.org +1) Install required packages to the host system : + +debian,ubuntu : apt install build-essential patch libncurses-dev python3-distutils unzip gawk wget git +fedora: dnf install make patch gcc g++ ncurses-devel git perl + +Other packages may be required on your distribution. Look for the errors. + +2) Download latest SDK for your target platform from https://downloads.openwrt.org examples : @@ -11,12 +18,12 @@ cd openwrt-sdk-23.05.5-x86-64_gcc-12.3.0_musl.Linux-x86_64 curl -o - https://downloads.openwrt.org/snapshots/targets/x86/64/openwrt-sdk-x86-64_gcc-13.3.0_musl.Linux-x86_64.tar.zst | tar --zstd -xvf - cd openwrt-sdk-x86-64_gcc-13.3.0_musl.Linux-x86_64 -2) Install required libs +3) Install required libs ./scripts/feeds update base packages ./scripts/feeds install libnetfilter-queue zlib libcap -3) Prepare openwrt package definitions +4) Prepare openwrt package definitions cp -R /opt/zapret/docs/compile/openwrt/. . cp -R /opt/zapret/tpws package/zapret/tpws @@ -25,12 +32,26 @@ cp -R /opt/zapret/mdig package/zapret/mdig cp -R /opt/zapret/ip2net package/zapret/ip2net rm -f package/zapret/tpws/tpws/tpws package/zapret/nfqws/nfq/nfqws package/zapret/mdig/mdig/mdig package/zapret/ip2net/ip2net/ip2net -4) Compile +5) Prepare .config -make package/{tpws,nfqws,mdig,ip2net}/compile +make defconfig -5) Get result +If you only need bins without packages comment 'CONFIG_AUTOREMOVE=y' line in .config -ls -l bin/packages/*/base -# take your ipk or apk from there -# zlib-dev is not required +6) Compile + +dynamic build : make package/{tpws,nfqws,mdig,ip2net}/compile +static build : make CFLAGS=-static package/{tpws,nfqws,mdig,ip2net}/compile + +7) Get result + +executables only : build_dir/target/ +ipk or apk packages : bin/packages/*/base + +8) Installating to openwrt to use with zapret + +zapret with or without binaries should be already installed in /opt/zapret. +Install ipk's or apk's with all compiled progs using opkg or apk. +Bins are placed to /opt/zapret/binaries/my. +Or copy binaries there manually and set chmod 755 to them. +Run install_bin.sh or install_easy.sh. They will use bins in 'my' folder.