[OE-core] [PATCH 0/3] Introduces kernel-initramfs recipe to resolve a implicit dependency issue
Ming Liu
liu.ming50 at gmail.com
Fri Jan 15 08:46:01 UTC 2016
Hi, Bruce:
No problem, thanks for letting me know the status.
//Ming Liu
2016-01-14 18:06 GMT+01:00 Bruce Ashfield <bruce.ashfield at windriver.com>:
> 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
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20160115/2855ac56/attachment-0002.html>
More information about the Openembedded-core
mailing list