<div dir="ltr"><div><div>Hi, Bruce:<br><br></div>No problem, thanks for letting me know the status.<br><br></div>//Ming Liu<br></div><div class="gmail_extra"><br><div class="gmail_quote">2016-01-14 18:06 GMT+01:00 Bruce Ashfield <span dir="ltr"><<a href="mailto:bruce.ashfield@windriver.com" target="_blank">bruce.ashfield@windriver.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Just bumping this review to let you know that I haven't forgotten<br>
about it.<br>
<br>
I've been looking at the details at least twice now, but haven't<br>
managed to sort everything out.<br>
<br>
I'll pick this up again shortly.<span class="HOEnZb"><font color="#888888"><br>
<br>
Bruce</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
On 16-01-05 08:12 AM, Ming Liu wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
In current initramfs bundled kernel packaging policy, there are several<br>
dependency chains co-existing:<br>
<br>
| "core-image-minimal.do_build" -> "core-image-minimal.do_bundle_initramfs"<br>
| "core-image-minimal.do_bundle_initramfs" -> "virtual/kernel.do_bundle_initramfs"<br>
| "core-image-minimal.do_bundle_initramfs" -> "core-image-minimal.do_rootfs"<br>
| "core-image-minimal.do_rootfs" -> "virtual/kernel.do_package_write_${IMAGE_PKGTYPE}"<br>
| "virtual/kernel.do_package_write_${IMAGE_PKGTYPE}" -> "virtual/kernel.do_package"<br>
| "virtual/kernel.do_package" -> "virtual/kernel.do_install"<br>
|<br>
| "virtual/kernel.do_deploy" -> "virtual/kernel.do_bundle_initramfs"<br>
| "virtual/kernel.do_bundle_initramfs" -> "virtual/kernel.do_install"<br>
<br>
We could see, virtual/kernel.do_package is not explicitly depending on<br>
virtual/kernel.do_bundle_initramfs so far, therefore, there is not a<br>
workable way to add initramfs bundled kernel image into rootfs, because<br>
kernel's do_bundle_initramfs could run parallelly with its do_package,<br>
which means we will get a implicit kernel-image package that sometimes it<br>
contains the initramfs bundled kernel or sometimes it doesn't.<br>
<br>
To fix this problem, the idea is to let the initramfs bundled kernel<br>
packaging depend on do_bundle_initramfs, meanwhile, to avoid the circular<br>
dependency issue that commit: 609d5a9ab9e58bb1c2bcc2145399fbc8b701b85a<br>
[ kernel.bbclass, image.bbclass: Implement kernel INITRAMFS dependency and bundling ]<br>
<br>
was trying to address, this dependency has to be splitted from kernel<br>
recipe(at least, I could not figure out another way to achieve it), so a<br>
new kernel-initramfs is introduced, in which a dependency chain is created:<br>
<br>
| "kernel-initramfs.do_install" -> "virtual/kernel.do_deploy"<br>
| "virtual/kernel.do_deploy" -> "virtual/kernel.do_bundle_initramfs"<br>
<br>
Then the users can add initramfs bundled kernel image into rootfs by:<br>
<br>
IMAGE_INSTALL_append = " kernel-initramfs"<br>
<br>
without introducing any circular dependencies.<br>
<br>
Ming Liu (3):<br>
kernel.bbclass: do not install initramfs bundled kernel image<br>
image.bbclass: removes bundle_initramfs related code<br>
kernel-initramfs: new recipe, creates initramfs bundled kernel<br>
packaging<br>
<br>
meta/classes/image.bbclass | 11 -----<br>
meta/classes/kernel.bbclass | 4 --<br>
meta/recipes-kernel/linux/<a href="http://kernel-initramfs.bb" rel="noreferrer" target="_blank">kernel-initramfs.bb</a> | 69 +++++++++++++++++++++++++++<br>
3 files changed, 69 insertions(+), 15 deletions(-)<br>
create mode 100644 meta/recipes-kernel/linux/<a href="http://kernel-initramfs.bb" rel="noreferrer" target="_blank">kernel-initramfs.bb</a><br>
<br>
</blockquote>
<br>
</div></div></blockquote></div><br></div>