“Linux-4.14.98编译手册”的版本间的差异

来自乐兔兔Wiki
跳到导航 跳到搜索
第7行: 第7行:
 
编译yocto工程前需要先部署Linux开发环境,请参考[[Ubuntu-16.04.6 64位开发环境指导|《Ubuntu-16.04 64位开发环境指导》]]
 
编译yocto工程前需要先部署Linux开发环境,请参考[[Ubuntu-16.04.6 64位开发环境指导|《Ubuntu-16.04 64位开发环境指导》]]
  
===编译完整镜像===
+
===Yocto编译完整镜像===
 
在网盘上下载ltt-imx8m-evm100-yocto.tar.gz,指定fsl-image-qt5-validation-imx 目标进行编译,命令如下:
 
在网盘上下载ltt-imx8m-evm100-yocto.tar.gz,指定fsl-image-qt5-validation-imx 目标进行编译,命令如下:
 
<pre style="color: #3e45a9">
 
<pre style="color: #3e45a9">
第29行: 第29行:
  
 
===Yocto单独编译U-Boot===
 
===Yocto单独编译U-Boot===
ltt-imx8m-evm100-yocto/uboot-imx目录为uboot源码,编译uboot时,要在sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-bsp/u-boot/u-boot-imx_2018.03.bb文件中进行如下修改:
+
ltt-imx8m-evm100-yocto/uboot-imx目录下为uboot源码,编译uboot时,要在:sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-bsp/u-boot/u-boot-imx_2018.03.bb文件中进行如下修改:
 
<pre style="color: #3e45a9">
 
<pre style="color: #3e45a9">
 
UBOOT_SRC ?= "git:///${PWD}/../uboot-imx;protocol=file"
 
UBOOT_SRC ?= "git:///${PWD}/../uboot-imx;protocol=file"
第36行: 第36行:
 
SRCREV = "0f6d1c4ae2ba545ddc08913475faae36b864d2c4"              //节点commit值
 
SRCREV = "0f6d1c4ae2ba545ddc08913475faae36b864d2c4"              //节点commit值
 
</pre>
 
</pre>
使用如下命令查看git分支
+
在uboot-imx目录下使用如下命令查看git分支和commit节点
 
<pre style="color: #3e45a9">
 
<pre style="color: #3e45a9">
 
$ git branch
 
$ git branch
</pre>
 
使用如下命令查看commit节点
 
<pre style="color: #3e45a9">
 
 
$ git log
 
$ git log
 
</pre>
 
</pre>
第58行: 第55行:
 
</pre>
 
</pre>
  
===编译Kernel===
+
===Yocto单独编译Kernel===
 +
ltt-imx8m-evm100-yocto/linux-imx目录下为Kernel源码,编译Kernel时,要在sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-kernel/linux/linux-imx-src-4.14.98.inc文件中进行如下修改:
 +
<pre style="color: #3e45a9">
 +
SRCBRANCH = "ltt_fsl_4.14.98"                                    //分支名
 +
LOCALVERSION = "-${SRCBRANCH}"
 +
KERNEL_SRC ?= "git:///${PWD}/../linux-imx;protocol=file"
 +
SRC_URI = "${KERNEL_SRC};branch=${SRCBRANCH}"
 +
SRCREV = "1a4c66e7a41dc45571dd7f82979db8f103e39703"              //节点commit值
 +
</pre>
 +
在linux-imx目录下使用如下命令查看git分支和commit节点
 +
<pre style="color: #3e45a9">
 +
$ git branch
 +
$ git log
 +
</pre>

2019年12月21日 (六) 14:58的版本

Yocto介绍

    Yocto项目是一个开源协作项目,可帮助开发人员创建基于Linux的定制系统,这些系统专为嵌入式产品而设计,无论产品的硬件架构如何。Yocto Project提供灵活的工具集和开发环境,允许全球的嵌入式设备开发人员通过共享技术,软件堆栈,配置和用于创建这些定制的Linux映像的最佳实践进行协作

Yocto镜像编译

编译yocto工程前需要先部署Linux开发环境,请参考《Ubuntu-16.04 64位开发环境指导》

Yocto编译完整镜像

在网盘上下载ltt-imx8m-evm100-yocto.tar.gz,指定fsl-image-qt5-validation-imx 目标进行编译,命令如下:

$ tar -zxvf ltt-imx8m-evm100-yocto.tar.gz
$ cd ltt-imx8m-evm100-yocto
$ DISTRO=fsl-imx-xwayland MACHINE=imx8mqevk source fsl-setup-release.sh -b build-xwayland
$ bitbake fsl-image-qt5-validation-imx

第一次编译Yocto时会非常耗时,在网速好的情况下也需要好几个小时, 如果编译中途出错,可以ctrl+c中断后,重新执行命令

$ bitbake  fsl-image-qt5-validation-imx

如果编译过程中无意关掉了终端,那么重新打开终端进入ltt-imx8m-evm100-yocto目录后只需要执行以下命令就可以重新进入编译环境

$ source setup-environment build-xwayland

编译完成后,可在下面的目录中找到编译好的镜像文件

ltt-imx8m-evm100-yocto/build-xwayland/tmp/deploy/images/imx8mqevk

Yocto单独编译U-Boot

ltt-imx8m-evm100-yocto/uboot-imx目录下为uboot源码,编译uboot时,要在:sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-bsp/u-boot/u-boot-imx_2018.03.bb文件中进行如下修改:

UBOOT_SRC ?= "git:///${PWD}/../uboot-imx;protocol=file"
SRCBRANCH = "imx_v2018.03_4.14.98_2.0.0_ga"                       //分支名
SRC_URI = "${UBOOT_SRC};branch=${SRCBRANCH}"
SRCREV = "0f6d1c4ae2ba545ddc08913475faae36b864d2c4"               //节点commit值

在uboot-imx目录下使用如下命令查看git分支和commit节点

$ git branch
$ git log

配置完成后,就可以通过yocto来编译imx-boot,操作如下:

$ cd ltt-imx8m-evm100-yocto
$ source setup-environment build-xwayland/
$ bitbake -c cleansstate u-boot
$ bitbake -c compile u-boot -f
$ bitbake -c deploy u-boot
$ bitbake imx-boot

编译完后,镜像文件生成目录如下:

build-xwayland/tmp/deploy/images/imx8mqevk/imx-boot-imx8mqevk-sd.bin

Yocto单独编译Kernel

ltt-imx8m-evm100-yocto/linux-imx目录下为Kernel源码,编译Kernel时,要在sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-kernel/linux/linux-imx-src-4.14.98.inc文件中进行如下修改:

SRCBRANCH = "ltt_fsl_4.14.98"                                    //分支名
LOCALVERSION = "-${SRCBRANCH}"
KERNEL_SRC ?= "git:///${PWD}/../linux-imx;protocol=file"
SRC_URI = "${KERNEL_SRC};branch=${SRCBRANCH}"
SRCREV = "1a4c66e7a41dc45571dd7f82979db8f103e39703"              //节点commit值 

在linux-imx目录下使用如下命令查看git分支和commit节点

$ git branch
$ git log