1.为什么要移植Linux内核
因为BootLoader是一个启动引导程序,它是一个裸机代码。
所以只有移植Linux内核之后,才能使用文件管理,内存管理、
设备管理,网络管理,进程管理功能。选择Linux内核的原因
是Linux内核源代码开源,其他系统是不开源。
2.Linux内核移植流程
3.1获取源代码
-
从Linux内核官网下载
linux-5.4.104.tar.gz
Linux:内核的名字
5:主版本号
4:次版本号
104:修订版本号
-
从ST厂商获取
STM32MP1Dev - STM32MP1 OpenSTLinux Developer Package - STMicroelectronics
在ubuntu18.04上能够编译通过最高版本的内核是5.10.61,所以选择
3.1.0(ST给镜像包取的版本号名字)版本下载即可。
-
BSP(板级开发支持包)中获取
-
从之前同系列的芯片获取相关内核
3.2配置编译
-
从ST官方下载内核镜像源代码
en.SOURCES-stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17_tar_v3.1.0.xz
-
将上述的镜像包放到ubuntu中并解压
cd
mkdir kernel
将镜像文件放到上述kernel目录下
==
mv xxxx/en.SOURCES-stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17_tar_v3.1.0.xz' .
==tar -xvf en.SOURCES-stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17_tar_v3.1.0.xz
<