【SiRider S1 芯擎工业开发板测评】编译及下载
siengine sdk
参考 radxa 官方的镜像构建步骤和SE1000 Linux SDK 编译参考手册即可,大致分为如下几个步骤:
- 安装各种依赖
- 下载 sdk
- 解压工具链
- 开始编译
# 基本编译命令
source env.sh
sebuilder all
# 编译 cluster0 kernel
sebuilder ubuntu kernel
# cluster0 kernel menuconfig
sebuilder -M ubuntu kernel
# 编译 cluster1 kernel
sebuilder linux kernel
# cluster1 kernel menuconfig
sebuilder -M linux kernel
可能和我自身环境有关(Ubuntu 22.04.5 LTS)这里有几个需要注意的地方是:
编译
ubuntu rootfs
过程中可能会在最后遇到文件系统编译错误,此时需要更改 scripts 仓库如下文件diff --git a/tools/build_ubuntu_overlayfs.sh b/tools/build_ubuntu_overlayfs.sh index e41dd11..9cb8379 100755 --- a/tools/build_ubuntu_overlayfs.sh +++ b/tools/build_ubuntu_overlayfs.sh @@ -50,7 +50,8 @@ function make_overlayfs_image() { $SUDO_CMD cp -fr $SLT_DIR/ubuntu/etc/gdm3 $UBUNTU_OVERLAYFS_TOP/rootfs/etc/ $SUDO_CMD cp -fr $SLT_DIR/ubuntu/etc/pam.d $UBUNTU_OVERLAYFS_TOP/rootfs/etc/ - schroot_send_cmd "echo root:root|chpasswd && useradd -r -d /var/empty/sshd -s /sbin/nologin -c \"sshd privilege separation user\" sshd" + schroot_send_cmd "echo root:root|chpasswd" + # schroot_send_cmd "echo root:root|chpasswd && useradd -r -d /var/empty/sshd -s /sbin/nologin -c \"sshd privilege separation user\" sshd" $SUDO_CMD umount -R /run/schroot/mount/${UBUNTU_CHROOT_CONFIG_NAME}_overlayfs-* || true dirtmp=`echo ${DEBIAN_TOP#/}` echo "$dirtmp" @@ -82,7 +83,8 @@ function custom_config() { $SUDO_CMD cp -r $SLT_DIR/ubuntu/lib/firmware $UBUNTU_OVERLAYFS_TOP/rootfs/usr/lib/ $SUDO_CMD cp -r $KERNEL_TOP/../kernel_modules/lib $UBUNTU_OVERLAYFS_TOP/rootfs/usr/ - schroot_send_cmd "$NONINTERACTIVE_INSTALL dialog python3-tk python3.9 iperf3 git can-utils gpiod" + schroot_send_cmd "$NONINTERACTIVE_INSTALL dialog python3-tk python3.9 iperf3 git gpiod" + # schroot_send_cmd "$NONINTERACTIVE_INSTALL dialog python3-tk python3.9 iperf3 git can-utils gpiod" schroot_send_cmd "rm /usr/bin/python" || true schroot_send_cmd "rm /usr/bin/python3" || true schroot_send_cmd "ln -s /usr/bin/python3.8 /usr/bin/python3" || true
编译
linux rootfs
过程中可能会在最后遇到找不到 python,此时是需要手动调整下 buildroot 的 python 为 python2:diff --git a/Makefile b/Makefile index 6a1738c34c..7d06557a41 100644 --- a/Makefile +++ b/Makefile @@ -1014,7 +1014,7 @@ defconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile define percent_defconfig # Override the BR2_DEFCONFIG from COMMON_CONFIG_ENV with the new defconfig %_defconfig: $(BUILD_DIR)/buildroot-config/conf $(1)/configs/%_defconfig outputmakefile - python $(TOPDIR)/utils/defconfig_hook.py -m $(1)/configs/$$@ $(BASE_DIR)/.siengineconfig + python2 $(TOPDIR)/utils/defconfig_hook.py -m $(1)/configs/$$@ $(BASE_DIR)/.siengineconfig $$(COMMON_CONFIG_ENV) BR2_DEFCONFIG=$(1)/configs/$$@ \ $$< --defconfig=$(BASE_DIR)/.siengineconfig $$(CONFIG_CONFIG_IN) endef @@ -1030,7 +1030,7 @@ savedefconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile @$(SED) '/BR2_DEFCONFIG=/d' $(CFG_) cat $(CFG_) >> $(CFG_).split - python $(TOPDIR)/utils/defconfig_hook.py -s $(CFG_).split $(BASE_DIR)/.siengineconfig $(BR2_CONFIG) $(CFG_) + python2 $(TOPDIR)/utils/defconfig_hook.py -s $(CFG_).split $(BASE_DIR)/.siengineconfig $(BR2_CONFIG) $(CFG_) rm $(CFG_).split .PHONY: defconfig savedefconfig update-defconfig diff --git a/configs/se1000_ap1_release_defconfig b/configs/se1000_ap1_release_defconfig index 6a68cae8c8..bbfd53c919 100755
下载
主要参考官方的这篇文档: 安装系统到 eMMC/UFS,基本步骤如下:
- 插上电源和调试线
- 按住 FastBoot 按键后上电,板子会进入烧录模式,ttyUSB3 串口会有数据输出
- 解压工程下 tools/siengine_downloader/siengine_downloadtool_linux_V7.6.2.tar.gz 得到 Linux 下的烧录工具
- sdk 中提供了一个简单的烧录脚本 burn.sh 来调用 siengine 的烧录工具 siengine_downloadtool
这里需要注意的是:
- 在烧录单独分区的固件的时候,siengine_downloadtool 貌似会根据
SiPartitionFile_lunx
配置文件来找对应的地址,所以需要将 deploy/build 下的SiPartitionFile_lunx
配置文件都拷贝过来才行,不然这里会报错:no such partttion
tools/siengine_downloader/siengine_downloadtool_linux/ufs-device-configuration.xml
最好也替换为deploy/build/ufs-device-configuration.xml
cd tools/siengine_downloader/siengine_downloadtool_linux
cp deploy/build/ufs-device-configuration.xml ./tools/siengine_downloader/siengine_downloadtool_linux
cp deploy/build/SiPartitionFile_lun* ./tools/siengine_downloader/siengine_downloadtool_linux
cp ./tools/siengine_downloader/burn.sh ./tools/siengine_downloader/siengine_downloadtool_linux
# 烧录 cluster0 kernel
./tools/siengine_downloader/siengine_downloadtool_linux/burn.sh kernel
./tools/siengine_downloader/siengine_downloadtool_linux/burn.sh dtb
# 烧录 cluster1 kernel
./tools/siengine_downloader/siengine_downloadtool_linux/burn.sh linux_kernel
./tools/siengine_downloader/siengine_downloadtool_linux/burn.sh linux_dtb
周易 Z2 SDK
同上,主要参考 radxa 官方的周易Z2 AIPU步骤即可,大致分为如下几个步骤:
在瑞莎下载站下载周易 Z2 SDK 安装包后解压安装
tar -xvf Zhouyi_Z2.tar.gz cd Zhouyi_Z2 chmod +x SETUP.SH ./SETUP.SH cd ../ rm -rf Zhouyi_Z2
- 配置 nn-compiler
- 设置 python 3.8 环境以及安装其依赖