diff --git a/.github/workflows/matrix_build.yml b/.github/workflows/matrix_build.yml index 0267bf84..ae506f5c 100644 --- a/.github/workflows/matrix_build.yml +++ b/.github/workflows/matrix_build.yml @@ -250,6 +250,10 @@ jobs: release: lite - platform: xm550 release: lite + + #LTE + - platform: gk7205v200 + release: lte_fpv # TODO - platform: ak3916ev300 diff --git a/br-ext-chip-goke/configs/gk7205v200_lte_fpv_defconfig b/br-ext-chip-goke/configs/gk7205v200_lte_fpv_defconfig new file mode 100644 index 00000000..3cf475f9 --- /dev/null +++ b/br-ext-chip-goke/configs/gk7205v200_lte_fpv_defconfig @@ -0,0 +1,117 @@ +# 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_PER_PACKAGE_DIRECTORIES=y +BR2_GCC_VERSION_8_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=y +BR2_TOOLCHAIN_BUILDROOT_MUSL=y +BR2_TOOLCHAIN_BUILDROOT_LIBC="musl" +BR2_TOOLCHAIN_BUILDROOT_CXX=y +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_GOKE_PATH)/board/gk7205v200/kernel/gk7205v200.generic-fpv.config" +BR2_LINUX_KERNEL_UIMAGE=y +BR2_LINUX_KERNEL_XZ=y +BR2_LINUX_KERNEL_EXT_GOKE_PATCHER=y +BR2_LINUX_KERNEL_EXT_GOKE_PATCHER_LIST="$(BR2_EXTERNAL_GOKE_PATH)/board/gk7205v200/kernel/patches/ $(BR2_EXTERNAL_GOKE_PATH)/board/gk7205v200/kernel/overlay" + +# Filesystem +# BR2_TARGET_TZ_INFO is not set +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_SQUASHFS=y +BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y +BR2_ROOTFS_OVERLAY="$(TOPDIR)/../general/overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="$(TOPDIR)/../scripts/executing_commands_for_$(BR2_TOOLCHAIN_BUILDROOT_LIBC).sh" + +# OpenIPC configuration +BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc" +BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC" +BR2_TARGET_GENERIC_HOSTNAME="openipc-gk7205v200" +BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches" + +# OpenIPC packages +BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config" +BR2_PACKAGE_DROPBEAR_OPENIPC=y +# BR2_PACKAGE_FDK_AAC_OPENIPC is not set +BR2_PACKAGE_FWPRINTENV_OPENIPC=y +BR2_PACKAGE_GOKE_OSDRV_GK7205V200=y +BR2_PACKAGE_HISILICON_OPENSDK=y +# BR2_PACKAGE_HASERL is not set +# BR2_PACKAGE_HISI_GPIO is not set +BR2_PACKAGE_IPCTOOL=y +BR2_PACKAGE_JSON_C=y +# BR2_PACKAGE_JSONFILTER is not set +BR2_PACKAGE_LIBCURL_OPENIPC=y +BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y +# BR2_PACKAGE_LIBCURL_OPENIPC_VERBOSE is not set +# BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT is not set +# BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set +# BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set +BR2_PACKAGE_LIBCURL_OPENIPC_MBEDTLS=y +BR2_PACKAGE_LIBEVENT_OPENIPC=y +BR2_PACKAGE_LIBEVENT_OPENIPC_REMOVE_PYSCRIPT=y +BR2_PACKAGE_LIBYAML=y +# BR2_PACKAGE_MAJESTIC_FONTS is not set +BR2_PACKAGE_MAJESTIC=y +BR2_PACKAGE_MBEDTLS_OPENIPC=y +# BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set +# BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set +# BR2_PACKAGE_MICROBE_WEB is not set +# BR2_PACKAGE_MINI_SNMPD is not set +# BR2_PACKAGE_MOTORS is not set +# BR2_PACKAGE_SSHPASS is not set +BR2_PACKAGE_VTUND_OPENIPC=y +BR2_PACKAGE_YAML_CLI=y +# BR2_PACKAGE_QUIRC_OPENIPC is not set + +# WiFi +BR2_PACKAGE_WIRELESS_TOOLS=y +# BR2_PACKAGE_WIRELESS_REGDB is not set +# BR2_PACKAGE_WPA_SUPPLICANT is not set +# BR2_PACKAGE_WPA_SUPPLICANT_CLI is not set +# BR2_PACKAGE_WPA_SUPPLICANT_NL80211 is not set +# BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE is not set +BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y +# BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U is not set +# BR2_PACKAGE_RTL8188EU is not set +#BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_ATHEROS_9271=y +#BR2_PACKAGE_RTL8812AU_OPENIPC=y + +# WIREGUARD +# BR2_PACKAGE_WIREGUARD_LINUX_COMPAT is not set +# BR2_PACKAGE_WIREGUARD_TOOLS is not set + +# FPV +#BR2_PACKAGE_WIFIBROADCAST=y +BR2_PACKAGE_MAVLINK_ROUTER=y +#BR2_PACKAGE_MAVFWD=y + +#LTE +BR2_PACKAGE_USB_MODESWITCH=y +BR2_PACKAGE_USB_MODESWITCH_DATA=y + +# DEBUG +BR2_PACKAGE_HOST_GDB=y +BR2_PACKAGE_GDB=y + +# +# Compression and decompression +# +BR2_PACKAGE_LIBZIP=y diff --git a/general/overlay/etc/network/interfaces b/general/overlay/etc/network/interfaces index 6bb721ee..904e8369 100644 --- a/general/overlay/etc/network/interfaces +++ b/general/overlay/etc/network/interfaces @@ -1,4 +1,3 @@ - auto lo iface lo inet loopback @@ -36,3 +35,11 @@ iface wg0 inet static #source-dir /etc/network/interfaces.d +#lte 3372 hilink +auto eth1 +iface eth1 inet dhcp + pre-up sleep 4 + pre-up usb_modeswitch -v 0x12d1 -p 0x1f01 -J + pre-up modprobe usbserial vendor=0x12d1 product=0x14dc + pre-up modprobe rndis_host + pre-up sleep 4 \ No newline at end of file diff --git a/general/package/all-patches/wireguard-linux-compat/remove_fallthrough.patch b/general/package/all-patches/wireguard-linux-compat/remove_fallthrough.patch deleted file mode 100644 index 4a1c8a78..00000000 --- a/general/package/all-patches/wireguard-linux-compat/remove_fallthrough.patch +++ /dev/null @@ -1,84 +0,0 @@ ---- a/src/compat/siphash/siphash.c 2022-10-13 13:32:56.761640510 +0300 -+++ b/src/compat/siphash/siphash.c 2022-10-13 13:33:41.061624482 +0300 -@@ -77,11 +77,11 @@ - bytemask_from_count(left))); - #else - switch (left) { -- case 7: b |= ((u64)end[6]) << 48; fallthrough; -- case 6: b |= ((u64)end[5]) << 40; fallthrough; -- case 5: b |= ((u64)end[4]) << 32; fallthrough; -+ case 7: b |= ((u64)end[6]) << 48; -+ case 6: b |= ((u64)end[5]) << 40; -+ case 5: b |= ((u64)end[4]) << 32; - case 4: b |= le32_to_cpup(data); break; -- case 3: b |= ((u64)end[2]) << 16; fallthrough; -+ case 3: b |= ((u64)end[2]) << 16; - case 2: b |= le16_to_cpup(data); break; - case 1: b |= end[0]; - } -@@ -109,11 +109,11 @@ - bytemask_from_count(left))); - #else - switch (left) { -- case 7: b |= ((u64)end[6]) << 48; fallthrough; -- case 6: b |= ((u64)end[5]) << 40; fallthrough; -- case 5: b |= ((u64)end[4]) << 32; fallthrough; -+ case 7: b |= ((u64)end[6]) << 48; -+ case 6: b |= ((u64)end[5]) << 40; -+ case 5: b |= ((u64)end[4]) << 32; - case 4: b |= get_unaligned_le32(end); break; -- case 3: b |= ((u64)end[2]) << 16; fallthrough; -+ case 3: b |= ((u64)end[2]) << 16; - case 2: b |= get_unaligned_le16(end); break; - case 1: b |= end[0]; - } -@@ -269,11 +269,11 @@ - bytemask_from_count(left))); - #else - switch (left) { -- case 7: b |= ((u64)end[6]) << 48; fallthrough; -- case 6: b |= ((u64)end[5]) << 40; fallthrough; -- case 5: b |= ((u64)end[4]) << 32; fallthrough; -+ case 7: b |= ((u64)end[6]) << 48; -+ case 6: b |= ((u64)end[5]) << 40; -+ case 5: b |= ((u64)end[4]) << 32; - case 4: b |= le32_to_cpup(data); break; -- case 3: b |= ((u64)end[2]) << 16; fallthrough; -+ case 3: b |= ((u64)end[2]) << 16; - case 2: b |= le16_to_cpup(data); break; - case 1: b |= end[0]; - } -@@ -301,11 +301,11 @@ - bytemask_from_count(left))); - #else - switch (left) { -- case 7: b |= ((u64)end[6]) << 48; fallthrough; -- case 6: b |= ((u64)end[5]) << 40; fallthrough; -- case 5: b |= ((u64)end[4]) << 32; fallthrough; -+ case 7: b |= ((u64)end[6]) << 48; -+ case 6: b |= ((u64)end[5]) << 40; -+ case 5: b |= ((u64)end[4]) << 32; - case 4: b |= get_unaligned_le32(end); break; -- case 3: b |= ((u64)end[2]) << 16; fallthrough; -+ case 3: b |= ((u64)end[2]) << 16; - case 2: b |= get_unaligned_le16(end); break; - case 1: b |= end[0]; - } -@@ -426,7 +426,7 @@ - v0 ^= m; - } - switch (left) { -- case 3: b |= ((u32)end[2]) << 16; fallthrough; -+ case 3: b |= ((u32)end[2]) << 16; - case 2: b |= le16_to_cpup(data); break; - case 1: b |= end[0]; - } -@@ -448,7 +448,7 @@ - v0 ^= m; - } - switch (left) { -- case 3: b |= ((u32)end[2]) << 16; fallthrough; -+ case 3: b |= ((u32)end[2]) << 16; - case 2: b |= get_unaligned_le16(end); break; - case 1: b |= end[0]; - } diff --git a/general/package/majestic/majestic.mk b/general/package/majestic/majestic.mk index a7c0268f..8ef8c9ba 100644 --- a/general/package/majestic/majestic.mk +++ b/general/package/majestic/majestic.mk @@ -1,6 +1,6 @@ ################################################################################ # -# majestic +# majestic # ################################################################################ @@ -13,6 +13,12 @@ FAMILY := $(shell grep "/board/" $(BR2_CONFIG) | head -1 | cut -d "/" -f 3) RELEASE := $(shell grep "BR2_DEFCONFIG" $(BR2_CONFIG) | head -1 | cut -d "_" -f 3) +ifeq ($(RELEASE),lte) + RELEASE := fpv +endif + +# $(warning $(RELEASE)) + ifeq ($(RELEASE),ultimate) # we don't have Majestic binary Ultimate distributions for these # platforms so use Lite