Merge branch 'master' of github:OpenIPC/firmware

pull/210/head
Igor Zalatov (from Citadel PC) 2022-04-19 17:11:20 +03:00
commit 394e5f8fdb
15 changed files with 146 additions and 5 deletions

View File

@ -30,4 +30,4 @@ source "$BR2_EXTERNAL_GOKE_PATH/package/uacme-openipc/Config.in"
source "$BR2_EXTERNAL_GOKE_PATH/package/vtund-openipc/Config.in"
source "$BR2_EXTERNAL_GOKE_PATH/package/wifibroadcast/Config.in"
source "$BR2_EXTERNAL_GOKE_PATH/package/yaml-cli/Config.in"
source "$BR2_EXTERNAL_GOKE_PATH/package/zerotier-one/Config.in"

View File

@ -97,3 +97,6 @@ BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y
# WIREGUARD
BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_WIREGUARD_TOOLS=y
# ZEROTIER
BR2_PACKAGE_ZEROTIER_ONE is not set

View File

@ -30,3 +30,4 @@ include $(BR2_EXTERNAL_GOKE_PATH)/package/uacme-openipc/uacme-openipc.mk
include $(BR2_EXTERNAL_GOKE_PATH)/package/vtund-openipc/vtund-openipc.mk
include $(BR2_EXTERNAL_GOKE_PATH)/package/wifibroadcast/wifibroadcast.mk
include $(BR2_EXTERNAL_GOKE_PATH)/package/yaml-cli/yaml-cli.mk
include $(BR2_EXTERNAL_GOKE_PATH)/package/zerotier-one/zerotier-one.mk

View File

@ -0,0 +1 @@
../../general/package/zerotier-one

View File

@ -47,3 +47,4 @@ source "$BR2_EXTERNAL_HISILICON_PATH/package/uacme-openipc/Config.in"
source "$BR2_EXTERNAL_HISILICON_PATH/package/uqmi/Config.in"
source "$BR2_EXTERNAL_HISILICON_PATH/package/vtund-openipc/Config.in"
source "$BR2_EXTERNAL_HISILICON_PATH/package/yaml-cli/Config.in"
source "$BR2_EXTERNAL_HISILICON_PATH/package/zerotier-one/Config.in"

View File

@ -97,3 +97,6 @@ BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y
# WIREGUARD
BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_WIREGUARD_TOOLS=y
# ZEROTIER
BR2_PACKAGE_ZEROTIER_ONE is not set

View File

@ -47,3 +47,4 @@ include $(BR2_EXTERNAL_HISILICON_PATH)/package/uacme-openipc/uacme-openipc.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/uqmi/uqmi.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/vtund-openipc/vtund-openipc.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/yaml-cli/yaml-cli.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/zerotier-one/zerotier-one.mk

View File

@ -0,0 +1 @@
../../general/package/zerotier-one

View File

@ -597,7 +597,7 @@ xm550() {
# ssc335_portal # Portal (partner)
# ssc335_rotek # Rotek
#
ssc335de # OpenIPC
# ssc335de # OpenIPC
#
# ssc337 # OpenIPC => musl
#

View File

@ -0,0 +1,33 @@
--- a/make-linux.mk 2022-04-18 13:32:33.520498886 +0300
+++ b/make-linux.mk 2022-04-18 13:35:04.312959847 +0300
@@ -25,8 +25,8 @@
# otherwise build into binary as done on Mac and Windows.
ONE_OBJS+=osdep/PortMapper.o
override DEFS+=-DZT_USE_MINIUPNPC
-MINIUPNPC_IS_NEW_ENOUGH=$(shell grep -sqr '.*define.*MINIUPNPC_VERSION.*"2..*"' /usr/include/miniupnpc/miniupnpc.h && echo 1)
-#MINIUPNPC_IS_NEW_ENOUGH=$(shell grep -sqr '.*define.*MINIUPNPC_VERSION.*"2.."' /usr/include/miniupnpc/miniupnpc.h && echo 1)
+MINIUPNPC_IS_NEW_ENOUGH=$(shell grep -sqr '.*define.*MINIUPNPC_VERSION.*"2..*"' $(STAGING_DIR)/usr/include/miniupnpc/miniupnpc.h && echo 1)
+#MINIUPNPC_IS_NEW_ENOUGH=$(shell grep -sqr '.*define.*MINIUPNPC_VERSION.*"2.."' $(STAGING_DIR)/usr/include/miniupnpc/miniupnpc.h && echo 1)
ifeq ($(MINIUPNPC_IS_NEW_ENOUGH),1)
override DEFS+=-DZT_USE_SYSTEM_MINIUPNPC
LDLIBS+=-lminiupnpc
@@ -34,7 +34,7 @@
override DEFS+=-DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING=\"Linux\" -DMINIUPNPC_VERSION_STRING=\"2.0\" -DUPNP_VERSION_STRING=\"UPnP/1.1\" -DENABLE_STRNATPMPERR
ONE_OBJS+=ext/miniupnpc/connecthostport.o ext/miniupnpc/igd_desc_parse.o ext/miniupnpc/minisoap.o ext/miniupnpc/minissdpc.o ext/miniupnpc/miniupnpc.o ext/miniupnpc/miniwget.o ext/miniupnpc/minixml.o ext/miniupnpc/portlistingparse.o ext/miniupnpc/receivedata.o ext/miniupnpc/upnpcommands.o ext/miniupnpc/upnpdev.o ext/miniupnpc/upnperrors.o ext/miniupnpc/upnpreplyparse.o
endif
-ifeq ($(wildcard /usr/include/natpmp.h),)
+ifeq ($(wildcard $(STAGING_DIR)/usr/include/natpmp.h),)
ONE_OBJS+=ext/libnatpmp/natpmp.o ext/libnatpmp/getgateway.o
else
LDLIBS+=-lnatpmp
@@ -312,8 +312,8 @@
override CXXFLAGS+=-march=armv5t -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm
ZT_USE_ARM32_NEON_ASM_CRYPTO=0
else
- override CFLAGS+=-mfloat-abi=hard -march=armv6kz -marm -mfpu=vfp -mno-unaligned-access -mtp=cp15 -mcpu=arm1176jzf-s
- override CXXFLAGS+=-mfloat-abi=hard -march=armv6kz -marm -mfpu=vfp -fexceptions -mno-unaligned-access -mtp=cp15 -mcpu=arm1176jzf-s
+ override CFLAGS+=-mfloat-abi=soft -march=armv6kz -marm -mfpu=vfp -mno-unaligned-access -mtp=cp15 -mcpu=arm1176jzf-s
+ override CXXFLAGS+=-mfloat-abi=soft -march=armv6kz -marm -mfpu=vfp -fexceptions -mno-unaligned-access -mtp=cp15 -mcpu=arm1176jzf-s
ZT_USE_ARM32_NEON_ASM_CRYPTO=0
endif
endif

View File

@ -0,0 +1,14 @@
config BR2_PACKAGE_ZEROTIER_ONE
bool "zerotier-one"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_LIBMINIUPNPC
select BR2_PACKAGE_LIBNATPMP
help
ZeroTier One lets you join ZeroTier virtual networks and have
them appear as tun/tap ports on your system.
https://www.zerotier.com/
comment "zerotier-one needs a toolchain w/ C++, threads"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS

View File

@ -0,0 +1,20 @@
#!/bin/sh
#
# Start zerotier-one
#
case "$1" in
start)
echo "Starting zerotier-one daemon..."
/sbin/modprobe tun
/usr/sbin/zerotier-one -d
;;
stop)
echo "Stopping zerotier-one daemon..."
kill -9 $(pidof zerotier-one)
/sbin/rmmod -w tun
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac

