From a6a88af0a886232a0df14cf071a565a5e6540e8f Mon Sep 17 00:00:00 2001 From: wangjianxin Date: Tue, 27 May 2025 02:36:15 +0000 Subject: [PATCH 01/14] add k230 config --- .../configs/k230_canmv_01studio_defconfig | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig diff --git a/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig b/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig new file mode 100644 index 00000000..78623622 --- /dev/null +++ b/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig @@ -0,0 +1,64 @@ +# Architecture +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y + +# Local +BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc" +BR2_TOOLCHAIN_BUILDROOT_MUSL=y +BR2_KERNEL_HEADERS_VERSION=y +BR2_DEFAULT_KERNEL_VERSION="4.9.118" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y +BR2_GCC_VERSION_13_X=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_KERNEL).tar.gz" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/v83x.generic.config" +BR2_LINUX_KERNEL_UIMAGE=y +BR2_LINUX_KERNEL_XZ=y + +# Filesystem +BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config" +BR2_PACKAGE_UBOOT_TOOLS=y +BR2_PACKAGE_ZLIB=y +BR2_PACKAGE_LIBV4L=y +BR2_PACKAGE_LIBV4L_UTILS=y +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_SQUASHFS=y +BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y + +# OpenIPC +BR2_OPENIPC_SOC_VENDOR="allwinner" +BR2_OPENIPC_SOC_MODEL="v83x" +BR2_OPENIPC_SOC_FAMILY="v83x" +BR2_OPENIPC_VARIANT="lite" +BR2_OPENIPC_FLASH_SIZE="8" + +# Packages +BR2_PACKAGE_ALLWINNER_OSDRV_V83X=y +BR2_PACKAGE_ATBM60XX=y +BR2_PACKAGE_DROPBEAR_OPENIPC=y +BR2_PACKAGE_IPCTOOL=y +BR2_PACKAGE_JSONFILTER=y +BR2_PACKAGE_LIBCURL_OPENIPC=y +BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y +# 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_LIBEVENT_OPENIPC=y +BR2_PACKAGE_LIBOGG_OPENIPC=y +BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y +BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y +BR2_PACKAGE_MAJESTIC_WEBUI=y +BR2_PACKAGE_MBEDTLS_OPENIPC=y +BR2_PACKAGE_VTUND_OPENIPC=y +BR2_PACKAGE_YAML_CLI=y From d5b9df057245b491ef3a2ac288297aa1db7890e8 Mon Sep 17 00:00:00 2001 From: wangjianxin Date: Tue, 27 May 2025 14:50:36 +0800 Subject: [PATCH 02/14] add defconfig --- .../configs/k230_canmv_01studio_defconfig | 183 ++++++++++++------ 1 file changed, 126 insertions(+), 57 deletions(-) diff --git a/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig b/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig index 78623622..dc7af10a 100644 --- a/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig +++ b/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig @@ -1,64 +1,133 @@ -# Architecture -BR2_arm=y -BR2_cortex_a7=y -BR2_ARM_FPU_NEON_VFPV4=y - -# Local -BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc" -BR2_TOOLCHAIN_BUILDROOT_MUSL=y -BR2_KERNEL_HEADERS_VERSION=y -BR2_DEFAULT_KERNEL_VERSION="4.9.118" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y -BR2_GCC_VERSION_13_X=y -BR2_TOOLCHAIN_BUILDROOT_CXX=y - -# Kernel +BR2_riscv=y +BR2_RISCV_ISA_RVC=y +BR2_RISCV_ISA_RVV=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_PATH="/opt/toolchain/Xuantie-900-gcc-linux-6.6.0-glibc-x86_64-V3.0.2/" +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="riscv64-unknown-linux-gnu" +BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_6=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +# BR2_TOOLCHAIN_EXTERNAL_INET_RPC is not set +BR2_TOOLCHAIN_EXTERNAL_CXX=y +BR2_TOOLCHAIN_EXTERNAL_FORTRAN=y +BR2_TOOLCHAIN_EXTERNAL_OPENMP=y +BR2_TARGET_OPTIMIZATION="-mcpu=c908v" +BR2_DL_DIR="$(TOPDIR)/../../dl" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_OVERLAY="board/canaan/k230-soc/rootfs_overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/canaan/k230-soc/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/canaan/k230-soc/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_KERNEL).tar.gz" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/v83x.generic.config" -BR2_LINUX_KERNEL_UIMAGE=y -BR2_LINUX_KERNEL_XZ=y - -# Filesystem -BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config" -BR2_PACKAGE_UBOOT_TOOLS=y -BR2_PACKAGE_ZLIB=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/ruyisdk/linux-xuantie-kernel.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="7d4e1f444f461dbe3833bd99a4640e7b6c2cd529" +BR2_LINUX_KERNEL_DEFCONFIG="k230" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/canaan/k230-soc/linux.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="canaan/k230-canmv-01studio canaan/k230-canmv-01studio-lcd" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_LINUX_TOOLS_GPIO=y +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k230-soc/busybox.fragment" +BR2_PACKAGE_ALSA_UTILS_AMIXER=y +BR2_PACKAGE_ALSA_UTILS_APLAY=y +BR2_PACKAGE_COREMARK=y +BR2_PACKAGE_COREMARK_PRO=y +BR2_PACKAGE_E2FSPROGS=y +BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y +BR2_PACKAGE_EVTEST=y +BR2_PACKAGE_PARTED=y +BR2_PACKAGE_RTL8189FS=y +BR2_PACKAGE_SPI_TOOLS=y +BR2_PACKAGE_PYTHON3=y +BR2_PACKAGE_PYTHON3_PY_PYC=y +BR2_PACKAGE_PYTHON3_BZIP2=y +BR2_PACKAGE_PYTHON3_DECIMAL=y +BR2_PACKAGE_PYTHON3_READLINE=y +BR2_PACKAGE_PYTHON3_SQLITE=y +BR2_PACKAGE_PYTHON3_XZ=y +BR2_PACKAGE_PYTHON_PIP=y +BR2_PACKAGE_OPUS=y +BR2_PACKAGE_FREETYPE=y +BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y +BR2_PACKAGE_OPENCV4=y +BR2_PACKAGE_OPENCV4_LIB_HIGHGUI=y +BR2_PACKAGE_OPENCV4_LIB_PYTHON=y +BR2_PACKAGE_OPENCV4_LIB_VIDEO=y +BR2_PACKAGE_OPENCV4_WITH_FFMPEG=y +BR2_PACKAGE_OPENCV4_WITH_JPEG=y +BR2_PACKAGE_OPENCV4_WITH_PNG=y +BR2_PACKAGE_OPENCV4_WITH_V4L=y +BR2_PACKAGE_OPENCV4_WITH_WEBP=y +BR2_PACKAGE_OPENCV4_CONTRIB=y +BR2_PACKAGE_LIBGPIOD=y +BR2_PACKAGE_LIBGPIOD_TOOLS=y BR2_PACKAGE_LIBV4L=y BR2_PACKAGE_LIBV4L_UTILS=y -# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_PACKAGE_CJSON=y +BR2_PACKAGE_CJSON_UTILS=y +BR2_PACKAGE_LIVE555=y +BR2_PACKAGE_LIBCURL=y +BR2_PACKAGE_LIBTIRPC=y +BR2_PACKAGE_BLUEZ_TOOLS=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y +BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y +BR2_PACKAGE_HOSTAPD=y +BR2_PACKAGE_HOSTAPD_EAP=y +BR2_PACKAGE_HOSTAPD_WPS=y +BR2_PACKAGE_HOSTAPD_WPA3=y +BR2_PACKAGE_IPERF3=y +BR2_PACKAGE_LRZSZ=y +BR2_PACKAGE_NTP=y +BR2_PACKAGE_NTP_SNTP=y +BR2_PACKAGE_NTP_NTP_KEYGEN=y +BR2_PACKAGE_NTP_NTPDATE=y +BR2_PACKAGE_OPENSSH=y BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WIRELESS_TOOLS_LIB=y BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_WEXT=y +BR2_PACKAGE_WPA_SUPPLICANT_WIRED=y +BR2_PACKAGE_WPA_SUPPLICANT_IBSS_RSN=y +BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y +BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY=y +BR2_PACKAGE_WPA_SUPPLICANT_MESH_NETWORKING=y +BR2_PACKAGE_WPA_SUPPLICANT_OVERRIDES=y +BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y +BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT=y +BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG=y +BR2_PACKAGE_WPA_SUPPLICANT_WPS=y +BR2_PACKAGE_WPA_SUPPLICANT_WPA3=y BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y -BR2_TARGET_ROOTFS_CPIO=y -BR2_TARGET_ROOTFS_SQUASHFS=y -BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y - -# OpenIPC -BR2_OPENIPC_SOC_VENDOR="allwinner" -BR2_OPENIPC_SOC_MODEL="v83x" -BR2_OPENIPC_SOC_FAMILY="v83x" -BR2_OPENIPC_VARIANT="lite" -BR2_OPENIPC_FLASH_SIZE="8" - -# Packages -BR2_PACKAGE_ALLWINNER_OSDRV_V83X=y -BR2_PACKAGE_ATBM60XX=y -BR2_PACKAGE_DROPBEAR_OPENIPC=y -BR2_PACKAGE_IPCTOOL=y -BR2_PACKAGE_JSONFILTER=y -BR2_PACKAGE_LIBCURL_OPENIPC=y -BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y -# 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_LIBEVENT_OPENIPC=y -BR2_PACKAGE_LIBOGG_OPENIPC=y -BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y -BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y -BR2_PACKAGE_MAJESTIC_WEBUI=y -BR2_PACKAGE_MBEDTLS_OPENIPC=y -BR2_PACKAGE_VTUND_OPENIPC=y -BR2_PACKAGE_YAML_CLI=y +BR2_PACKAGE_WPA_SUPPLICANT_DBUS=y +BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y +BR2_PACKAGE_LIBMMZ=y +BR2_PACKAGE_LIBNNCASE=y +BR2_PACKAGE_FACE_DETECT=y +BR2_PACKAGE_AI2D_KPU=y +BR2_PACKAGE_HELLOWORLD_CMAKE=y +BR2_PACKAGE_VVCAM=y +BR2_PACKAGE_VVCAM_DEF_SENSOR="gc2093" +BR2_PACKAGE_AUDIO_DEMO=y +BR2_PACKAGE_LIB_RTSPSERVER=y +BR2_PACKAGE_MVX_PLAYER=y +BR2_PACKAGE_CAMERA_RTSP_DEMO=y +BR2_PACKAGE_AUDIO_REC_PLAY=y +BR2_PACKAGE_VG_LITE_DEMOS=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="300M" +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.4" +BR2_TARGET_OPENSBI_PLAT="generic" +# BR2_TARGET_OPENSBI_INSTALL_DYNAMIC_IMG is not set +BR2_TARGET_OPENSBI_LINUX_PAYLOAD=y +BR2_TARGET_OPENSBI_ADDITIONAL_VARIABLES="FW_TEXT_START=0" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="k230_canmv_01studio" +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.10" +BR2_PACKAGE_HOST_GENIMAGE=y From 418f264eb11ad773ed9088bee0a2185797ec6e45 Mon Sep 17 00:00:00 2001 From: wangjianxin Date: Tue, 27 May 2025 16:59:44 +0800 Subject: [PATCH 03/14] can compile --- .../configs/k230_canmv_01studio_defconfig | 130 ++---------------- 1 file changed, 14 insertions(+), 116 deletions(-) diff --git a/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig b/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig index dc7af10a..f9dd4de8 100644 --- a/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig +++ b/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig @@ -1,10 +1,10 @@ BR2_riscv=y BR2_RISCV_ISA_RVC=y -BR2_RISCV_ISA_RVV=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y -BR2_TOOLCHAIN_EXTERNAL_PATH="/opt/toolchain/Xuantie-900-gcc-linux-6.6.0-glibc-x86_64-V3.0.2/" +BR2_TOOLCHAIN_EXTERNAL_PATH="/opt/toolchain/Xuantie-900-gcc-linux-6.6.0-glibc-x86_64-V2.10.1/" BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="riscv64-unknown-linux-gnu" +BR2_TOOLCHAIN_EXTERNAL_GCC_10=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_6=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y # BR2_TOOLCHAIN_EXTERNAL_INET_RPC is not set @@ -13,121 +13,19 @@ BR2_TOOLCHAIN_EXTERNAL_FORTRAN=y BR2_TOOLCHAIN_EXTERNAL_OPENMP=y BR2_TARGET_OPTIMIZATION="-mcpu=c908v" BR2_DL_DIR="$(TOPDIR)/../../dl" -BR2_SYSTEM_DHCP="eth0" -BR2_ROOTFS_OVERLAY="board/canaan/k230-soc/rootfs_overlay" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/canaan/k230-soc/post-build.sh" +BR2_CCACHE=y +BR2_CCACHE_DIR="$(HOME)/.ccache" +BR2_OPTIMIZE_S=y +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL)/package/all-patches" +BR2_SSP_REGULAR=y +BR2_RELRO_PARTIAL=y +BR2_TARGET_GENERIC_HOSTNAME="openipc-$(OPENIPC_SOC_MODEL)" +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_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/ruyisdk/linux-xuantie-kernel.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="7d4e1f444f461dbe3833bd99a4640e7b6c2cd529" -BR2_LINUX_KERNEL_DEFCONFIG="k230" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/canaan/k230-soc/linux.fragment" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="canaan/k230-canmv-01studio canaan/k230-canmv-01studio-lcd" -BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y -BR2_PACKAGE_LINUX_TOOLS_GPIO=y -BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k230-soc/busybox.fragment" -BR2_PACKAGE_ALSA_UTILS_AMIXER=y -BR2_PACKAGE_ALSA_UTILS_APLAY=y -BR2_PACKAGE_COREMARK=y -BR2_PACKAGE_COREMARK_PRO=y -BR2_PACKAGE_E2FSPROGS=y -BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y -BR2_PACKAGE_EVTEST=y -BR2_PACKAGE_PARTED=y -BR2_PACKAGE_RTL8189FS=y -BR2_PACKAGE_SPI_TOOLS=y -BR2_PACKAGE_PYTHON3=y -BR2_PACKAGE_PYTHON3_PY_PYC=y -BR2_PACKAGE_PYTHON3_BZIP2=y -BR2_PACKAGE_PYTHON3_DECIMAL=y -BR2_PACKAGE_PYTHON3_READLINE=y -BR2_PACKAGE_PYTHON3_SQLITE=y -BR2_PACKAGE_PYTHON3_XZ=y -BR2_PACKAGE_PYTHON_PIP=y -BR2_PACKAGE_OPUS=y -BR2_PACKAGE_FREETYPE=y -BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y -BR2_PACKAGE_OPENCV4=y -BR2_PACKAGE_OPENCV4_LIB_HIGHGUI=y -BR2_PACKAGE_OPENCV4_LIB_PYTHON=y -BR2_PACKAGE_OPENCV4_LIB_VIDEO=y -BR2_PACKAGE_OPENCV4_WITH_FFMPEG=y -BR2_PACKAGE_OPENCV4_WITH_JPEG=y -BR2_PACKAGE_OPENCV4_WITH_PNG=y -BR2_PACKAGE_OPENCV4_WITH_V4L=y -BR2_PACKAGE_OPENCV4_WITH_WEBP=y -BR2_PACKAGE_OPENCV4_CONTRIB=y -BR2_PACKAGE_LIBGPIOD=y -BR2_PACKAGE_LIBGPIOD_TOOLS=y -BR2_PACKAGE_LIBV4L=y -BR2_PACKAGE_LIBV4L_UTILS=y -BR2_PACKAGE_CJSON=y -BR2_PACKAGE_CJSON_UTILS=y -BR2_PACKAGE_LIVE555=y -BR2_PACKAGE_LIBCURL=y -BR2_PACKAGE_LIBTIRPC=y -BR2_PACKAGE_BLUEZ_TOOLS=y -BR2_PACKAGE_BLUEZ5_UTILS=y -BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y -BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y -BR2_PACKAGE_HOSTAPD=y -BR2_PACKAGE_HOSTAPD_EAP=y -BR2_PACKAGE_HOSTAPD_WPS=y -BR2_PACKAGE_HOSTAPD_WPA3=y -BR2_PACKAGE_IPERF3=y -BR2_PACKAGE_LRZSZ=y -BR2_PACKAGE_NTP=y -BR2_PACKAGE_NTP_SNTP=y -BR2_PACKAGE_NTP_NTP_KEYGEN=y -BR2_PACKAGE_NTP_NTPDATE=y -BR2_PACKAGE_OPENSSH=y -BR2_PACKAGE_WIRELESS_TOOLS=y -BR2_PACKAGE_WIRELESS_TOOLS_LIB=y -BR2_PACKAGE_WPA_SUPPLICANT=y -BR2_PACKAGE_WPA_SUPPLICANT_WEXT=y -BR2_PACKAGE_WPA_SUPPLICANT_WIRED=y -BR2_PACKAGE_WPA_SUPPLICANT_IBSS_RSN=y -BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y -BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY=y -BR2_PACKAGE_WPA_SUPPLICANT_MESH_NETWORKING=y -BR2_PACKAGE_WPA_SUPPLICANT_OVERRIDES=y -BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y -BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT=y -BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG=y -BR2_PACKAGE_WPA_SUPPLICANT_WPS=y -BR2_PACKAGE_WPA_SUPPLICANT_WPA3=y -BR2_PACKAGE_WPA_SUPPLICANT_CLI=y -BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y -BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y -BR2_PACKAGE_WPA_SUPPLICANT_DBUS=y -BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y -BR2_PACKAGE_LIBMMZ=y -BR2_PACKAGE_LIBNNCASE=y -BR2_PACKAGE_FACE_DETECT=y -BR2_PACKAGE_AI2D_KPU=y -BR2_PACKAGE_HELLOWORLD_CMAKE=y -BR2_PACKAGE_VVCAM=y -BR2_PACKAGE_VVCAM_DEF_SENSOR="gc2093" -BR2_PACKAGE_AUDIO_DEMO=y -BR2_PACKAGE_LIB_RTSPSERVER=y -BR2_PACKAGE_MVX_PLAYER=y -BR2_PACKAGE_CAMERA_RTSP_DEMO=y -BR2_PACKAGE_AUDIO_REC_PLAY=y -BR2_PACKAGE_VG_LITE_DEMOS=y +# BR2_PACKAGE_BUSYBOX is not set BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="300M" -BR2_TARGET_OPENSBI=y -BR2_TARGET_OPENSBI_CUSTOM_VERSION=y -BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.4" -BR2_TARGET_OPENSBI_PLAT="generic" -# BR2_TARGET_OPENSBI_INSTALL_DYNAMIC_IMG is not set -BR2_TARGET_OPENSBI_LINUX_PAYLOAD=y -BR2_TARGET_OPENSBI_ADDITIONAL_VARIABLES="FW_TEXT_START=0" -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="k230_canmv_01studio" -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.10" -BR2_PACKAGE_HOST_GENIMAGE=y From 3b751a51ce157f255c5e04f5158b5be9ff747292 Mon Sep 17 00:00:00 2001 From: wangjianxin Date: Wed, 28 May 2025 11:46:26 +0800 Subject: [PATCH 04/14] k230 --- .../configs/k230_canmv_01studio_defconfig | 24 +++++++++++++++++- general/package/Config.in | 1 + general/package/canaan_k230_sdk/Config.in | 25 +++++++++++++++++++ .../canaan_k230_sdk/canaan_k230_sdk.mk | 22 ++++++++++++++++ general/scripts/canaan_k230_post-image.sh | 23 +++++++++++++++++ 5 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 general/package/canaan_k230_sdk/Config.in create mode 100644 general/package/canaan_k230_sdk/canaan_k230_sdk.mk create mode 100755 general/scripts/canaan_k230_post-image.sh 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 From 939ad535972b01732c1d2d398a67732834a39695 Mon Sep 17 00:00:00 2001 From: wangjianxin Date: Wed, 28 May 2025 15:06:02 +0800 Subject: [PATCH 05/14] can buildimage --- .../canaan_k230_sdk/canaan_k230_sdk.mk | 10 +++++++-- general/scripts/canaan_k230_post-image.sh | 21 +++++++------------ 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/general/package/canaan_k230_sdk/canaan_k230_sdk.mk b/general/package/canaan_k230_sdk/canaan_k230_sdk.mk index bbcd9ba7..4c8b73b8 100644 --- a/general/package/canaan_k230_sdk/canaan_k230_sdk.mk +++ b/general/package/canaan_k230_sdk/canaan_k230_sdk.mk @@ -6,15 +6,21 @@ CANAAN_K230_SDK_SITE = CANAAN_K230_SDK_SOURCE = -CANAAN_K230_SDK_EXTRA_DOWNLOADS :=$(shell \ +k230_download_url := $(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";\ + echo "https://ai.b-bug.org/~/wangjianxin/"; \ else \ echo "https://kendryte-download.canaan-creative.com/k230/downloads/kmodel";\ fi ; ) + +CANAAN_K230_SDK_EXTRA_DOWNLOADS := $(k230_download_url)/sysimage-sdcard.img.gz +CANAAN_K230_SDK_EXTRA_DOWNLOADS += $(k230_download_url)/rootfs.tar.xz + define CANAAN_K230_SDK_INSTALL_TARGET_CMDS tar -xf $(CANAAN_K230_SDK_DL_DIR)/rootfs.tar.xz -C $(TARGET_DIR) + rm -rf $(TARGET_DIR)/var/run; + gunzip -f -k -c $(CANAAN_K230_SDK_DL_DIR)/sysimage-sdcard.img.gz > $(BINARIES_DIR)/sysimage-sdcard.img endef diff --git a/general/scripts/canaan_k230_post-image.sh b/general/scripts/canaan_k230_post-image.sh index 74327bea..2a7a3137 100755 --- a/general/scripts/canaan_k230_post-image.sh +++ b/general/scripts/canaan_k230_post-image.sh @@ -7,17 +7,10 @@ date +GITHUB_VERSION="\"${GIT_BRANCH-local}+${GIT_HASH-build}, %Y-%m-%d"\" >> ${ 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 +cd ${BINARIES_DIR} +ext4_pos="$(fdisk -l sysimage-sdcard.img | grep sysimage-sdcard.img2 | cut -d ' ' -f2)" +dd if=rootfs.ext4 of=sysimage-sdcard.img seek=${ext4_pos} conv=notrunc +gzip -k -f sysimage-sdcard.img +chmod a+r sysimage-sdcard.img.gz +cd - +echo -e "k230 image is \033[31m ${BINARIES_DIR}/sysimage-sdcard.img.gz \033[0m" From 8290271ca44ca8e2aae348291ecfa231c4f9e70a Mon Sep 17 00:00:00 2001 From: wangjianxin Date: Wed, 28 May 2025 17:58:48 +0800 Subject: [PATCH 06/14] k230 config --- .../configs/k230_canmv_01studio_defconfig | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig b/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig index 71175a62..412ef0a3 100644 --- a/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig +++ b/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig @@ -22,11 +22,9 @@ BR2_SSP_REGULAR=y BR2_RELRO_PARTIAL=y BR2_TARGET_GENERIC_HOSTNAME="openipc-$(OPENIPC_SOC_MODEL)" 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="$(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 @@ -36,18 +34,29 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="300M" BR2_PACKAGE_HOST_MOSQUITTO=y +BR2_OPENIPC_SOC_VENDOR="canaan" +BR2_OPENIPC_SOC_MODEL="k230" +BR2_OPENIPC_SOC_FAMILY="k230" +BR2_PACKAGE_AWS_PRODUCER=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_LIBCURL_OPENIPC_CURL=y +BR2_PACKAGE_LIBEVENT_OPENIPC=y BR2_PACKAGE_LIBOGG_OPENIPC=y +BR2_PACKAGE_LIBSRTP_OPENIPC=y +BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y BR2_PACKAGE_MAJESTIC_FONTS=y BR2_PACKAGE_MAJESTIC_WEBUI=y BR2_PACKAGE_MOTORS=y +BR2_PACKAGE_OPUS_OPENIPC=y +BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y BR2_PACKAGE_QUIRC_OPENIPC=y BR2_PACKAGE_UACME_OPENIPC=y BR2_PACKAGE_USRSCTP=y +BR2_PACKAGE_VTUND_OPENIPC=y BR2_PACKAGE_YAML_CLI=y BR2_PACKAGE_ZEROTIER_ONE=y BR2_PACKAGE_CANAAN_K230_SDK=y From e055f9b669c390f19830cd8bb62b461bf829a466 Mon Sep 17 00:00:00 2001 From: wangjianxin Date: Thu, 29 May 2025 17:35:24 +0800 Subject: [PATCH 07/14] k230 --- .../configs/k230_canmv_01studio_defconfig | 11 ----------- general/package/canaan_k230_sdk/Config.in | 6 +++--- general/package/canaan_k230_sdk/canaan_k230_sdk.mk | 9 +++++++-- 3 files changed, 10 insertions(+), 16 deletions(-) diff --git a/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig b/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig index 412ef0a3..d5c5bb3d 100644 --- a/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig +++ b/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig @@ -13,17 +13,6 @@ BR2_TOOLCHAIN_EXTERNAL_FORTRAN=y BR2_TOOLCHAIN_EXTERNAL_OPENMP=y BR2_TARGET_OPTIMIZATION="-mcpu=c908v" BR2_DL_DIR="$(TOPDIR)/../../dl" -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)" -BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC" -BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL)/overlay" -BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL)/scripts/rootfs_script.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL)/scripts/canaan_k230_post-image.sh" BR2_PACKAGE_MBEDTLS=y BR2_PACKAGE_LIBSRTP=y diff --git a/general/package/canaan_k230_sdk/Config.in b/general/package/canaan_k230_sdk/Config.in index 7c9ec635..bb21458a 100644 --- a/general/package/canaan_k230_sdk/Config.in +++ b/general/package/canaan_k230_sdk/Config.in @@ -15,9 +15,9 @@ config BR2_PACKAGE_CANAAN_K230_SDK_BUILD_FROM_SRC https://github.com/kendryte/k230_linux_sdk/ -config BR2_PACKAGE_CANAAN_K230_SDK_BOARD - string "k230 board name" - default "01studio" +config BR2_PACKAGE_CANAAN_K230_SDK_CONF + string "k230 sdk config" + default "k230_canmv_01studio_defconfig" help canaan k230 SoCs SDK diff --git a/general/package/canaan_k230_sdk/canaan_k230_sdk.mk b/general/package/canaan_k230_sdk/canaan_k230_sdk.mk index 4c8b73b8..624e0e42 100644 --- a/general/package/canaan_k230_sdk/canaan_k230_sdk.mk +++ b/general/package/canaan_k230_sdk/canaan_k230_sdk.mk @@ -20,9 +20,14 @@ CANAAN_K230_SDK_EXTRA_DOWNLOADS += $(k230_download_url)/rootfs.tar.xz define CANAAN_K230_SDK_INSTALL_TARGET_CMDS tar -xf $(CANAAN_K230_SDK_DL_DIR)/rootfs.tar.xz -C $(TARGET_DIR) rm -rf $(TARGET_DIR)/var/run; + rm -rf $(TARGET_DIR)/etc/init.d/S30dbus; + rm -rf $(TARGET_DIR)/etc/init.d/S40bluetoothd; + rm -rf $(TARGET_DIR)/etc/init.d/S48sntp; + rm -rf $(TARGET_DIR)/etc/init.d/S49ntp; + rm -rf $(TARGET_DIR)/etc/init.d/S50crond; + rm -rf $(TARGET_DIR)/etc/init.d/S50sshd; + rm -rf $(TARGET_DIR)/etc/init.d/S50telnet; gunzip -f -k -c $(CANAAN_K230_SDK_DL_DIR)/sysimage-sdcard.img.gz > $(BINARIES_DIR)/sysimage-sdcard.img endef - - $(eval $(generic-package)) From 6675fe109a1e6ce0417fc61299a3e7d8daff3611 Mon Sep 17 00:00:00 2001 From: wangjianxin Date: Fri, 30 May 2025 14:36:46 +0800 Subject: [PATCH 08/14] gcc 14 --- Makefile | 7 ++- .../buildroot_patch/0001-support-gcc-14.patch | 54 +++++++++++++++++++ .../canaan_k230_sdk/canaan_k230_post-image.sh | 33 ++++++++++++ general/package/canaan_k230_sdk/k230_env.env | 32 +++++++++++ general/scripts/canaan_k230_post-image.sh | 16 ------ 5 files changed, 125 insertions(+), 17 deletions(-) create mode 100644 general/package/canaan_k230_sdk/buildroot_patch/0001-support-gcc-14.patch create mode 100755 general/package/canaan_k230_sdk/canaan_k230_post-image.sh create mode 100644 general/package/canaan_k230_sdk/k230_env.env delete mode 100755 general/scripts/canaan_k230_post-image.sh diff --git a/Makefile b/Makefile index f6cacd27..ae294aec 100644 --- a/Makefile +++ b/Makefile @@ -36,7 +36,12 @@ defconfig: prepare prepare: @if test ! -e $(TARGET)/buildroot-$(BR_VER); then \ wget -c -q $(BR_LINK)/$(BR_VER).tar.gz -O $(BR_FILE); \ - mkdir -p $(TARGET); tar -xf $(BR_FILE) -C $(TARGET); fi + mkdir -p $(TARGET); tar -xf $(BR_FILE) -C $(TARGET); \ + if grep "BR2_OPENIPC_SOC_FAMILY=\"k230\"" $(CONFIG) >/dev/null ; then \ + $(TARGET)/buildroot-$(BR_VER)/support/scripts/apply-patches.sh -s \ + $(TARGET)/buildroot-$(BR_VER)/ general/package/canaan_k230_sdk/buildroot_patch/ *.patch; fi; \ + fi + help: @printf "BR-OpenIPC usage:\n \ diff --git a/general/package/canaan_k230_sdk/buildroot_patch/0001-support-gcc-14.patch b/general/package/canaan_k230_sdk/buildroot_patch/0001-support-gcc-14.patch new file mode 100644 index 00000000..51cc954f --- /dev/null +++ b/general/package/canaan_k230_sdk/buildroot_patch/0001-support-gcc-14.patch @@ -0,0 +1,54 @@ +From 99d0e3e9da9aaf4c4cbf6a4b10d2ad558e65ed61 Mon Sep 17 00:00:00 2001 +From: wangjianxin +Date: Fri, 30 May 2025 11:53:35 +0800 +Subject: [PATCH] support gcc 14 + +--- + toolchain/Config.in | 5 +++++ + .../toolchain-external-custom/Config.in.options | 4 ++++ + 2 files changed, 9 insertions(+) + mode change 100644 => 100755 toolchain/Config.in + mode change 100644 => 100755 toolchain/toolchain-external/toolchain-external-custom/Config.in.options + +diff --git a/toolchain/Config.in b/toolchain/Config.in +old mode 100644 +new mode 100755 +index bd4f80bd..d0483628 +--- a/toolchain/Config.in ++++ b/toolchain/Config.in +@@ -792,10 +792,15 @@ config BR2_TOOLCHAIN_GCC_AT_LEAST_13 + bool + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + ++config BR2_TOOLCHAIN_GCC_AT_LEAST_14 ++ bool ++ select BR2_TOOLCHAIN_GCC_AT_LEAST_13 ++ + # This order guarantees that the highest version is set, as kconfig + # stops affecting a value on the first matching default. + config BR2_TOOLCHAIN_GCC_AT_LEAST + string ++ default "14" if BR2_TOOLCHAIN_GCC_AT_LEAST_14 + default "13" if BR2_TOOLCHAIN_GCC_AT_LEAST_13 + default "12" if BR2_TOOLCHAIN_GCC_AT_LEAST_12 + default "11" if BR2_TOOLCHAIN_GCC_AT_LEAST_11 +diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options +old mode 100644 +new mode 100755 +index 5554d567..838ac79a +--- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options ++++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options +@@ -46,6 +46,10 @@ choice + Set to the gcc version that is used by your external + toolchain. + ++config BR2_TOOLCHAIN_EXTERNAL_GCC_14 ++ bool "14.x" ++ select BR2_TOOLCHAIN_GCC_AT_LEAST_14 ++ + config BR2_TOOLCHAIN_EXTERNAL_GCC_13 + bool "13.x" + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 +-- +2.46.0 + diff --git a/general/package/canaan_k230_sdk/canaan_k230_post-image.sh b/general/package/canaan_k230_sdk/canaan_k230_post-image.sh new file mode 100755 index 00000000..060ecacd --- /dev/null +++ b/general/package/canaan_k230_sdk/canaan_k230_post-image.sh @@ -0,0 +1,33 @@ +#!/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} + + +k230_openipc_img_replace_rootfs() +{ + cd ${BINARIES_DIR} + ext4_pos="$(fdisk -l sysimage-sdcard.img | grep sysimage-sdcard.img2 | cut -d ' ' -f2)" + dd if=rootfs.ext4 of=sysimage-sdcard.img seek=${ext4_pos} conv=notrunc + gzip -k -f sysimage-sdcard.img + chmod a+r sysimage-sdcard.img.gz + cd - + echo -e "k230 image is \033[31m ${BINARIES_DIR}/sysimage-sdcard.img.gz \033[0m" +} +k230_openipc_img_env_replace() +{ + cd ${BINARIES_DIR} + env; + mkenvimage -h; + mkenvimage -s 0x10000 -o env.env ${BR2_EXTERNAL}/package/canaan_k230_sdk/k230_env.env + + dd if=env.env of=sysimage-sdcard.img seek=3840 conv=notrunc + cd -; +} + +k230_openipc_img_env_replace +k230_openipc_img_replace_rootfs diff --git a/general/package/canaan_k230_sdk/k230_env.env b/general/package/canaan_k230_sdk/k230_env.env new file mode 100644 index 00000000..fc1992f6 --- /dev/null +++ b/general/package/canaan_k230_sdk/k230_env.env @@ -0,0 +1,32 @@ +arch=riscv +autoload=0 +baudrate=115200 +board=k230 +board_name=k230 +bootcmd=run blinux; +bootcmd_baremetal= mmc dev ${mmc_boot_dev_num}; mmc read 0 0x5000 0xa000; boot_baremetal 1 0 1400000; +bootcmd_usb=run usb_load; bootm $kernel_addr - $dtb_addr +bootdelay=3 +console_port=console=ttyS1,115200 +cpu=k230 +dtb_addr=0xa000000 +fdt_high=0xa100000 +fdtcontroladdr=80293880 +gatewayip=10.99.105.254 +ipaddr=10.99.105.44 +kernel_addr=0xc100000 +loadaddr=0xc000000 +mmc_boot_dev_num=1 +netmask=255.255.255.0 +ramdisk_addr=0xa100000 +serverip=10.10.1.94 +vendor=canaan +quick_boot=false +k=Image +kilp32=Image_ilp32 +nuttex=nuttx-7000000-uart2.bin +blinux=ext4load mmc ${mmc_boot_dev_num}:1 0x3000000 /fw_jump_add_uboot_head.bin && ext4load mmc ${mmc_boot_dev_num}:1 0x200000 /${k} && ext4load mmc ${mmc_boot_dev_num}:1 0x2200000 /k.dtb && bootm 0x3000000 - 0x2200000; +blinuxilp32= setenv k Image_ilp32 && run blinux; +bnuttx=ext4load mmc ${mmc_boot_dev_num}:1 0x7000000 /${nuttex} && boot_baremetal 0 0x${fileaddr} 0x${filesize}; +wjx=xxxx +ethaddr=22:22:22:22:22:22 diff --git a/general/scripts/canaan_k230_post-image.sh b/general/scripts/canaan_k230_post-image.sh deleted file mode 100755 index 2a7a3137..00000000 --- a/general/scripts/canaan_k230_post-image.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/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} - -cd ${BINARIES_DIR} -ext4_pos="$(fdisk -l sysimage-sdcard.img | grep sysimage-sdcard.img2 | cut -d ' ' -f2)" -dd if=rootfs.ext4 of=sysimage-sdcard.img seek=${ext4_pos} conv=notrunc -gzip -k -f sysimage-sdcard.img -chmod a+r sysimage-sdcard.img.gz -cd - -echo -e "k230 image is \033[31m ${BINARIES_DIR}/sysimage-sdcard.img.gz \033[0m" From c2a6d8e733a0cd78132d0df144c0a4c3b2cebd0d Mon Sep 17 00:00:00 2001 From: wangjianxin Date: Fri, 30 May 2025 14:37:01 +0800 Subject: [PATCH 09/14] gcc 14 --- br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig b/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig index d5c5bb3d..d31808eb 100644 --- a/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig +++ b/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig @@ -1,19 +1,19 @@ BR2_riscv=y BR2_RISCV_ISA_RVC=y +BR2_RISCV_ISA_RVV=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y -BR2_TOOLCHAIN_EXTERNAL_PATH="/opt/toolchain/Xuantie-900-gcc-linux-6.6.0-glibc-x86_64-V2.10.1/" +BR2_TOOLCHAIN_EXTERNAL_PATH="/opt/toolchain/Xuantie-900-gcc-linux-6.6.0-glibc-x86_64-V3.0.2/" BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="riscv64-unknown-linux-gnu" -BR2_TOOLCHAIN_EXTERNAL_GCC_10=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_6=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y # BR2_TOOLCHAIN_EXTERNAL_INET_RPC is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y BR2_TOOLCHAIN_EXTERNAL_FORTRAN=y BR2_TOOLCHAIN_EXTERNAL_OPENMP=y -BR2_TARGET_OPTIMIZATION="-mcpu=c908v" +BR2_TARGET_OPTIMIZATION="-mcpu=c908v -Wno-implicit-function-declaration -Wno-incompatible-pointer-types" BR2_DL_DIR="$(TOPDIR)/../../dl" -BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL)/scripts/canaan_k230_post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL)/package/canaan_k230_sdk/canaan_k230_post-image.sh" BR2_PACKAGE_MBEDTLS=y BR2_PACKAGE_LIBSRTP=y BR2_PACKAGE_CONNMAN=y @@ -23,6 +23,7 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="300M" BR2_PACKAGE_HOST_MOSQUITTO=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_OPENIPC_SOC_VENDOR="canaan" BR2_OPENIPC_SOC_MODEL="k230" BR2_OPENIPC_SOC_FAMILY="k230" From e75af89d1c9620301d843249ad91b38f7cf1c9cf Mon Sep 17 00:00:00 2001 From: wangjianxin Date: Fri, 30 May 2025 16:19:16 +0800 Subject: [PATCH 10/14] k230 --- Makefile | 5 ++- .../configs/k230_canmv_01studio_defconfig | 38 +++++++++++-------- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/Makefile b/Makefile index ae294aec..fb97acb7 100644 --- a/Makefile +++ b/Makefile @@ -39,8 +39,9 @@ prepare: mkdir -p $(TARGET); tar -xf $(BR_FILE) -C $(TARGET); \ if grep "BR2_OPENIPC_SOC_FAMILY=\"k230\"" $(CONFIG) >/dev/null ; then \ $(TARGET)/buildroot-$(BR_VER)/support/scripts/apply-patches.sh -s \ - $(TARGET)/buildroot-$(BR_VER)/ general/package/canaan_k230_sdk/buildroot_patch/ *.patch; fi; \ - fi + $(TARGET)/buildroot-$(BR_VER)/ \ + general/package/canaan_k230_sdk/buildroot_patch/ *.patch; fi; \ + fi help: diff --git a/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig b/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig index d31808eb..b76a397e 100644 --- a/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig +++ b/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig @@ -1,6 +1,8 @@ BR2_riscv=y BR2_RISCV_ISA_RVC=y BR2_RISCV_ISA_RVV=y + +# Toolchain BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_PATH="/opt/toolchain/Xuantie-900-gcc-linux-6.6.0-glibc-x86_64-V3.0.2/" @@ -11,14 +13,14 @@ BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y BR2_TOOLCHAIN_EXTERNAL_CXX=y BR2_TOOLCHAIN_EXTERNAL_FORTRAN=y BR2_TOOLCHAIN_EXTERNAL_OPENMP=y + +# Filesystem BR2_TARGET_OPTIMIZATION="-mcpu=c908v -Wno-implicit-function-declaration -Wno-incompatible-pointer-types" BR2_DL_DIR="$(TOPDIR)/../../dl" BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL)/package/canaan_k230_sdk/canaan_k230_post-image.sh" -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" @@ -27,26 +29,30 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_OPENIPC_SOC_VENDOR="canaan" BR2_OPENIPC_SOC_MODEL="k230" BR2_OPENIPC_SOC_FAMILY="k230" -BR2_PACKAGE_AWS_PRODUCER=y -BR2_PACKAGE_AWS_WEBRTC=y +# BR2_PACKAGE_AWS_PRODUCER=y +# BR2_PACKAGE_AWS_WEBRTC=y + + + +BR2_PACKAGE_CANAAN_K230_SDK=y + +# Packages BR2_PACKAGE_DROPBEAR_OPENIPC=y BR2_PACKAGE_IPCTOOL=y BR2_PACKAGE_JSONFILTER=y -BR2_PACKAGE_LAME_OPENIPC=y +BR2_PACKAGE_LIBCURL_OPENIPC=y BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y +# 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_LIBEVENT_OPENIPC=y BR2_PACKAGE_LIBOGG_OPENIPC=y -BR2_PACKAGE_LIBSRTP_OPENIPC=y -BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y BR2_PACKAGE_MAJESTIC_FONTS=y BR2_PACKAGE_MAJESTIC_WEBUI=y +#BR2_PACKAGE_MAJESTIC=y +BR2_PACKAGE_MBEDTLS_OPENIPC=y BR2_PACKAGE_MOTORS=y BR2_PACKAGE_OPUS_OPENIPC=y -BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y -BR2_PACKAGE_QUIRC_OPENIPC=y -BR2_PACKAGE_UACME_OPENIPC=y -BR2_PACKAGE_USRSCTP=y +#BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y BR2_PACKAGE_VTUND_OPENIPC=y BR2_PACKAGE_YAML_CLI=y -BR2_PACKAGE_ZEROTIER_ONE=y -BR2_PACKAGE_CANAAN_K230_SDK=y From 1fed1f353b3dd8d1733478df5f0f390a16a324b8 Mon Sep 17 00:00:00 2001 From: wangjianxin Date: Fri, 30 May 2025 16:20:28 +0800 Subject: [PATCH 11/14] k230 --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 945e094f..dd5e8aa1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ buildroot-*/ output/ buildroot-* -.DS_Store \ No newline at end of file +.DS_Store +dl/ From 402955e0be0a33d129caa1ddf13dcdbeb0af68f2 Mon Sep 17 00:00:00 2001 From: wangjianxin Date: Fri, 30 May 2025 17:50:24 +0800 Subject: [PATCH 12/14] k230 --- .../configs/k230_canmv_01studio_defconfig | 9 +++++---- .../package/canaan_k230_sdk/canaan_k230_post-image.sh | 2 -- general/package/canaan_k230_sdk/canaan_k230_sdk.mk | 10 +++++----- general/package/canaan_k230_sdk/k230_env.env | 1 - 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig b/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig index b76a397e..98cccf35 100644 --- a/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig +++ b/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig @@ -5,7 +5,8 @@ BR2_RISCV_ISA_RVV=y # Toolchain BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y -BR2_TOOLCHAIN_EXTERNAL_PATH="/opt/toolchain/Xuantie-900-gcc-linux-6.6.0-glibc-x86_64-V3.0.2/" +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="https://kendryte-download.canaan-creative.com/k230/downloads/dl/gcc/Xuantie-900-gcc-linux-6.6.0-glibc-x86_64-V3.0.2-20250410.tar.gz" BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="riscv64-unknown-linux-gnu" BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_6=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y @@ -29,12 +30,11 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_OPENIPC_SOC_VENDOR="canaan" BR2_OPENIPC_SOC_MODEL="k230" BR2_OPENIPC_SOC_FAMILY="k230" -# BR2_PACKAGE_AWS_PRODUCER=y -# BR2_PACKAGE_AWS_WEBRTC=y -BR2_PACKAGE_CANAAN_K230_SDK=y + + # Packages BR2_PACKAGE_DROPBEAR_OPENIPC=y @@ -56,3 +56,4 @@ BR2_PACKAGE_OPUS_OPENIPC=y #BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y BR2_PACKAGE_VTUND_OPENIPC=y BR2_PACKAGE_YAML_CLI=y +BR2_PACKAGE_CANAAN_K230_SDK=y diff --git a/general/package/canaan_k230_sdk/canaan_k230_post-image.sh b/general/package/canaan_k230_sdk/canaan_k230_post-image.sh index 060ecacd..66ec453c 100755 --- a/general/package/canaan_k230_sdk/canaan_k230_post-image.sh +++ b/general/package/canaan_k230_sdk/canaan_k230_post-image.sh @@ -21,8 +21,6 @@ k230_openipc_img_replace_rootfs() k230_openipc_img_env_replace() { cd ${BINARIES_DIR} - env; - mkenvimage -h; mkenvimage -s 0x10000 -o env.env ${BR2_EXTERNAL}/package/canaan_k230_sdk/k230_env.env dd if=env.env of=sysimage-sdcard.img seek=3840 conv=notrunc diff --git a/general/package/canaan_k230_sdk/canaan_k230_sdk.mk b/general/package/canaan_k230_sdk/canaan_k230_sdk.mk index 624e0e42..b454a0c5 100644 --- a/general/package/canaan_k230_sdk/canaan_k230_sdk.mk +++ b/general/package/canaan_k230_sdk/canaan_k230_sdk.mk @@ -7,15 +7,15 @@ CANAAN_K230_SDK_SITE = CANAAN_K230_SDK_SOURCE = k230_download_url := $(shell \ - if curl --output /dev/null --silent --head --fail https://ai.b-bug.org/~/wangjianxin/ ;then \ - echo "https://ai.b-bug.org/~/wangjianxin/"; \ + if curl --output /dev/null --silent --head --fail https://ai.b-bug.org/k230/downloads/dl/openipc ;then \ + echo "https://ai.b-bug.org/k230/downloads/dl/openipc"; \ else \ - echo "https://kendryte-download.canaan-creative.com/k230/downloads/kmodel";\ + echo "https://kendryte-download.canaan-creative.com/k230/dl/openipc";\ fi ; ) -CANAAN_K230_SDK_EXTRA_DOWNLOADS := $(k230_download_url)/sysimage-sdcard.img.gz -CANAAN_K230_SDK_EXTRA_DOWNLOADS += $(k230_download_url)/rootfs.tar.xz +CANAAN_K230_SDK_EXTRA_DOWNLOADS := $(k230_download_url)/$(call qstrip ,$(BR2_PACKAGE_CANAAN_K230_SDK_CONF))/sysimage-sdcard.img.gz +CANAAN_K230_SDK_EXTRA_DOWNLOADS += $(k230_download_url)/$(call qstrip ,$(BR2_PACKAGE_CANAAN_K230_SDK_CONF))/rootfs.tar.xz define CANAAN_K230_SDK_INSTALL_TARGET_CMDS tar -xf $(CANAAN_K230_SDK_DL_DIR)/rootfs.tar.xz -C $(TARGET_DIR) diff --git a/general/package/canaan_k230_sdk/k230_env.env b/general/package/canaan_k230_sdk/k230_env.env index fc1992f6..577c4bb3 100644 --- a/general/package/canaan_k230_sdk/k230_env.env +++ b/general/package/canaan_k230_sdk/k230_env.env @@ -28,5 +28,4 @@ nuttex=nuttx-7000000-uart2.bin blinux=ext4load mmc ${mmc_boot_dev_num}:1 0x3000000 /fw_jump_add_uboot_head.bin && ext4load mmc ${mmc_boot_dev_num}:1 0x200000 /${k} && ext4load mmc ${mmc_boot_dev_num}:1 0x2200000 /k.dtb && bootm 0x3000000 - 0x2200000; blinuxilp32= setenv k Image_ilp32 && run blinux; bnuttx=ext4load mmc ${mmc_boot_dev_num}:1 0x7000000 /${nuttex} && boot_baremetal 0 0x${fileaddr} 0x${filesize}; -wjx=xxxx ethaddr=22:22:22:22:22:22 From 6eadcd7c78afd68f28943b1d2671dafa9add0abd Mon Sep 17 00:00:00 2001 From: wangjianxin Date: Tue, 3 Jun 2025 10:38:10 +0800 Subject: [PATCH 13/14] env modify --- general/package/canaan_k230_sdk/k230_env.env | 3 +++ 1 file changed, 3 insertions(+) diff --git a/general/package/canaan_k230_sdk/k230_env.env b/general/package/canaan_k230_sdk/k230_env.env index 577c4bb3..1fd15347 100644 --- a/general/package/canaan_k230_sdk/k230_env.env +++ b/general/package/canaan_k230_sdk/k230_env.env @@ -29,3 +29,6 @@ blinux=ext4load mmc ${mmc_boot_dev_num}:1 0x3000000 /fw_jump_add_uboot_head.bin blinuxilp32= setenv k Image_ilp32 && run blinux; bnuttx=ext4load mmc ${mmc_boot_dev_num}:1 0x7000000 /${nuttex} && boot_baremetal 0 0x${fileaddr} 0x${filesize}; ethaddr=22:22:22:22:22:22 +wlandev=rtl8189fs-generic +wlanssid=H3C_wjx +wlanpass=123456789 From efddf826dccce0feb6d383b220b28768dc22f699 Mon Sep 17 00:00:00 2001 From: wangjianxin Date: Thu, 5 Jun 2025 11:08:34 +0800 Subject: [PATCH 14/14] toolchain change to buildroot gcc --- Makefile | 8 +-- .../configs/k230_canmv_01studio_defconfig | 18 +------ .../buildroot_patch/0001-support-gcc-14.patch | 54 ------------------- 3 files changed, 2 insertions(+), 78 deletions(-) delete mode 100644 general/package/canaan_k230_sdk/buildroot_patch/0001-support-gcc-14.patch diff --git a/Makefile b/Makefile index fb97acb7..f6cacd27 100644 --- a/Makefile +++ b/Makefile @@ -36,13 +36,7 @@ defconfig: prepare prepare: @if test ! -e $(TARGET)/buildroot-$(BR_VER); then \ wget -c -q $(BR_LINK)/$(BR_VER).tar.gz -O $(BR_FILE); \ - mkdir -p $(TARGET); tar -xf $(BR_FILE) -C $(TARGET); \ - if grep "BR2_OPENIPC_SOC_FAMILY=\"k230\"" $(CONFIG) >/dev/null ; then \ - $(TARGET)/buildroot-$(BR_VER)/support/scripts/apply-patches.sh -s \ - $(TARGET)/buildroot-$(BR_VER)/ \ - general/package/canaan_k230_sdk/buildroot_patch/ *.patch; fi; \ - fi - + mkdir -p $(TARGET); tar -xf $(BR_FILE) -C $(TARGET); fi help: @printf "BR-OpenIPC usage:\n \ diff --git a/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig b/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig index 98cccf35..8b29582c 100644 --- a/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig +++ b/br-ext-chip-canaan/configs/k230_canmv_01studio_defconfig @@ -1,22 +1,6 @@ BR2_riscv=y BR2_RISCV_ISA_RVC=y -BR2_RISCV_ISA_RVV=y - -# Toolchain -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="https://kendryte-download.canaan-creative.com/k230/downloads/dl/gcc/Xuantie-900-gcc-linux-6.6.0-glibc-x86_64-V3.0.2-20250410.tar.gz" -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="riscv64-unknown-linux-gnu" -BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_6=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y -# BR2_TOOLCHAIN_EXTERNAL_INET_RPC is not set -BR2_TOOLCHAIN_EXTERNAL_CXX=y -BR2_TOOLCHAIN_EXTERNAL_FORTRAN=y -BR2_TOOLCHAIN_EXTERNAL_OPENMP=y - -# Filesystem -BR2_TARGET_OPTIMIZATION="-mcpu=c908v -Wno-implicit-function-declaration -Wno-incompatible-pointer-types" +BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_DL_DIR="$(TOPDIR)/../../dl" BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL)/package/canaan_k230_sdk/canaan_k230_post-image.sh" diff --git a/general/package/canaan_k230_sdk/buildroot_patch/0001-support-gcc-14.patch b/general/package/canaan_k230_sdk/buildroot_patch/0001-support-gcc-14.patch deleted file mode 100644 index 51cc954f..00000000 --- a/general/package/canaan_k230_sdk/buildroot_patch/0001-support-gcc-14.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 99d0e3e9da9aaf4c4cbf6a4b10d2ad558e65ed61 Mon Sep 17 00:00:00 2001 -From: wangjianxin -Date: Fri, 30 May 2025 11:53:35 +0800 -Subject: [PATCH] support gcc 14 - ---- - toolchain/Config.in | 5 +++++ - .../toolchain-external-custom/Config.in.options | 4 ++++ - 2 files changed, 9 insertions(+) - mode change 100644 => 100755 toolchain/Config.in - mode change 100644 => 100755 toolchain/toolchain-external/toolchain-external-custom/Config.in.options - -diff --git a/toolchain/Config.in b/toolchain/Config.in -old mode 100644 -new mode 100755 -index bd4f80bd..d0483628 ---- a/toolchain/Config.in -+++ b/toolchain/Config.in -@@ -792,10 +792,15 @@ config BR2_TOOLCHAIN_GCC_AT_LEAST_13 - bool - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - -+config BR2_TOOLCHAIN_GCC_AT_LEAST_14 -+ bool -+ select BR2_TOOLCHAIN_GCC_AT_LEAST_13 -+ - # This order guarantees that the highest version is set, as kconfig - # stops affecting a value on the first matching default. - config BR2_TOOLCHAIN_GCC_AT_LEAST - string -+ default "14" if BR2_TOOLCHAIN_GCC_AT_LEAST_14 - default "13" if BR2_TOOLCHAIN_GCC_AT_LEAST_13 - default "12" if BR2_TOOLCHAIN_GCC_AT_LEAST_12 - default "11" if BR2_TOOLCHAIN_GCC_AT_LEAST_11 -diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options -old mode 100644 -new mode 100755 -index 5554d567..838ac79a ---- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options -+++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options -@@ -46,6 +46,10 @@ choice - Set to the gcc version that is used by your external - toolchain. - -+config BR2_TOOLCHAIN_EXTERNAL_GCC_14 -+ bool "14.x" -+ select BR2_TOOLCHAIN_GCC_AT_LEAST_14 -+ - config BR2_TOOLCHAIN_EXTERNAL_GCC_13 - bool "13.x" - select BR2_TOOLCHAIN_GCC_AT_LEAST_13 --- -2.46.0 -