一、 编译环境
1、物理机配置:
(1)CPU:INTEL I7 6700/4核8线程/2.8GHz
(2)内存:16GB
(3)硬盘:500GB
2、操作系统:Linux ubuntu-22.04.3-desktop-amd64
二、编译步骤
步骤1 下载Linux系统SDK镜像文件
目标文件名:tspi_linux_sdk_20230916.tar.gz
(包含在泰山派开发板资料包中的“第05章.【立创·泰山派】系统SDK”文件夹下的“【SDK】Linux”文件夹里)
步骤2 将镜像文件复制到编译环境中
方法1. 通过SSH工具软件中带的TFTP
方法2. 通过SAMBA协议建立磁盘映射
步骤3 解压缩镜像文件
命令:sudo tar -zxvf tspi_linux_sdk_20230916.tar.gz
(随后输入ROOT用户口令,如果不想显示解压缩日志,可以将“-”后面的参数“v”去掉,该命令运行需要耐心等待)
步骤4 编译环境配置
命令:sudo apt-get install git ssh make gcc libssl-dev liblz4-tool expect \
g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support \
qemu-user-static live-build bison flex fakeroot cmake gcc-multilib \
g++-multilib unzip device-tree-compiler ncurses-dev
(上述命令需要逐行复制粘贴,每行结尾处的“\”表明该命令尚未结束,下一行会出现“>”符号,可以接着输入下一行命令内容。该条命令目的是安装系统编译所需要的相关软件,共计97项)
步骤5 泰山派SDK板级配置
方法1. 确认当前目录为包含“build.sh”文件的目录,执行命令:
sudo ./build.sh device/rockchip/rk356x/BoardConfig-rk3566-tspi-v10.mk
方法2. 执行命令:sudo ./build.sh lunch,然后选择BoardConfig-rk3566-tspi-v10.mk,这里序列号是3。
(完成上述配置命令后,检查配置是否生效,命令如下:sudo ./build.sh -h kernel)
步骤6 系统编译
【1】设置环境变量,选择buildroot文件系统,命令如下:
export RK_ROOTFS_SYSTEM=buildroot
(注意,该命令无需root权限,即不需要加“sudo”)
【2】执行全编译,命令如下:
sudo ./build.sh all –j8
错误1 缺python2
解决方法:安装python
命令:sudo apt-get install python
错误2 /usr/bin/env路径下找不到python执行文件
解决方法:设置软链接(类似于快捷方式)
命令:sudo ln -s /usr/bin/python3 /usr/bin/python
【3】配置电源域(按照手册配置)
错误3 指定路径下缺少.config文件
解决方法:重新执行编译命令
命令:sudo ./build.sh all –j8
错误4 该命令不能用root用户执行
解决方法:在environment文件中添加忽略检测命令
命令:FORCE_UNSAFE_CONFIGURE=1
错误5 宏定义重复声明错误
解决方法:把mksquashfs.h头文件中声明的宏,前面加上extern修饰符。然后把那个文件夹下面所有的.o文件都删除,再重新编译
命令: (1)查找文件:sudo find -name "mksquashfs.o"
(2)删除文件:sudo rm 完整路径+mksquashfs.o
错误6 缺少配置文件
解决方法:单独编译RECOVERY
命令:sudo ./build.sh recovery –j8
错误7 同错误5
解决方法:把mksquashfs.h头文件中声明的宏,前面加上extern修饰符。然后把那个文件夹下面所有的.o文件都删除,再重新编译(注意:这次通过查找会找到2个路径下的结果,要删除路径中带“recovery”的那个)
命令: (1)查找文件:sudo find -name "mksquashfs.o"
(2)删除文件:sudo rm 完整路径+mksquashfs.o