[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