Yocto sdcard image class

2.1k views Asked by At

I am working on an sdcard image class for Yocto (Morty), which is basically straight forward. The sdcard image must be built after the roofs is done.

This can be indicated by IMAGE_TYPEDEP_sdcard, which in my case is set to "ext4"

The problem I encounter is that as soon as the sdcard image is added to IMAGE_FSTYPES the ext4 is not built anymore.

I tried to narrow it down by removing everything from my class file. so it only contains the following:

inherit image_Types

IMAGE_TYPEDEP_sdcard = "ext4"

IMAGE_CMD_sdcard {
   bbnote "Generating SDCARD image"
   bbfatal "DONE"
}

The normal case should be that on the bbfatal the ext4 rootfs would have been built, because this is required for the sdcard image. This is however not the case.

When I remove the bbfatal statement the ext4 is built as expected. It is built after the sdcard generation command. So it seems the IMAGE_TYPEDEP is not working.

Am I overlooking something ?

1

There are 1 answers

0
J. Rocha On

if you put the line: IMAGE_TYPEDEP_sdcard = "ext4", the task do_image_ext4 runs before do_image_sdcard, but it places the output in ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.ext4.

The task do_image_complete then makes a copy of it to ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext4.

So, if you need the output of do_image_ext4, you must look for it in ${IMGDEPLOYDIR}, not in ${DEPLOY_DIR_IMAGE}.