[OE-core] Image generation change
Richard Purdie
richard.purdie at linuxfoundation.org
Fri Mar 2 12:14:13 UTC 2012
On Thu, 2012-03-01 at 18:19 -0700, Gary Thomas wrote:
> I'm having a problem after the recent change
> commit eacedb4f2afa98dbd2f5ea7a9f52e6ea952a72d2
> Author: Richard Purdie <richard.purdie at linuxfoundation.org>
> Date: Wed Feb 29 16:24:26 2012 +0000
>
> image_types: Correctness fixes
>
> * Add a newline to improve the output formatting
> * Use set() to turn the list into a set of unique items to prevnt
> the same image code running twice (for e.g. IMAGE_FSTYPES = "tar.gz tar.bz2")
> * Support multiple compression extensions such as ".gz.u-boot"
> * Fix basetype/type typo and fix multiple image generation
>
> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
>
> I build initrd-style images which can be loaded by U-Boot. This is a multi-step
> process - first create the root image as ext3.gz, then pack it into the U-Boot
> image. Before this change, I could use this setup:
>
> IMAGE_FSTYPES = "ext3.gz initrd"
> IMAGE_CMD_initrd = " uboot_initrd;"
> IMAGE_ROOTFS_SIZE = "24576"
>
> where the 'uboot_initrd' command expected the ext3.gz image to be complete and
> all it does is the U-Boot mkimage magic.
>
> This no longer works as when uboot_initrd() runs, there is no ext3.gz image
> yet built. I'm not sure I understand the exact reason, but if I revert just
> these lines, the process works again.
>
> diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass
> index 5b48a09..8ea170a 100644
> --- a/meta/classes/image_types.bbclass
> +++ b/meta/classes/image_types.bbclass
> @@ -29,7 +29,7 @@ def get_imagecmds(d):
> if d.getVar('IMAGE_LINK_NAME', True):
> cmds += " rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.*"
>
> - for type in set(types):
> + for type in types:
> ccmd = []
> subimages = []
> localdata = bb.data.createCopy(d)
>
> If there is another way to solve my problem, i.e. generate the wrapped
> up initrd image, that will still work with the code as is, I'd be happy
> to use it, but I'm not sure how to write such a process.
>
> Any ideas gladly accepted, thanks
Does the patch "image_types.bbclass: We need to preserve order in the
types variable and avoid set()" fix this problem?
Cheers,
Richard
More information about the Openembedded-core
mailing list