基于ubuntu18.0.6创建泰山派镜像(保姆级)
sdw4agl
编辑于 2025年01月27日 11:44

一、下载需要的文件

  • 带repo版本的SDK

代码块
Shell
自动换行
复制代码
# 下载链接位于评论区
tspi_linux_sdk_repo_20240131.tar.gz
# 校验文件
tspi_linux_sdk_repo_20240131_md5sum.txt
复制成功
  • buildroot相关库,如果你的网络比较差很有可能编译的时候自动下载失败报错,所以我提供了一个下载好的,直接代替可以避免错误。

代码块
Shell
自动换行
复制代码
buildroot_dl_4c7c9df616fb.tar.gz
# 校验文件
buildroot_dl_4c7c9df616fb_md5sum.txt
复制成功
  • 使用md5sum命令校验文件

代码块
Shell
自动换行
复制代码
tar -xvzf tspi_linux_sdk_repo_20240131.tar.gz
# 与下载下来的txt文件内容做对比
复制成功

二、解压文件

代码块
Shell
自动换行
复制代码
mkdir tspi
mv tspi_linux_sdk_repo_20240131.tar.gz tspi
mv buildroot_dl_4c7c9df616fb.tar.gz tspi
cd tspi
tar -zxvf tspi_linux_sdk_repo_20240131.tar.gz
复制成功

三、同步代码

解压完成后只有.repo目录我们还需要通过repo命令把代码同步出来,运行repo命令需要我们ubuntu安装有git和python否则会报错。

代码块
Shell
自动换行
复制代码
# 更新软件包
sudo apt-get update
# 安装git
sudo apt-get install git -y
# 安装repo
sudo apt install repo -y
# 安装python2,不需要
# 安装repo的时候会顺带安装
sudo apt-get install python2.7
# 安装python3
# 系统自带,无需安装。
sudo apt-get install python3
复制成功

python版本切换设置

代码块
Shell
自动换行
复制代码
# 设置 python2.7
 sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
 # 设置 python3.6
 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2
复制成功

切换到python2.7

代码块
Shell
自动换行
复制代码
sudo update-alternatives --config python
There are 2 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python3.6   2         auto mode
  1            /usr/bin/python2.7   1         manual mode
  2            /usr/bin/python3.6   2         manual mode

Press <enter> to keep the current choice[*], or type selection number: 1
复制成功

同步代码

代码块
Shell
自动换行
复制代码
.repo/repo/repo sync -l -j88
# 显示如下文本则同步成功
# repo sync has finished successfully.
复制成功

四、dl库代替

前面我们有提到如果你的的网路不好buildroot的库可能有下载失败报错的问题,所以官方直接提供了下载。

代码块
Shell
自动换行
复制代码
tar -xzf buildroot_dl_4c7c9df616fb.tar.gz
# 查看是否代替成功,注意路径不要错误。
ls buildroot/dl/
复制成功

文件夹功能:

代码块
Shell
自动换行
复制代码
* app:存放上层应用app,主要是qcamera/qfm/qplayer/settings等一些应用程序;
* buildroot:基于buildroot(2018.02-rc03)开发的根文件系统;
* debian:基于debain10开发的根文件系统,支持部分芯片;
* device/rockchip:存放各芯片板级配置和Parameter文件,以及一些编译与打包固件的脚本和预备文件;
* IMAGE:存放每次生成编译时间、XML、补丁和固件目录;
* external:存放第三方相关仓库,包括音频、视频、网络、recovery等;
* kernel:存放kernel 4.4或4.19开发的代码;
* prebuilts:存放交叉编译工具链;
* rkbin:存放Rockchip相关的Binary和工具;
* rockdev:存放编译输出固件;
* tools:存放 Linux和Windows操作系统环境常用工具;
* u-boot:存放基于v2017.09版本进行开发的uboot代码;
* yocto:基于yocto gatesgarth 3.2开发的根文件系统,支持部分芯片;
复制成功

五、安装编译环境

代码块
Shell
自动换行
复制代码
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
复制成功

六、设置泰山派板级配置

代码块
Shell
自动换行
复制代码
./build.sh lunch
# 运行命令选择BoardConfig-rk3566-tspi-v10.mk,这里序列号是3,所以我们选择3并回车
 # 查看配置是否生效
./build.sh -h kernel
# 运行结果
###Current SDK Default [ kernel ] Build Command###
cd kernel
make ARCH=arm64 rockchip_linux_defconfig
make ARCH=arm64 tspi-rk3566-user-v10-linux.img -j12

# 选择buildrot操作系统,注意每次关闭窗口以后要重新运行
export RK_ROOTFS_SYSTEM=buildroot
复制成功

七、编译buildroot的两种方式

1、第一种:全编译

代码块
Shell
自动换行
复制代码
# 只编译模块代码(u-Boot,kernel,Rootfs,Recovery)
./build.sh all
复制成功

2、第二种:按需编译

代码块
Shell
自动换行
复制代码
# U-Boot编译命令
./build.sh uboot
# 查看U-Boot详细编译命令
./build.sh -h uboot

# Kernel编译命令
./build.sh kernel
# 查看Kernel详细编译命令
./build.sh -h kernel

# Recovery编译命令
./build.sh recovery
#查看Recovery详细编译命令
./build.sh -h recovery
# 注:Recovery是⾮必需的功能,有些板级配置不会设置

# Rootfs编译
./build.sh rootfs
# 编译后在 Buildroot ⽬录 output/rockchip_rk3566/images下⽣成 rootfs.ext4。
复制成功

八、电源选择

电源选择,选择不对会编译报错,这里大家记住除了VCCIO4和6选1.8V其他都选3V3,如果没有弹电源选择框则需要安装`sudo apt install whiptail`后再重新编译

九、下载固件的两种方式

1、分别下载相应固件

  • 运行RKDevTool.exe;

  • 导入Tspi_linux_config.cfg配置文件;

  • 按住泰山派REC按键不松,轻触一下RST按键等待进入Loader模式后松开REC按键,当工具发现一个LOADER设备后点击执行升级。

2、整体下载固件

代码块
Shell
自动换行
复制代码
# 进⾏固件打包
./mkfirmware.sh 
# 生成镜像
./build.sh updateimg
# 按照上面的方法进入loader模式
复制成功