您的位置:首页 > 运维架构 > Linux

bitbake linux-name 执行各个task的过程

2016-04-22 16:49 519 查看
以下是在fsl-release-bsp/imx6solo2/tmp/work/imx6solosabresd-poky-linux-gnueabi/linux-imx/4.1.15-r0/temp目录下面的log.task_order文件内容。其实就是bitbake linux-imx的过程

do_fetch (8359): log.do_fetch.8359

do_unpack (8441): log.do_unpack.8441

do_patch (5650): log.do_patch.5650

do_copy_defconfig (27693): log.do_copy_defconfig.27693

do_configure (27788): log.do_configure.27788

do_compile (31731): log.do_compile.31731

do_shared_workdir (20614): log.do_shared_workdir.20614

do_compile_kernelmodules (16664): log.do_compile_kernelmodules.16664

do_uboot_mkimage (3088): log.do_uboot_mkimage.3088

do_strip (9837): log.do_strip.9837

do_sizecheck (10052): log.do_sizecheck.10052

do_install (10208): log.do_install.10208

do_package (7880): log.do_package.7880

do_packagedata (10268): log.do_packagedata.10268

do_populate_sysroot (25948): log.do_populate_sysroot.25948

do_bundle_initramfs (26152): log.do_bundle_initramfs.26152

do_deploy (26174): log.do_deploy.26174

do_package_write_rpm (460): log.do_package_write_rpm.460

do_populate_lic (10276): log.do_populate_lic.10276

do_package_qa (21158): log.do_package_qa.21158

从上面可以获得共有20个任务,他们的执行脚本具体在下面四个目录下面的文件中:

poky/meta/classes/base.bbclass

poky/meta/classes/kernel.bbclass

poky/meta/classes/kernel-yocto.bbclass

fsl-release-bsp/sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-kernel/linux/linux-imx_4.1.15.bb

这些任务的顺序主要是由poky/meta/class目录下面的*.bbclass文件创建的,还有部分由bsp目录下面创建的。由bsp目录的.bb文件提供的任务有do_copy_defconfig

说明只有bsp提供的defconfig,并拷贝过去,其他的任务都在poky/meta/class文件目录下面的。

我用<grep -nr "addtask fetch" . >或者<grep -nr "after do_fetch" .> 或者<grep -nr "before do_fetch" .>命令来查找他们的执行顺序和脚本文件

任务一:do_fetch

./base.bbclass:116:addtask fetch

任务二:do_unpack

./base.bbclass:134:addtask unpack after do_fetch

任务三:do_patch

./patch.bbclass:184:addtask patch after do_unpack

任务四:do_copy_defconfig(注意不在class目录下面了)

./imx/meta-bsp/recipes-kernel/linux/linux-imx_4.1.15.bb:21:addtask copy_defconfig after do_unpack before do_configure

任务五:do_configure

./base.bbclass:262:addtask configure after do_patch

./kernel-yocto.bbclass:262:addtask kernel_configme before do_configure after do_patch

任务六:do_compile

./base.bbclass:280:addtask compile after do_configure

任务七:do_shared_workdir

./kernel.bbclass:256:addtask shared_workdir after do_compile before do_compile_kernelmodules

任务八:do_compile_kernelmodules

./kernel.bbclass:224:addtask compile_kernelmodules after do_compile before do_strip

任务九:do_uboot_mkimage

./kernel-uimage.bbclass:36:addtask uboot_mkimage before do_install after do_compile

任务十:do_strip

./kernel.bbclass:438:addtask do_strip before do_sizecheck after do_kernel_link_vmlinux

任务十一:do_sizecheck 

./kernel.bbclass:456:addtask sizecheck before do_install after do_strip

任务十二:do_install 

./base.bbclass:290:addtask install after do_compile

任务十三:do_package 

./package.bbclass:2042:addtask package after do_install

任务十四:do_packagedata 

./package.bbclass:2060:addtask packagedata before do_build after do_package

任务十五:do_populate_sysroot 

./staging.bbclass:158:addtask populate_sysroot after do_install

任务十六:do_bundle_initramfs 

./kernel.bbclass:193:addtask bundle_initramfs after do_install before do_deploy

任务十七:do_deploy 

./kernel.bbclass:496:addtask deploy after do_populate_sysroot

任务十八:do_package_write_rpm 

./package_rpm.bbclass:769:addtask package_write_rpm after do_packagedata do_package

任务十九:do_populate_lic 

./license.bbclass:15:addtask populate_lic after do_patch before do_build

任务二十:do_package_qa 

./insane.bbclass:1116:addtask do_package_qa after do_packagedata do_package before do_build
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: