imx8qm Linux L4.9.51 BETA2源码下载及编译环境搭建

2024-06-17 07:32

本文主要是介绍imx8qm Linux L4.9.51 BETA2源码下载及编译环境搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

 

1.编译配置

$ DISTRO=<distro name> MACHINE=<machine name> source fsl-setup-release.sh -b <build dir>

 

DISTRO如下:

 

MACHINE=imx8qmmek

 

-b imx8-build编译生成文件路径

 

$ DISTRO=fsl-imx-x11 MACHINE=imx8qmmek source ./fsl-setup-release.sh -b imx8-build

 

注意以下两个文件:

2.选择yocto项目编译选项

$ bitbake fsl-image-validation-imx

 

3.bitbake选项

4.u-boot配置

uboot一般配置UBOOT_CONFIG选项,它在local.conf文件中,默认配置是sd boot,配置选项如下:

EMMC启动则配置如下:

 

$ echo "UBOOT_CONFIG = \"emmc\"" >> conf/local.conf

 

5.重新打开终端需要再次运行环境变量

$ source setup-environment imx-buiild

 

编译生成路径:imx-yocto-bsp\imx8-build\tmp\deploy\images\imx8qmmek

 

6.代码的位置

  Linux的kernel的源代码在:

imx-yocto-bsp\imx8-build\tmp\work\imx8qmmek-poky-linux\linux-imx\4.9.51-r0\git

  git是一个链接文件,实际的源代码在:

imx-yocto-bsp\imx8-build\tmp\work-shared\imx8qmmek\kernel-source

 

u-boot的源代码的位置在

imx-yocto-bsp\imx8-build\tmp\work\imx8qmmek-poky-linux\u-boot-imx\2017.03-r0\git

 

7. 编译出来的image的位置

  编译出来的image在 imx-yocto-bsp\imx8-build\tmp\deploy\images\imx8qmmek目录下

  包括的u-boot zImage rootfs

 

8. 编译的log信息

  在我们编译的过程中,在Terminal中是看不到编译的log信息的,那么我们怎么直到编译的时候我们的代码有没有编译到,有没有警告呢?

  其实yocto已经帮我们保存了编译的log信息。

  Linux kernel的编译的log就在

imx-yocto-bsp\imx8-build\tmp\work\imx8qmmek-poky-linux\linux-imx\4.9.51-r0\temp

  目录下。

  例如 log.do_compile就是编译内核的log信息 。

  

  u-boot的编译的log就在\imx-yocto-bsp\imx8-build\tmp\work\imx8qmmek-poky-linux\u-boot-imx\2017.03-r0\temp目录下

  

  其他的也类似在对应的目录的temp目录下。

 

9. 如何单独编译kernel和u-boot

  我们修改了kernel或者u-boot的源代码,直接运行bitbake fsl-image-qt5是不会编译我们修改的源代码的。所以就需要我们单独编译源代码。

 

 配置menuconfig

  bitbake -c menuconfig -v linux-imx 

  

  单独编译kernel

  bitbake -c compile -f -v linux-imx 

  bitbake linux-imx -c compile_kernelmodules -f -v    

  bitbake -c deploy -f -v linux-imx  

  bitbake fsl-image-validation-imx

  执行上面的命令将重新编译内核、设备树、模块。并且重新生成rootfs  。

  实际上我们修改了内核,实际上往往不需要更新rootfs的,而我们 执行bitbake fsl-image-validation-imx时会重新生成rootfs,这个操作会耗费很长的时间。

  所以我们也可以只执行

  bitbake -c compile -f -v linux-imx 

  bitbake linux-imx -c compile_kernelmodules -f -v    

  bitbake -c deploy -f -v linux-imx 

  这两个命令,然后再自己把zImage和设备树文件拷出来。

  执行上面个三个命令编译出来的zImage和设备树在

