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=fs
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目录下。
更多推荐
所有评论(0)