一、  编译环境

1、物理机配置:

1CPUINTEL I7 6700/48线程/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”文件夹下的“【SDKLinux”文件夹里)

步骤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

三、编译成果

【备注】根据嘉立创吴工授课及本人实践总结编写, 难免存在错误, 请大家(佬) 批评指正。

 

\n#学习资料#
#学习资料#
立创开发板
全部评论 默认 最新
210987lL264q
2024-05-31 13:55:28 来自未知
关于错误7,我把mksquashfs.o文件删了,再次使用sudo ./build.sh recovery 或者 ./build.sh recovery 编译,还是会报相同的错。 2024-05-31T13:47:29 >>> host-squashfs 3de1687d7432ea9b302c2db9521996f506c140a3 Building Done in 5s (error code: 2) Command exited with non-zero status 2 you take 0:06.30 to build recovery ERROR: Running build_recovery failed! ERROR: exit code 2 from line 858: /usr/bin/time -f "you take %E to build recovery" $COMMON_DIR/mk-ramdisk.sh recovery.img $RK_CFG_RECOVERY
098765oO660z
2024-06-01 09:16:51 来自未知
解决了吗,我也遇到这个问题了。查的时候发现mksquashfs.h里全extern过了
098765oO660z
2024-06-02 14:49:45 来自未知
我ubuntu从2204换成1804就没这个问题了。编译很顺利。
987654nN351I
2024-06-13 15:23:21 来自未知
所有结构体都要加extern修饰符,然后删掉路径下的所有.o文件,实测过很多次,基本没问题。
07360583RR
2024-04-29 16:13:55 来自未知
感谢分享,学到了 不过编译遇到了新的问题 求助下 https://oshwhub.com/forum/post/67df810359344c2aa9fc20e87a50c737
夜魂
2024-03-19 13:44:20 来自未知
这文章太好了,踩过的坑都填上了········ 本来都打算放弃的
098765oO843D
2024-02-15 23:00:49 来自未知
大佬什么时候出一期Debian系统的编译教程,碰到好多问题[流泪]
八木 作者
2024-02-16 16:55:14 来自未知
其实Debian系统的编译,只要将buildroot系统中的根文件系统rootfs替换为Debian的就行了,我尽快写一篇。
VcAIagX64h
2024-09-11 21:37:13 来自未知
我写了一下Debian的https://www.mubu.com/doc/6uMCQOrcnqx,其实只有一个错误要解决,翻遍互联网找到了https://forums.developer.nvidia.com/t/installation-fails-on-wsl/274008/23,感恩
432109nN048H
2024-02-07 21:39:22 来自未知
佬 我解压缩镜像文件sdk以后啥都没有 还是只有一个.gz文件
八木 作者
2024-02-15 14:33:25 来自未知
1、可以看下你下载的压缩文件大小,是不是没有下载成功,也可以用MD5工具验证下载的压缩文件的完整性。 2、可以看下你运行压缩命令后,系统显示的执行结果,是否存在报错提示,或者权限问题。如果存在错误,请根据错误提示针对性处置,也可以在此把错误提示发帖求助;如果是权限问题,可以在tar命令前加“sudo”。 3、可以看下你运行的压缩命令,设置的解压目的路径是哪里,去那里找你所要的解压结果。 希望可以帮助到你!
098765oO660z
2024-06-02 14:49:14 来自未知
我也遇到了这个问题。一开始我也以为是没解压成功,但是。我直接去cd 解压后的目录/(按table),这时候会出现.repo文件夹
B77N3IX7VF
2024-02-07 19:57:02 来自未知
好帖支持!
没有更多啦~