NXP

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

2019-07-12 12:13发布

    1.编译配置 $ DISTRO= MACHINE= source fsl-setup-release.sh -b   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-bspimx8-build mpdeployimagesimx8qmmek   6.代码的位置   Linux的kernel的源代码在: imx-yocto-bspimx8-build mpworkimx8qmmek-poky-linuxlinux-imx4.9.51-r0git   git是一个链接文件,实际的源代码在: imx-yocto-bspimx8-build mpwork-sharedimx8qmmekkernel-source   u-boot的源代码的位置在 imx-yocto-bspimx8-build mpworkimx8qmmek-poky-linuxu-boot-imx2017.03-r0git   7. 编译出来的image的位置   编译出来的image在 imx-yocto-bspimx8-build mpdeployimagesimx8qmmek目录下   包括的u-boot zImage rootfs   8. 编译的log信息   在我们编译的过程中,在Terminal中是看不到编译的log信息的,那么我们怎么直到编译的时候我们的代码有没有编译到,有没有警告呢?   其实yocto已经帮我们保存了编译的log信息。   Linux kernel的编译的log就在 imx-yocto-bspimx8-build mpworkimx8qmmek-poky-linuxlinux-imx4.9.51-r0 emp   目录下。   例如 log.do_compile就是编译内核的log信息 。      u-boot的编译的log就在imx-yocto-bspimx8-build mpworkimx8qmmek-poky-linuxu-boot-imx2017.03-r0 emp目录下      其他的也类似在对应的目录的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-bspimx8-build mpworkimx8qmmek-poky-linuxlinux-imx4.9.51-r0deploy-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-bspimx8-build mpworkimx8qmmek-poky-linuxu-boot-imx2017.03-r0deploy-u-boot-imx目录下。