pull/1823/merge
wangjianxin-canaan 2025-06-08 16:05:54 +08:00 committed by GitHub
commit c4f59e45f4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 169 additions and 1 deletions

3
.gitignore vendored
View File

@ -1,4 +1,5 @@
buildroot-*/
output/
buildroot-*
.DS_Store
.DS_Store
dl/

View File

@ -0,0 +1,43 @@
BR2_riscv=y
BR2_RISCV_ISA_RVC=y
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"
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"
# Packages
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_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_VTUND_OPENIPC=y
BR2_PACKAGE_YAML_CLI=y
BR2_PACKAGE_CANAAN_K230_SDK=y

View File

@ -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"

View File

@ -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_CONF
string "k230 sdk config"
default "k230_canmv_01studio_defconfig"
help
canaan k230 SoCs SDK
https://github.com/kendryte/k230_linux_sdk/
endif

View File

@ -0,0 +1,31 @@
#!/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}
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

View File

@ -0,0 +1,33 @@
################################################################################
#
# canaan k230 sdk
#
################################################################################
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/k230/downloads/dl/openipc ;then \
echo "https://ai.b-bug.org/k230/downloads/dl/openipc"; \
else \
echo "https://kendryte-download.canaan-creative.com/k230/dl/openipc";\
fi ; )
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)
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))

View File

@ -0,0 +1,34 @@
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};
ethaddr=22:22:22:22:22:22
wlandev=rtl8189fs-generic
wlanssid=H3C_wjx
wlanpass=123456789