imx-yocto-bsp\imx8-build\tmp\work\imx8qmmek-poky-linux\linux-imx\4.9.51-r0\deploy-linux-imx

  目录下。

  

  单独编译u-boot

  bitbake -c compile -f -v u-boot-imx

  bitbake -c deploy -f -v u-boot-imx

  bitbake fsl-image-validation-imx

  同样单独编译完u-boot,执行bitbake fsl-image-validation-imx时会重新生成rootfs,会耗费很长的时间。

  所以我们也可以只执行

  bitbake -c compile -f -v u-boot-imx

  bitbake -c deploy -f -v u-boot-imx

  

 然后把u-boot拷出来

 编译出来的u-boot在

imx-yocto-bsp\imx8-build\tmp\work\imx8qmmek-poky-linux\u-boot-imx\2017.03-r0\deploy-u-boot-imx目录下。

 

这篇关于imx8qm Linux L4.9.51 BETA2源码下载及编译环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1068815

相关文章

Linux内核定时器使用及说明

《Linux内核定时器使用及说明》文章详细介绍了Linux内核定时器的特性、核心数据结构、时间相关转换函数以及操作API,通过示例展示了如何编写和使用定时器,包括按键消抖的应用... 目录1.linux内核定时器特征2.Linux内核定时器核心数据结构3.Linux内核时间相关转换函数4.Linux内核定时

Linux镜像文件制作方式

《Linux镜像文件制作方式》本文介绍了Linux镜像文件制作的过程,包括确定磁盘空间布局、制作空白镜像文件、分区与格式化、复制引导分区和其他分区... 目录1.确定磁盘空间布局2.制作空白镜像文件3.分区与格式化1) 分区2) 格式化4.复制引导分区5.复制其它分区1) 挂载2) 复制bootfs分区3)

SpringBoot返回文件让前端下载的几种方式

《SpringBoot返回文件让前端下载的几种方式》文章介绍了开发中文件下载的两种常见解决方案,并详细描述了通过后端进行下载的原理和步骤,包括一次性读取到内存和分块写入响应输出流两种方法,此外,还提供... 目录01 背景02 一次性读取到内存,通过响应输出流输出到前端02 将文件流通过循环写入到响应输出流

python项目环境切换的几种实现方式

《python项目环境切换的几种实现方式》本文主要介绍了python项目环境切换的几种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 如何在不同python项目中,安装不同的依赖2. 如何切换到不同项目的工作空间3.创建项目

C++多线程开发环境配置方法

《C++多线程开发环境配置方法》文章详细介绍了如何在Windows上安装MinGW-w64和VSCode,并配置环境变量和编译任务,使用VSCode创建一个C++多线程测试项目,并通过配置tasks.... 目录下载安装 MinGW-w64下载安装VS code创建测试项目配置编译任务创建 tasks.js

Linux服务器数据盘移除并重新挂载的全过程

《Linux服务器数据盘移除并重新挂载的全过程》:本文主要介绍在Linux服务器上移除并重新挂载数据盘的整个过程,分为三大步:卸载文件系统、分离磁盘和重新挂载,每一步都有详细的步骤和注意事项,确保... 目录引言第一步:卸载文件系统第二步:分离磁盘第三步:重新挂载引言在 linux 服务器上移除并重新挂p

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

Linux下屏幕亮度的调节方式

《Linux下屏幕亮度的调节方式》文章介绍了Linux下屏幕亮度调节的几种方法,包括图形界面、手动调节(使用ACPI内核模块)和外接显示屏调节,以及自动调节软件(CaliseRedshift和Reds... 目录1 概述2 手动调节http://www.chinasem.cn2.1 手动屏幕调节2.2 外接显

Linux(centos7)虚拟机没有IP问题及解决方案

《Linux(centos7)虚拟机没有IP问题及解决方案》文章介绍了在CentOS7中配置虚拟机网络并使用Xshell连接虚拟机的步骤,首先,检查并配置网卡ens33的ONBOOT属性为yes,然后... 目录输入查看ZFhrxIP命令:ip addr查看,没有虚拟机IP修改ens33配置文件重启网络Xh

Java编译错误java.lang.NoSuchFieldError的解决方案详析

《Java编译错误java.lang.NoSuchFieldError的解决方案详析》java.lang.NoSuchFieldError是Java中的一种运行时错误,:本文主要介绍Java编译错... 目录前言解决方案1. 统一JDK版本环境2. 优化maven-compiler-plugin配置3. 清