3.3 使用举例
单独编译 kernel、模块、设备树
MYS-6ULX-IOT 开发板对应的 kernel 是 linux-mys6ulx:
$ bitbake -c menuconfig -f -v linux-mys6ulx $ bitbake -c compile -f -v linux-mys6ulx $ bitbake -c compile_kernelmodules -f -v linux-mys6ulx $ bitbake -c deploy -f -v linux-mys6ulx
也有一些资料用 virtual/kernel 来指定 kernel,命令变成这样了:
$ bitbake -c menuconfig virtual/kernel $ bitbake -c compile -f -v virtual/kernel $ bitbake -c compile_kernelmodules -f -v virtual/kernel $ bitbake -c deploy -f -v virtual/kernel
通过 sources/meta-myir-imx6ulx/conf/machine/include/mys6ulx-base.inc 和
sources/meta-myir-imx6ulx/conf/distro/include/myir-imx-preferred-evn.inc 文件,我们可以看出一些端倪:
MACHINE_ARCH_FILTER = "virtual/kernel"
# Handle default kernel IMX_DEFAULT_KERNEL = "linux-mys6ulx" IMX_DEFAULT_KERNEL_mx6ul = "linux-mys6ulx" IMX_DEFAULT_KERNEL_mx6ull = "linux-mys6ulx" PREFERRED_PROVIDER_virtual/kernel ??= "${IMX_DEFAULT_KERNEL}"
单独编译u-boot
$ bitbake -c compile -f -v u-boot-mys6ulx $ bitbake -c deploy -f -v u-boot-mys6ulx
编译文件系统
$ bitbake core-image-minimal $ bitbake core-image-base $ bitbake fsl-image-gui $ bitbake fsl-image-qt5 $ bitbake fsl-image-multimedia
清除编译结果
$ bitbake -c clean -v linux-mys6ulx
清除还包括 clean、cleanall、cleanstate