1. 移植准备工作
1.1 安装必要的依赖工具
$ sudo apt-get install bison flex libelf-dev libssl-dev u-boot-tools libncurses-dev
1.2 下载源码
- 数据包下载:STM32MP1Dev 页面中的 Yocto_SDK
- 本文使用 3.1 版本,对应 Linux 5.10.61 版本内核
- 文件名为
en.SOURCES-stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17_tar_v3.1.0.xz
- 解压后拷贝出
sources/arm-ost1-linux-gnueabi/linux-stm32mp-5.10.61-stm32mp-r2-r0
- 该目录下有:
.patch
:补丁文件
.config
:补丁配置列表
linux-5.10.61.tar.xz
:Linux 系统源码
README.HOW_TO.txt
series
:补丁文件列表
- 解压
linux-5.10.61
,主版本号.次版本号.修订版本号
- 进入解压后的源码目录,打上补丁(参考
README
)
for p in `ls -1 ../*.patch`; do patch -p1 < $p; done
linux-5.10.61.tar.xz
是单纯的 Linux 源码,打补丁的作用是添加 ST 的各个设备的设备树文件
1.2 配置交叉编译工具链
370 ARCH ?= arm
371 CROSS_COMPILE:=arm-linux-gnueabihf-
1.3 构建内核源码补丁文件的默认配置
make ARCH=arm multi_v7_defconfig fragment*.config
# 成功现象
# (中间省略)
#
# configuration written to .config
#
1.4 拷贝设备树文件