diff --git a/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig b/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig index f9dd4de8..71175a62 100644 --- a/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig +++ b/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig @@ -17,6 +17,7 @@ BR2_CCACHE=y BR2_CCACHE_DIR="$(HOME)/.ccache" BR2_OPTIMIZE_S=y BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL)/package/all-patches" +BR2_PER_PACKAGE_DIRECTORIES=y BR2_SSP_REGULAR=y BR2_RELRO_PARTIAL=y BR2_TARGET_GENERIC_HOSTNAME="openipc-$(OPENIPC_SOC_MODEL)" @@ -24,8 +25,29 @@ BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC" BR2_INIT_NONE=y BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL)/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL)/scripts/rootfs_script.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/canaan/k230-soc/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL)/scripts/canaan_k230_post-image.sh" # BR2_PACKAGE_BUSYBOX is not set +BR2_PACKAGE_MBEDTLS=y +BR2_PACKAGE_LIBSRTP=y +BR2_PACKAGE_CONNMAN=y +# BR2_PACKAGE_CONNMAN_ETHERNET is not set +BR2_PACKAGE_WPA_SUPPLICANT=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="300M" +BR2_PACKAGE_HOST_MOSQUITTO=y +BR2_PACKAGE_AWS_WEBRTC=y +BR2_PACKAGE_DROPBEAR_OPENIPC=y +BR2_PACKAGE_IPCTOOL=y +BR2_PACKAGE_JSONFILTER=y +BR2_PACKAGE_LAME_OPENIPC=y +BR2_PACKAGE_LIBOGG_OPENIPC=y +BR2_PACKAGE_MAJESTIC_FONTS=y +BR2_PACKAGE_MAJESTIC_WEBUI=y +BR2_PACKAGE_MOTORS=y +BR2_PACKAGE_QUIRC_OPENIPC=y +BR2_PACKAGE_UACME_OPENIPC=y +BR2_PACKAGE_USRSCTP=y +BR2_PACKAGE_YAML_CLI=y +BR2_PACKAGE_ZEROTIER_ONE=y +BR2_PACKAGE_CANAAN_K230_SDK=y diff --git a/general/package/Config.in b/general/package/Config.in index 1703eaeb..15870ee8 100644 --- a/general/package/Config.in +++ b/general/package/Config.in @@ -110,6 +110,7 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/xiongmai-osdrv-xm530/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/xmdp/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/yaml-cli/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/zerotier-one/Config.in" +source "$BR2_EXTERNAL_GENERAL_PATH/package/canaan_k230_sdk/Config.in" # Legacy source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/ambarella-osdrv-s3l/Config.in" diff --git a/general/package/canaan_k230_sdk/Config.in b/general/package/canaan_k230_sdk/Config.in new file mode 100644 index 00000000..7c9ec635 --- /dev/null +++ b/general/package/canaan_k230_sdk/Config.in @@ -0,0 +1,25 @@ +menuconfig BR2_PACKAGE_CANAAN_K230_SDK + bool "canaan k230 sdk" + default n + help + canaan k230 SoCs SDK + + https://github.com/kendryte/k230_linux_sdk/ + +if BR2_PACKAGE_CANAAN_K230_SDK +config BR2_PACKAGE_CANAAN_K230_SDK_BUILD_FROM_SRC + bool "k230 sdk build from source" + default n + help + canaan k230 SoCs SDK + + https://github.com/kendryte/k230_linux_sdk/ + +config BR2_PACKAGE_CANAAN_K230_SDK_BOARD + string "k230 board name" + default "01studio" + help + canaan k230 SoCs SDK + + https://github.com/kendryte/k230_linux_sdk/ +endif diff --git a/general/package/canaan_k230_sdk/canaan_k230_sdk.mk b/general/package/canaan_k230_sdk/canaan_k230_sdk.mk new file mode 100644 index 00000000..bbcd9ba7 --- /dev/null +++ b/general/package/canaan_k230_sdk/canaan_k230_sdk.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# canaan k230 sdk +# +################################################################################ +CANAAN_K230_SDK_SITE = +CANAAN_K230_SDK_SOURCE = + +CANAAN_K230_SDK_EXTRA_DOWNLOADS :=$(shell \ + if curl --output /dev/null --silent --head --fail https://ai.b-bug.org/~/wangjianxin/ ;then \ + echo "https://ai.b-bug.org/~/wangjianxin/rootfs.tar.xz";\ + else \ + echo "https://kendryte-download.canaan-creative.com/k230/downloads/kmodel";\ + fi ; ) + +define CANAAN_K230_SDK_INSTALL_TARGET_CMDS + tar -xf $(CANAAN_K230_SDK_DL_DIR)/rootfs.tar.xz -C $(TARGET_DIR) +endef + + + +$(eval $(generic-package)) diff --git a/general/scripts/canaan_k230_post-image.sh b/general/scripts/canaan_k230_post-image.sh new file mode 100755 index 00000000..74327bea --- /dev/null +++ b/general/scripts/canaan_k230_post-image.sh @@ -0,0 +1,23 @@ +#!/bin/bash +DATE=$(date +%y.%m.%d) +FILE=${TARGET_DIR}/usr/lib/os-release + +echo OPENIPC_VERSION=${DATE:0:1}.${DATE:1} >> ${FILE} +date +GITHUB_VERSION="\"${GIT_BRANCH-local}+${GIT_HASH-build}, %Y-%m-%d"\" >> ${FILE} +echo BUILD_OPTION=${OPENIPC_VARIANT} >> ${FILE} +date +TIME_STAMP=%s >> ${FILE} + +CONF="USES_GLIBC=y|OSDRV_T30=y|OSDRV_V85X=y|LIBV4L=y|MAVLINK_ROUTER=y|RUBYFPV=y|WIFIBROADCAST=y|WIFIBROADCAST_NG=y|AUDIO_PROCESSING_OPENIPC=y" +if ! grep -qP ${CONF} ${BR2_CONFIG}; then + rm -f ${TARGET_DIR}/usr/lib/libstdc++* +fi + +if grep -q "USES_MUSL=y" ${BR2_CONFIG}; then + ln -sf libc.so ${TARGET_DIR}/lib/ld-uClibc.so.0 + ln -sf ../../lib/libc.so ${TARGET_DIR}/usr/bin/ldd +fi + +LIST="${BR2_EXTERNAL_GENERAL_PATH}/scripts/excludes/${OPENIPC_SOC_MODEL}_${OPENIPC_VARIANT}.list" +if [ -f ${LIST} ]; then + xargs -a ${LIST} -I % rm -f ${TARGET_DIR}% +fi