“Linux内核-配置及编译”的版本间的差异

来自华清远见研发中心
跳转至: 导航搜索
添加STMicroelectronics官方补丁
生成标准板配置文件
第20行: 第20行:
  
 
==生成标准板配置文件==
 
==生成标准板配置文件==
 +
生成multi_v7_defconfig默认配置
 +
linux@ubuntu:$ make ARCH=arm multi_v7_defconfig "fragment*.config"
 +
在默认multi_v7_defconfig配置中加入ST官方提供的fragment config
 +
<pre><nowiki>
 +
linux@ubuntu:$ for f in `ls -1 ../fragment*.config`; do scripts/kconfig/merge_config.sh -m -r .config $f; done
 +
linux@ubuntu:$ yes '' | make ARCH=arm oldconfig
 +
</nowiki></pre>
 +
生成自己的默认配置文件
 +
linux@ubuntu:$ cp .config arch/arm/configs/stm32_fsmp1a_defconfig
 +
取消git中的SHA1
 +
linux@ubuntu:$ echo "" > .scmversion
 +
 
==配置内核==
 
==配置内核==
 
==编译内核==
 
==编译内核==

2020年7月27日 (一) 16:22的版本

解压内核

建立源码目录

linux@ubuntu:$ cd ~/ FS-MP1A/stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24/sources/arm-ostl-linux-gnueabi/linux-stm32mp-5.4.31-r0

48-1-1-1.png
该目录下以patch结尾的文件为ST官方提供的补丁文件,l linux-5.4.31.tar.xz为标准linux源码包。

解压标准内核源码包

linux@ubuntu:$ tar -xvf linux-4.19.94.tar.xz

48-1-1-2.png
进入内核源码目录下

linux@ubuntu:$ cd linux-5.4.31

48-1-1-3.png

添加STMicroelectronics官方补丁

解压linux内核源码后得到的是Linux社区的标准内核源码,接下来需要将ST官方提供的源码补丁添加到标准内核中。

linux@ubuntu:$ for p in `ls -1 ../*.patch`; do patch -p1 < $p; done

该命令会将上层目录下所有的patch补丁文件应用到当前的内核中。

生成标准板配置文件

生成multi_v7_defconfig默认配置

linux@ubuntu:$ make ARCH=arm multi_v7_defconfig "fragment*.config"

在默认multi_v7_defconfig配置中加入ST官方提供的fragment config

linux@ubuntu:$ for f in `ls -1 ../fragment*.config`; do scripts/kconfig/merge_config.sh -m -r .config $f; done
linux@ubuntu:$ yes '' | make ARCH=arm oldconfig

生成自己的默认配置文件

linux@ubuntu:$ cp .config arch/arm/configs/stm32_fsmp1a_defconfig

取消git中的SHA1

linux@ubuntu:$ echo "" > .scmversion

配置内核

编译内核

编译内核模块

生成设备树

配置tftp