View File

@ -0,0 +1,35 @@
# ZeroTier One
Пакет [ZeroTier One](https://www.zerotier.com) предназначен только для локальной сборки без установки в rootfs (соотвествующая строка в .mk имеет коментарий) за исключением скрипта запуска демона и библиотеки libstdc++. После прошивки камеры, zerotier-one необходимо загрузить в /usr/sbin и создать 2 симлинка:
```
ln -sf zerotier-one zerotier-cli
ln -sf zerotier-one zerotier-idtool
```
Перезапустить камеру или выполнить команду из консоли (web либо ssh):
```
/etc/init.d/S90zerotier start
```
# Быстрый старт
1. Зарегистироваться на [my.zerotier.com](https://my.zerotier.com)
2. Получить ID сети, настроить сеть как приватную.
3. Из консоли камеры (web консоль или ssh) выполнить:
```
zerotier-cli join network_id где (ID сети полученный на этапе 2) в ответ будет отображен статус: <200 join OK>
```
4. Перейти в веб интерфейс на [my.zerotier.com](https://my.zerotier.com) и авторизовать только что подключенную камеру, авторизация происходит методом установки галочки напротив соотвествующего пира.
Настройка завершена.
Вся конфигурация хранится в /var/lib/zerotier-one, покинуть сеть (отключиться) можно выполнив команду в консоли:
```
zerotier-cli leave network_id где (ID сети полученный на этапе 2) в ответ будет отображен статус: <200 leave OK>
```
p.s. для hi3516ev300 и gk7205v300 на базе прошивки OpenIpc, собранные пакеты можно взять [здесь](https://github.com/cronyx/zerotier-openipc), проверить наличие места в оверлее, необходимо не менее 2.5Mb, распаковать и залить все файлы согласно дереву каталогов, выполнить п.1-4 настройки и подключения.

View File

@ -0,0 +1,28 @@
################################################################################
#
# zerotier-one
#
################################################################################
ZEROTIER_ONE_VERSION = 1294767b44c20faf069f5ddbe287fb96ad0750d1
ZEROTIER_ONE_SITE = $(call github,zerotier,ZeroTierOne,$(ZEROTIER_ONE_VERSION))
# ZEROTIER_ONE_DEPENDENCIES += libminiupnpc libnatpmp
ZEROTIER_ONE_LICENSE = BUSL-1.1
ZEROTIER_ONE_LICENSE_FILES = LICENSE.txt
ZEROTIER_ONE_MAKE_OPTS = \
CC="$(TARGET_CC)" \
CXX="$(TARGET_CXX)"
define ZEROTIER_ONE_BUILD_CMDS
$(MAKE) $(ZEROTIER_ONE_MAKE_OPTS) -C $(@D) all
endef
define ZEROTIER_ONE_INSTALL_TARGET_CMDS
# $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/init.d
cp ../general/package/zerotier-one/files/S90zerotier $(TARGET_DIR)/etc/init.d
endef
$(eval $(generic-package))

View File

@ -13,7 +13,7 @@ ln -sfv /lib/libc.so ${TARGET_DIR}/lib/ld-uClibc.so.0
ln -sfv ../../lib/libc.so ${TARGET_DIR}/usr/bin/ldd
#
if grep -q ^BR2_PACKAGE_WIFIBROADCAST=y ${BR2_CONFIG}
if grep -q ^BR2_PACKAGE_WIFIBROADCAST=y ${BR2_CONFIG} || grep -q ^BR2_PACKAGE_ZEROTIER_ONE=y ${BR2_CONFIG}
then
echo "Keep libsdc++..."
else