From 9682119ad52482239b408748edd29e214236db23 Mon Sep 17 00:00:00 2001 From: Igor Zalatov Date: Sat, 8 May 2021 17:29:28 +0300 Subject: [PATCH] Add glibc profile adn vtund scripts --- ...nknown_unknown_hi3516ev300_glibc_defconfig | 80 +++++++++++++++++++ general/package/vtund-lite/files/tapip | 35 ++++++++ general/package/vtund-lite/files/tunnel | 61 ++++++++++++++ 3 files changed, 176 insertions(+) create mode 100644 br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_glibc_defconfig create mode 100755 general/package/vtund-lite/files/tapip create mode 100755 general/package/vtund-lite/files/tunnel diff --git a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_glibc_defconfig b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_glibc_defconfig new file mode 100644 index 00000000..4e167a00 --- /dev/null +++ b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_glibc_defconfig @@ -0,0 +1,80 @@ +# Architecture +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_EABI=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_ARM_INSTRUCTIONS_THUMB2=y +BR2_KERNEL_HEADERS_VERSION=y +BR2_DEFAULT_KERNEL_VERSION="4.9.37" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y + +# Toolchain +BR2_GCC_VERSION_7_X=y +# BR2_TOOLCHAIN_USES_UCLIBC is not set +# BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set +# BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc" +# BR2_TOOLCHAIN_USES_MUSL is not set +# BR2_TOOLCHAIN_BUILDROOT_MUSL is not set +# BR2_TOOLCHAIN_BUILDROOT_LIBC="musl" +BR2_TOOLCHAIN_USES_GLIBC=y +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y +BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc" +BR2_TOOLCHAIN_BUILDROOT_LOCALE=y +BR2_TOOLCHAIN_BUILDROOT_USE_SSP=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.37" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HISILICON_PATH)/board/hi3516ev200/kernel/hi3516ev300.generic.config" +BR2_LINUX_KERNEL_UIMAGE=y +BR2_LINUX_KERNEL_XZ=y +BR2_LINUX_KERNEL_EXT_HISI_PATCHER=y +BR2_LINUX_KERNEL_EXT_HISI_PATCHER_LIST="$(BR2_EXTERNAL_HISILICON_PATH)/board/hi3516ev200/kernel/patches/ $(BR2_EXTERNAL_HISILICON_PATH)/board/hi3516ev200/kernel/overlay" + +# Filesystem +# BR2_TARGET_TZ_INFO is not set +BR2_TARGET_ROOTFS_SQUASHFS=y +BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y +BR2_ROOTFS_OVERLAY="$(TOPDIR)/../general/overlay" + +# OpenIPC configuration +BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc" +BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC v21.04.25.1" +BR2_TARGET_GENERIC_HOSTNAME="ipcam" +BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches" + +# Packages +BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config" +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_FWPRINTENV_NG=y +BR2_PACKAGE_HISI_GPIO_SCANNER=y +BR2_PACKAGE_HISILICON_OSDRV4=y +BR2_PACKAGE_IPCTOOL=y +BR2_PACKAGE_JSON_C=y +BR2_PACKAGE_LAME=y +BR2_PACKAGE_LIBEVENT_MINI=y +BR2_PACKAGE_MAJESTIC=y +BR2_PACKAGE_MINI_SNMPD=y +BR2_PACKAGE_VTUND_LITE=y + +# Experimental +BR2_PER_PACKAGE_DIRECTORIES=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y +BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y + +# Firmware +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y + +# Unused +# BR2_SHARED_STATIC_LIBS is not set +# BR2_PACKAGE_JPEG_TURBO is not set +# BR2_PACKAGE_MINIHTTP is not set +# BR2_PACKAGE_MXML is not set +# BR2_PACKAGE_SSHPASS is not set +# BR2_PACKAGE_RTL8188EU is not set diff --git a/general/package/vtund-lite/files/tapip b/general/package/vtund-lite/files/tapip new file mode 100755 index 00000000..083a1464 --- /dev/null +++ b/general/package/vtund-lite/files/tapip @@ -0,0 +1,35 @@ +#!/bin/sh +# +# ZFT Lab. (c) 2000-2021 | v.20210507 +# by Igor Zalatov, aka FlyRouter, aka ZigFisher +# Simple script for get IP and Routes via UDHCPC on VTUNd tun/tap interfaces +# + + +set_routes() { + local max=128 + local type + while [ -n "$1" -a -n "$2" -a $max -gt 0 ]; do + [ ${1##*/} -eq 32 ] && type=host || type=net + echo "udhcpc: adding route for $type $1 via $2" + route add -$type "$1" gw "$2" dev "$interface" + max=$(($max-1)) + shift 2 + done +} + + +case "$1" in + + deconfig) + ip a flush dev $interface + ;; + + renew|bound) + ip a add $ip/$subnet dev $interface + [ -n "$staticroutes" ] && set_routes $staticroutes + ;; + +esac + +exit 0 diff --git a/general/package/vtund-lite/files/tunnel b/general/package/vtund-lite/files/tunnel new file mode 100755 index 00000000..488c6f9e --- /dev/null +++ b/general/package/vtund-lite/files/tunnel @@ -0,0 +1,61 @@ +#!/bin/sh +# +# OpenIPC.org | v.20210508 +# by Igor Zalatov, aka FlyRouter, aka ZigFisher +# Busybox applets: awk cat echo insmod ip modprobe sha1sum sleep tr tunctl udhcpc uptime +# + + +vtund_enable="1" +vtund_port="5000" +vtund_server=$1 +vtund_server=${vtund_server:=vtun.localhost} +vtund_iface="tunnel" +device_name="IPC-VTUND" +working_dir="/tmp" + + +identity() { + identity_mac=$(cat /sys/class/net/eth0/address | tr 'a-z' 'A-Z') + identity_pas=$(echo ${identity_mac} | sha1sum | awk '{print $1}') + identity_tid=$(echo ${identity_mac} | tr -d ':') + identity_cfg=${working_dir}/vtund.conf +} + + +interface() { + [ -L /sys/class/net/${vtund_iface} ] || (modprobe tun; tunctl -t ${vtund_iface}) >/dev/null 2>&1 + [ -f ${working_dir}/udhcpc-${vtund_iface}.pid ] && kill -9 $(cat ${working_dir}/udhcpc-${vtund_iface}.pid) >/dev/null 2>&1 +} + + +config() { + ( echo "#" + echo "options {" + echo " port ${vtund_port};" + echo " ifconfig /sbin/ifconfig;" + echo "}" + echo "${identity_tid} {" + echo " password ${identity_pas};" + echo " device ${vtund_iface};" + echo " stat no;" + echo " persist yes;" + echo " timeout 10;" + echo " up {" + echo " ifconfig \"${vtund_iface} hw ether ${identity_mac} mtu 1500 -multicast up\";" + echo " program \"udhcpc -T 1 -t 5 -R -b -O staticroutes -S -s tapip -p ${working_dir}/udhcpc-${vtund_iface}.pid -i ${vtund_iface} -x hostname:${device_name}-${identity_tid}\";" + echo " };" + echo " down {" + echo " ifconfig \"tunnel down\";" + echo " };" + echo "}" + ) >${identity_cfg} +} + + +if [ ${vtund_enable} = 1 ]; then + (while true ; do sleep 10; identity; interface; config; vtund -n -f ${identity_cfg} ${identity_tid} ${vtund_server} >/dev/null 2>&1; done) & +fi + + +exit 0