1. 编译前环境准备
首先将SDK源码下载到本地环境
1.1 安装 SDK 基础依赖
打开终端,执行以下命令安装 SDK 编译所需的基础工具:
sudo apt-get update
sudo apt-get install openssh-server vim git fakeroot make automake \
autoconf libtool libssl-dev bc dosfstools mtools parted iproute2 kmod libyaml-dev \
device-tree-compiler python-is-python3 flex bison build-essential u-boot-tools \
libncurses-dev lib32stdc++6 lib32z1 libc6:i386 gawk
说明:这一步安装了 SDK 通用的基础依赖。其中 gawk 是 Buildroot 在 target-finalize 阶段必须用到的工具,Ubuntu 默认只有 mawk,务必安装 gawk,否则编译会在最后收尾阶段报错。
但是,本步骤不包含 Python 3.10 主机版开发库,Buildroot 在编译过程中会用到 Python 3.10,需要单独处理(见 1.2)。
安装主机版 Python 3.10 共享库( 首次编译容易报错)
Buildroot 编译 host-python3 3.10.4 时,会执行刚编译出来的 python3.10 来生成内部文件,此时动态链接器需要找到 libpython3.10.so.1.0。如果系统里没有这个库,编译会失败。
本文档采用的办法是从源码编译安装 Python 3.10.4 并启用共享库。
1.2.1 安装编译 Python 所需的依赖
text
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev \
libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev1.2.2 下载并编译 Python 3.10.4
cd /tmp
wget https://www.python.org/ftp/python/3.10.4/Python-3.10.4.tgz
tar -xf Python-3.10.4.tgz
cd Python-3.10.4关键配置:必须加 –enable-shared,否则不会生成 libpython3.10.so.1.0。
./configure --enable-optimizations --enable-shared
make -j$(nproc)
sudo make altinstall说明:使用 altinstall 而不是 install,避免覆盖系统自带的 Python 3.8。
1.2.3 注册共享库路径
echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/python3.10.conf
sudo ldconfig1.2.4 验证
ldconfig -p | grep libpython3.10期望输出(必须能看到这一行):
libpython3.10.so.1.0 (libc6,x86-64) => /usr/local/lib/libpython3.10.so.1.0
如果能看到,说明主机版 Python 3.10 共享库已就绪,可以继续编译 SDK。
2. SDK 配置与编译
2.1 进入 SDK 根目录
cd ~/ypt153evb
注:请根据源码实际放置路径修改
2.2 运行配置脚本
./yz_build.sh config按提示依次选择你所需要的配置(参考如下):
配置完成后,脚本会自动在 device/config/chips/t153/configs/t153_nand_base/ 下设置好 BoardConfig.mk、sys_partition.fex、env.cfg 等文件。
2.3 开始编译
./yz_build.sh脚本会自动依次编译:kernel → modules → boot.img → dts → rootfs → buildroot。

首次编译时间较长
生成的 t153_linux_t153_nand_base_uart0.img 即为可烧录到板子上的完整固件包。
3. 常见问题与解决方法
编译报错:libpython3.10.so.1.0: cannot open shared object file
现象:
原因:主机系统缺少 Python 3.10 的共享库,Buildroot 编译 host-python3 时无法加载。
解决:按第 1.2 节从源码编译安装 Python 3.10.4(务必加 –enable-shared),并执行 ldconfig 注册路径。验证 ldconfig -p | grep libpython3.10 能看到 /usr/local/lib/libpython3.10.so.1.0 后重新编译。
sudo apt install libpython3.10-dev 提示“无法定位软件包”
尝试安装 python3.10-dev:
sudo apt install python3.10-dev如果仍找不到,直接采用第 1.2 节的源码编译方案,这是最可靠的方式。
编译报错:gawk: command not found
原因:Buildroot 在 target-finalize 阶段需要 gawk,Ubuntu 默认只有 mawk。
sudo apt install gawk安装后重新执行 ./yz_build.sh,无需 make clean,会从上次中断处继续编译。
在 SDK 根目录执行 make clean / make distclean 报错
原因:SDK 根目录没有顶层 Makefile,make clean 需要在 Buildroot 输出目录中执行。
cd ~/ypt153evb/out/t153/t153_nand_base/buildroot/buildroot
make clean如需彻底清理 host-python3 的编译产物:
rm -rf ~/ypt153evb/out/t153/t153_nand_base/buildroot/buildroot/build/host-python3-3.10.4注意:不要直接删除 SDK 根目录或源码目录来“重来”,那样无法解决主机缺库的问题。
编译中途失败后想重新编译
按以下顺序操作:
进入 Buildroot 输出目录清理:
cd ~/ypt153evb/out/t153/t153_nand_base/buildroot/buildroot
make clean回到 SDK 根目录重新编译:
cd ~/ypt153evb
./yz_build.sh如果只是某一步失败(如 host-python3 或 target-finalize),也可以只删除对应目录让它单独重编,无需完整 make clean。
4. 快速检查清单(编译前自查)
□ 已执行第 1.1 节的基础依赖安装(含 gawk)
□ 已从源码安装 Python 3.10.4 并加 –enable-shared
□ 已执行 echo “/usr/local/lib” | sudo tee /etc/ld.so.conf.d/python3.10.conf && sudo ldconfig
□ ldconfig -p | grep libpython3.10 能看到 /usr/local/lib/libpython3.10.so.1.0
□ 已用 ./yz_build.sh config 完成板卡配置
□ 在 SDK 根目录执行 ./yz_build.sh 开始编译
□ 编译完成,生成 t153_linux_t153_nand_base_uart0.img 固件
最后编辑:林晓燕 更新时间:2026-10-15 21:16