My hardware is an Intel D410PT Pineview mini ITX board. My development system is a a PC with Ubuntu 11.10. I'm using the Poky-edison-6.0 tarball and the n450-edison tarball. If I take a standard BSP for the n450 it builds core-image-sato and boots fine on this hardware. If I try to add web-webkit package to this by putting IMAGE_INSTALL += "web-webkit" in the local.conf file, and build it from scratch it builds successfully and includes the webkit package, but the image will not boot. The kernel panics because it can't find /sbin/init. see attached screenshot. If I start with a clean build and I added IMAGE_INSTALL += “web-webkit” into the meta/recipes-sato/images/core-image-sato.bb file, it builds and boots fine. If I start with a clean build of n450 with the IMAGE_INSTALL += “web-webkit” put into meta-n450/recipes-jfa/images/core-images-sato.bbapend, it builds and boots fine.
The poky reference manual in section 3.2.1 suggest a correct way of doing what I did that worked. Section 3.2.4 implies that customize images via the local.conf is possible but not recommended. Maybe a warning or error needs to be produced since the build could be successful, but image not bootable.
Can you provide the output of: bitbake core-image-sato -e | grep IMAGE_INSTAL=
Jim, Any updates on this, can you provide what Darren asked?
Can I assume you mean "bitbake core-image-sato -e grep IMAGE_INSTALL=" jim@mac-virtual-ubuntu:~/poky-edison-6.0/build-n450$ bitbake core-image-sato -e | grep IMAGE_INSTALL= # MULTILIB_IMAGE_INSTALL= # IMAGE_INSTALL= web-webkit IMAGE_INSTALL="web-webkit" The was run as the first bitbake on this build directory with only the conf files edited appropriately including the IMAGE_INSTALL += "web-webkit"
So it seems that the IMAGE_INSTALL += is wiping out the proper contents of IMAGE_INSTALL. I can verify this world$ bitbake core-image-sato -e | grep ^IMAGE_INSTALL IMAGE_INSTALL="task-core-boot task-base-extended" IMAGE_INSTALL = task-core-boot task-base-extended world$ vi conf/local.conf <add IMAGE_INSTALL += "web-webkit"> world$ bitbake core-image-sato -e | grep ^IMAGE_INSTALL IMAGE_INSTALL="web-webkit" IMAGE_INSTALL = web-webkit world$ vi conf/local.conf <change IMAGE_INSTALL += "web-webkit" to IMAGE_INSTALL_append = " web-webkit "> world$ bitbake core-image-sato -e | grep ^IMAGE_INSTALL IMAGE_INSTALL="task-core-boot task-base-extended web-webkit" IMAGE_INSTALL = task-core-boot task-base-extended web-webkit So there is an ordering or something going on. You can try using IMAGE_INSTALL_append = " web-webkit ", and see if it boots
Its an ordering issue. core-image.bbclass does: IMAGE_INSTALL ?= "${POKY_BASE_INSTALL}" and if IMAGE_INSTALL already has a value, ?= won't change it. The intent was to allow images to override the default value although it doesn't quite work as a user would expect so we probably need to improve this somehow.
Jim, where did you get the information about using IMAGE_INSTALL? That variable is generally expected to be used from image recipes and not by the user as it leads to various "race" type issues. I think we need to make it clearer in the manual that its expected to be used in image recipes but not local.conf, unless its used as an _append rather than a =+ operation as Saul describes. I'm adding Scott for comment about whether we can improve the manual to reflect this. For reference, I have considered whether we can make += work from local.conf but doing so would undermine the way IMAGE_INSTALL was designed to work and make things harder when writing image .bb files.
The comment to add the web-webkit install statement was from a user in the mailing list. I've been testing with a number of options. Using conf/local.conf seems to be the worse place to put it, since it's not know what ?++= character makes the thinkg work right. It seems that, if I put the statement: IMAGE_INSTALL += "web-webkit" in the core-image-sato.bbappend file in the recepe-jfa/images directory as part of my meta layer I'm okay. I have no idea what it does though. Jim A
Do you get the desired result if you use: POKY_EXTRA_INSTALL += "web-webkit" Instead of appending to IMAGE_INSTALL? According to http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html IMAGE_INSTALL is intended to be used when creating new image recipes, and POKY_EXTRA_INSTALL is intended for local.conf to modify to what an existing image recipe includes.
I'm not finding the POKY_EXTRA_INSTALL comment in the manual you referenced.
(In reply to comment #10) > I'm not finding the POKY_EXTRA_INSTALL comment in the manual you referenced. Hrm, if I click on the link I provided in Comment 9 and search for "POKY_EXTRA_INSTALL" my browser takes me right to it. It's in Appendix F. Refence: Variables Glossary, and reads: "POKY_EXTRA_INSTALL Specifies the list of packages to be added to the image. This variable should only be set in the local.conf configuration file found in the Yocto Project's build directory." Now, this should clearly be made part of one the actual document sections about modifying images and not just buried in the glossary.
I have the test with the IMAGE_INSTALL_append = " web-webkit " running right now. It seems to have the right number of task to work on. If it boots, then we know something. I'll try to poky extra option next. According to Appendix F, I'd agree, that's the way to add it in conf/local.conf.
The IMAGE_INSTALL variable is listed curtly in the glossary with the following: IMAGE_INSTALL - The list of packages used to build images We need more information on this variable. One thing, it sounds as if the user should not be setting it? If that is the case, we need to declare that. Also need to provide how the variable is used if it has any ramifications to the user. If not, why do we even have it defined in the glossary. The variable is also described in Section 3.2.1 of the reference manual, "Customizing Images Using Custom .bb Files". (http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#usingpoky-extend-customimage-custombb). This section implies that the user can control the contents of the image. The variable also appears in the next section (3.2.2 Customizing Images Using Custom Tasks) - http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#usingpoky-extend-customiage-customtasks. In this section IMAGE_INSTALL is mentioned in the context of needing to add 'task-custom-apps' and/or 'task-custom-tools' to the variable. Again, this section implies user control over IMAGE_INSTALL. In Section 3.2.3 Customizing Images Using Custom IMAGE_FEATURES and EXTRA_IMAGE_FEATURES - http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#usingpoky-extend-customimage-imagefeatures the variable is talked about in the context of it being generated automatically. This is not very good documentation on IMAGE_INSTALL. It could be improved. I am opening a separate bug on it aimed at the documents.
Okay the image I built with: IMAGE_INSTALL_append = " web-webkit " in local.conf work correctly. web kit is installed and it boots. I'll test POKY_EXTRA_APPEND next.
(In reply to comment #14) > Okay the image I built with: > IMAGE_INSTALL_append = " web-webkit " > in local.conf work correctly. web kit is installed and it boots. > > I'll test POKY_EXTRA_APPEND next. POKY_EXTRA_INSTALL
right I used: POKY_EXTRA_INSTALL += "web-webkit"
POKY_EXTRA_INSTALL += "web-webkit" in the conf/local.conf worked correctly with web-webkit installed into the system. The imaged booted on USB key and webkit worked.
Since this can only really be fixed by documentation changes, I'm reassigning to Scott. Scott, please get the information you need to get this fixed from me/Saul/Darren and others.
I have updated the section in the YP Reference manual that describes how to alter the image. Information added to describe best use of IMAGE_INSTALL_append. Also updated the glossary entry for IMAGE_INSTALL. Changes can be viewed in this version of the manual: http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html
*** Bug 1931 has been marked as a duplicate of this bug. ***