diff --git a/.github/workflows/hi3516ev200_matrix.yml b/.github/workflows/hi3516ev200_matrix.yml index 7b83ceae..c4446b8d 100644 --- a/.github/workflows/hi3516ev200_matrix.yml +++ b/.github/workflows/hi3516ev200_matrix.yml @@ -28,6 +28,8 @@ jobs: fail-fast: false matrix: platform: + - hi3516cv200 + - hi3516cv300 - hi3516cv500 - hi3516ev200 @@ -146,6 +148,10 @@ jobs: - lite - ultimate include: + - platform: hi3518ev200 + release: mini + - platform: hi3516cv300 + release: mini - platform: hi3516ev200 release: fpv - platform: hi3516ev300 diff --git a/br-ext-chip-hisilicon/Config.in b/br-ext-chip-hisilicon/Config.in index bc0d3360..7e48f5af 100644 --- a/br-ext-chip-hisilicon/Config.in +++ b/br-ext-chip-hisilicon/Config.in @@ -36,6 +36,7 @@ source "$BR2_EXTERNAL_HISILICON_PATH/package/majestic/Config.in" source "$BR2_EXTERNAL_HISILICON_PATH/package/mavlink-router/Config.in" source "$BR2_EXTERNAL_HISILICON_PATH/package/mbedtls-openipc/Config.in" source "$BR2_EXTERNAL_HISILICON_PATH/package/microbe-web/Config.in" +source "$BR2_EXTERNAL_HISILICON_PATH/package/mini/Config.in" source "$BR2_EXTERNAL_HISILICON_PATH/package/motors/Config.in" source "$BR2_EXTERNAL_HISILICON_PATH/package/mt7601u-ap-openipc/Config.in" source "$BR2_EXTERNAL_HISILICON_PATH/package/node-exporter/Config.in" diff --git a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516cv300_mini_defconfig b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516cv300_mini_defconfig new file mode 100644 index 00000000..ef8b2f5e --- /dev/null +++ b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516cv300_mini_defconfig @@ -0,0 +1,101 @@ +# Architecture +BR2_arm=y +BR2_arm926t=y +BR2_ARM_EABI=y +# BR2_ARM_INSTRUCTIONS_THUMB is not set +BR2_KERNEL_HEADERS_VERSION=y +BR2_DEFAULT_KERNEL_VERSION="3.18.20" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=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="3.18.20" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HISILICON_PATH)/board/hi3516cv300/kernel/hi3516cv300.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/hi3516cv300/kernel/patches/ $(BR2_EXTERNAL_HISILICON_PATH)/board/hi3516cv300/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 v2.2" +BR2_TARGET_GENERIC_HOSTNAME="openipc-hi3516cv300" +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_HASERL=y +BR2_PACKAGE_HISI_GPIO is not set +BR2_PACKAGE_HISILICON_OSDRV_HI3516CV300=y +BR2_PACKAGE_IPCTOOL=y +BR2_PACKAGE_JSON_C=y +BR2_PACKAGE_LAME_OPENIPC=y +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_LIBOGG_OPENIPC=y +BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y +BR2_PACKAGE_LIBYAML=y +BR2_PACKAGE_MINI=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=y +# BR2_PACKAGE_MINI_SNMPD is not set +BR2_PACKAGE_MOTORS=y +BR2_PACKAGE_OPUS_OPENIPC=y +BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y +# BR2_PACKAGE_SSHPASS is not set +BR2_PACKAGE_UACME_OPENIPC=y +BR2_PACKAGE_VTUND_OPENIPC=y +BR2_PACKAGE_YAML_CLI=y + +# WiFi +# BR2_PACKAGE_WIRELESS_TOOLS 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 is not set +# BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U is not set +# BR2_PACKAGE_RTL8188EU is not set + +# WIREGUARD +BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y +BR2_PACKAGE_WIREGUARD_TOOLS=y + +# DEBUG +BR2_PACKAGE_HOST_GDB=y +BR2_PACKAGE_GDB=y diff --git a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3518ev200_mini_defconfig b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3518ev200_mini_defconfig new file mode 100644 index 00000000..44105f13 --- /dev/null +++ b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3518ev200_mini_defconfig @@ -0,0 +1,103 @@ +# Architecture +BR2_arm=y +BR2_arm926t=y +BR2_ARM_EABI=y +# BR2_ARM_INSTRUCTIONS_THUMB is not set +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_HISILICON_PATH)/board/hi3516cv200/kernel/hi3518ev200.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/hi3516cv200/kernel/patches/ $(BR2_EXTERNAL_HISILICON_PATH)/board/hi3516cv200/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 v2.2" +BR2_TARGET_GENERIC_HOSTNAME="openipc-hi3518ev200" +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_HASERL=y +BR2_PACKAGE_HISI_GPIO is not set +BR2_PACKAGE_HISILICON_OSDRV_HI3516CV200=y +BR2_PACKAGE_IPCTOOL=y +BR2_PACKAGE_JSON_C=y +BR2_PACKAGE_LAME_OPENIPC=y +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_LIBOGG_OPENIPC=y +BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y +BR2_PACKAGE_LIBYAML=y +BR2_PACKAGE_MINI=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=y +# BR2_PACKAGE_MINI_SNMPD is not set +BR2_PACKAGE_MOTORS=y +BR2_PACKAGE_OPUS_OPENIPC=y +BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y +# BR2_PACKAGE_SSHPASS is not set +BR2_PACKAGE_UACME_OPENIPC=y +BR2_PACKAGE_VTUND_OPENIPC=y +BR2_PACKAGE_YAML_CLI=y + +# WiFi +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 +BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y +BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y +BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_RTL8188EU=y +# BR2_PACKAGE_RTL8188EU is not set +# BR2_PACKAGE_RTL8188FU_OPENIPC is not set + +# WIREGUARD +BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y +BR2_PACKAGE_WIREGUARD_TOOLS=y + +# DEBUG +BR2_PACKAGE_HOST_GDB=y +BR2_PACKAGE_GDB=y diff --git a/br-ext-chip-hisilicon/external.mk b/br-ext-chip-hisilicon/external.mk index bd1acfce..098c1d88 100644 --- a/br-ext-chip-hisilicon/external.mk +++ b/br-ext-chip-hisilicon/external.mk @@ -36,6 +36,7 @@ include $(BR2_EXTERNAL_HISILICON_PATH)/package/majestic-fonts/majestic-fonts.mk include $(BR2_EXTERNAL_HISILICON_PATH)/package/mavlink-router/mavlink-router.mk include $(BR2_EXTERNAL_HISILICON_PATH)/package/mbedtls-openipc/mbedtls-openipc.mk include $(BR2_EXTERNAL_HISILICON_PATH)/package/microbe-web/microbe-web.mk +include $(BR2_EXTERNAL_HISILICON_PATH)/package/mini/mini.mk include $(BR2_EXTERNAL_HISILICON_PATH)/package/motors/motors.mk include $(BR2_EXTERNAL_HISILICON_PATH)/package/mt7601u-ap-openipc/mt7601u-ap-openipc.mk include $(BR2_EXTERNAL_HISILICON_PATH)/package/node-exporter/node-exporter.mk diff --git a/br-ext-chip-hisilicon/package/mini b/br-ext-chip-hisilicon/package/mini new file mode 120000 index 00000000..f09dc111 --- /dev/null +++ b/br-ext-chip-hisilicon/package/mini @@ -0,0 +1 @@ +../../general/package/mini \ No newline at end of file diff --git a/general/package/mini/Config.in b/general/package/mini/Config.in new file mode 100644 index 00000000..7c6f63d0 --- /dev/null +++ b/general/package/mini/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_MINI + bool "Mini streamer" + help + Open-source video streamer for HiSilicon gen 2-3 IPC + (GPL-3.0 license) + + https://github.com/openipc/mini diff --git a/general/package/mini/mini.mk b/general/package/mini/mini.mk new file mode 100644 index 00000000..7f64ea29 --- /dev/null +++ b/general/package/mini/mini.mk @@ -0,0 +1,32 @@ +################################################################################ +# +# mini +# +################################################################################ + +MINI_VERSION = HEAD +MINI_SITE = https://github.com/OpenIPC/mini.git +MINI_SITE_METHOD = git +MINI_GIT_SUBMODULES = YES +MINI_LICENSE = GPL-3.0 +MINI_LICENSE_FILES = LICENSE + +FAMILY := $(shell grep "/board/" $(BR2_CONFIG) | head -1 | cut -d "/" -f 3) + +ifeq ($(BR2_PACKAGE_HISILICON_OSDRV_HI3516CV200),y) + SDK_DIR := glutinium/hisi-osdrv2 +else ifeq ($(BR2_PACKAGE_HISILICON_OSDRV_HI3516CV300),y) + SDK_DIR := glutinium/hisi-osdrv3 +endif + +MINI_CONF_OPTS = -DPLATFORM_SDK_DIR=$(SDK_DIR) + +define MINI_INSTALL_TARGET_CMDS + $(INSTALL) -m 755 -d $(TARGET_DIR)/etc + $(INSTALL) -m 644 $(@D)/mini.ini $(TARGET_DIR)/etc/mini.ini + + $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin + $(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(@D)/mini +endef + +$(eval $(cmake-package))