Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试

1、采用程序配置关闭“内核模块验证”

默认配置文件“stm32mp1_atk_defconfig”路径为“arch/arm/configs;

使用VSCode打开默认配置文件“stm32mp1_atk_defconfg”,然后将下面的4条语句屏蔽掉,如下:

CONFIG_MODULE_SIG=y

CONFIG_MODULE_SIG_ALL=y

CONFIG_MODULE_SIG_SHA256=y

CONFIG_MODULE_SIG_HASH="sha256"

见下图:

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第1张图片

屏蔽后见下图:

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第2张图片

2、采用linux图形配置界面关闭“内核模块验证”

1)、打开终端

输入“ls回车

输入“cd linux/回车”,切换到“linux”目录

输入“ls回车”,列出“linux”目录下的文件和文件夹

输入“cd atk-mp1/回车”,切换到“atk-mp1”目录

输入“ls回车”,列出“atk-mp1”目录下的文件和文件夹

输入“cd linux/回车”,切换到“linux”目录

输入“ls回车”,列出“linux”目录下的文件和文件夹

输入“cd my_linux/回车”,切换到“my_linux”目录

输入“ls回车”,列出“my_linux”目录下的文件和文件夹

输入“cd linux-5.4.31/回车”,切换到“linux-5.4.31”目录

输入“ls回车”,列出“linux-5.4.31”目录下的文件和文件夹

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第3张图片

2)、输入“make menuconfig回车”,打开linux的图形化配置界面;

见下图:

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第4张图片

3)、移动向下光标键至“Enable loadable module support”

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第5张图片

4)、按下“回车”,然后移动向下光标键至“Module signature verification”;

见下图:

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第6张图片

5)、按“N”,见下图:

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第7张图片

6)、按“ESC键”直至出现下面的界面:

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第8张图片

7)、按“Y”,保存配置。

输入“vi  .config回车”,打开“.config”文件,查看配置是否正确;

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第9张图片

8)、输入“/CONFIG_MODULE_SIG”,搜索“CONFIG_MODULE_SIG

见下图:

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第10张图片

9)、按“ESC键”,按“:q!回车”,不保存退出;

10)、将“.config”文件保存到“arch/arm/configs/stm32mp1_atk_defconfig”中;

输入“make menuconfig回车”,打开linux的图形化配置界面;

移动向右光标键至“Save”,然后按下“回车”

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第11张图片

11)、删除“.config”,改为“./arch/arm/configs/stm32mp1_atk_defconfig

见下图:

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第12张图片

12)、移动向下光标键至“Ok”,按“O”,执行保存。

检查有没有保存错误,输入“vi  arch/arm/configs/stm32mp1_atk_defconfig回车

输入“/CONFIG_MODULE_SIG”,搜索“CONFIG_MODULE_SIG

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第13张图片

13)、保存正确,按“ESC键”,按“:q!回车”,不保存退出;

注意:

后续试验中,只要通过“图形化界面”修改了Linux内核配置,最好及时将其保存到“stm32mp1_atk_defconfig”文件。因为图形化界面修改的配置只是暂时保存到“.confg” 文件里面,旦使用“make clean”清理工程,那么“.confg”文件就会被删除掉,所有的配置也就丢失了。

3、关闭内核log信息时间戳

1)、输入“make menuconfig回车”,打开linux的图形化配置界面;

移动向下光标键至“Kernel hacking

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第14张图片

2)、按下“回车”,移动向下光标键至“printk and dmesg options”,见下图:

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第15张图片

3)、按下“回车”,移动向下光标键至“Show timing information on printks”,见下图:

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第16张图片

4)、按“N”,见下图:

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第17张图片

5)、按“ESC键”直至出现下面的界面

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第18张图片

6)、按下“Y

输入“make menuconfig回车”,打开linux的图形化配置界面;

移动向右光标键至“Save”,然后按下“回车”

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第19张图片

7)、删除“.config”,改为“./arch/arm/configs/stm32mp1_atk_defconfig

见下图:

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第20张图片

8)、移动向下光标键至“Ok”,按“O”,执行保存。

4、编译

1)、输入“make  uImage dtbs LOADADDR=0XC2000040 -j8回车

#编译镜像文件和设备树,linux内核在DDR中的加载地址为0XC2000040,-j8表示采用8线程编译

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第21张图片

2)、输入“cp arch/arm/boot/uImage /home/zgq/linux/tftpboot/ -f回车”,执行文件拷贝;

输入“cp arch/arm/boot/dts/stm32mp157d-atk.dtb /home/zgq/linux/tftpboot/ -f回车”,执行文件拷贝

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第22张图片

3)、将开发板通过网线连接到路由器,同时开启虚拟机,然后给开发板上电。

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试_第23张图片

至此,初步实现了linux移植。

你可能感兴趣的:(产品研发,linux,运维,服务器)