[OE-core] [PATCH 0/3] Introduces kernel-initramfs recipe to resolve a implicit dependency issue
Bruce Ashfield
bruce.ashfield at windriver.com
Thu Jan 14 17:06:50 UTC 2016
Just bumping this review to let you know that I haven't forgotten
about it.
I've been looking at the details at least twice now, but haven't
managed to sort everything out.
I'll pick this up again shortly.
Bruce
On 16-01-05 08:12 AM, Ming Liu wrote:
> In current initramfs bundled kernel packaging policy, there are several
> dependency chains co-existing:
>
> | "core-image-minimal.do_build" -> "core-image-minimal.do_bundle_initramfs"
> | "core-image-minimal.do_bundle_initramfs" -> "virtual/kernel.do_bundle_initramfs"
> | "core-image-minimal.do_bundle_initramfs" -> "core-image-minimal.do_rootfs"
> | "core-image-minimal.do_rootfs" -> "virtual/kernel.do_package_write_${IMAGE_PKGTYPE}"
> | "virtual/kernel.do_package_write_${IMAGE_PKGTYPE}" -> "virtual/kernel.do_package"
> | "virtual/kernel.do_package" -> "virtual/kernel.do_install"
> |
> | "virtual/kernel.do_deploy" -> "virtual/kernel.do_bundle_initramfs"
> | "virtual/kernel.do_bundle_initramfs" -> "virtual/kernel.do_install"
>
> We could see, virtual/kernel.do_package is not explicitly depending on
> virtual/kernel.do_bundle_initramfs so far, therefore, there is not a
> workable way to add initramfs bundled kernel image into rootfs, because
> kernel's do_bundle_initramfs could run parallelly with its do_package,
> which means we will get a implicit kernel-image package that sometimes it
> contains the initramfs bundled kernel or sometimes it doesn't.
>
> To fix this problem, the idea is to let the initramfs bundled kernel
> packaging depend on do_bundle_initramfs, meanwhile, to avoid the circular
> dependency issue that commit: 609d5a9ab9e58bb1c2bcc2145399fbc8b701b85a
> [ kernel.bbclass, image.bbclass: Implement kernel INITRAMFS dependency and bundling ]
>
> was trying to address, this dependency has to be splitted from kernel
> recipe(at least, I could not figure out another way to achieve it), so a
> new kernel-initramfs is introduced, in which a dependency chain is created:
>
> | "kernel-initramfs.do_install" -> "virtual/kernel.do_deploy"
> | "virtual/kernel.do_deploy" -> "virtual/kernel.do_bundle_initramfs"
>
> Then the users can add initramfs bundled kernel image into rootfs by:
>
> IMAGE_INSTALL_append = " kernel-initramfs"
>
> without introducing any circular dependencies.
>
> Ming Liu (3):
> kernel.bbclass: do not install initramfs bundled kernel image
> image.bbclass: removes bundle_initramfs related code
> kernel-initramfs: new recipe, creates initramfs bundled kernel
> packaging
>
> meta/classes/image.bbclass | 11 -----
> meta/classes/kernel.bbclass | 4 --
> meta/recipes-kernel/linux/kernel-initramfs.bb | 69 +++++++++++++++++++++++++++
> 3 files changed, 69 insertions(+), 15 deletions(-)
> create mode 100644 meta/recipes-kernel/linux/kernel-initramfs.bb
>
More information about the Openembedded-core
mailing list