[OE-core] [PATCH 1/1] image.inc/qemu.inc: preserve directories to be used by runqemu

ChenQi Qi.Chen at windriver.com
Fri Apr 7 08:05:45 UTC 2017


On 04/05/2017 07:22 PM, Richard Purdie wrote:
> On Wed, 2017-04-05 at 20:06 +1000, Nathan Rossi wrote:
>> On 30 March 2017 at 15:12, Chen Qi <Qi.Chen at windriver.com> wrote:
>>> The 'recipe-sysroot' and 'recipe-sysroot-native' directories need
>>> to
>>> be preserved for runqemu to work correctly. Otherwise, when
>>> 'rm_work'
>>> is enabled, these directories are removed, thus causing errors when
>>> using runqemu .
>>>
>>> [YOCTO #11266]
>>> [YOCTO #11193]
>>>
>>> Signed-off-by: Chen Qi <Qi.Chen at windriver.com>
>>> ---
>>>   meta/classes/image.bbclass         | 1 +
>>>   meta/conf/machine/include/qemu.inc | 3 +++
>>>   2 files changed, 4 insertions(+)
>>>
>>> diff --git a/meta/classes/image.bbclass
>>> b/meta/classes/image.bbclass
>>> index 405fd73..cac3a5f 100644
>>> --- a/meta/classes/image.bbclass
>>> +++ b/meta/classes/image.bbclass
>>> @@ -8,6 +8,7 @@ inherit ${SDKEXTCLASS}
>>>   TOOLCHAIN_TARGET_TASK += "${PACKAGE_INSTALL}"
>>>   TOOLCHAIN_TARGET_TASK_ATTEMPTONLY +=
>>> "${PACKAGE_INSTALL_ATTEMPTONLY}"
>>>   POPULATE_SDK_POST_TARGET_COMMAND += "rootfs_sysroot_relativelinks;
>>> "
>>> +RM_WORK_EXCLUDE_ITEMS_append = " ${IMAGE_RM_WORK_EXCLUDE_ITEMS}"
>>>
>>>   LICENSE = "MIT"
>>>   PACKAGES = ""
>>> diff --git a/meta/conf/machine/include/qemu.inc
>>> b/meta/conf/machine/include/qemu.inc
>>> index 0e4103b..8345c08 100644
>>> --- a/meta/conf/machine/include/qemu.inc
>>> +++ b/meta/conf/machine/include/qemu.inc
>>> @@ -29,3 +29,6 @@ KERNEL_FEATURES_append_pn-linux-yocto = "
>>> features/nfsd/nfsd-enable.scc"
>>>   MACHINE_EXTRA_RRECOMMENDS += "rng-tools"
>>>
>>>   IMAGE_CLASSES += "qemuboot"
>>> +
>>> +# These two directories need to be preserved for runqemu to work
>>> well
>>> +IMAGE_RM_WORK_EXCLUDE_ITEMS = "recipe-sysroot recipe-sysroot-
>>> native"
>> Should this be setup by qemuboot.bbclass instead, so that it applies
>> to any image/machine (even those that do not use qemu.inc) that is
>> intended to be used by runqemu?
> I'm trying to decide what the best approach here is. I'm thinking it
> might be better to:
>
> a) make qemu builds depend on qemu-helper-native
> b) make that preserve its native sysroot (not the target one).
> c) have runqemu look at qemu-helper-native
>
> I think that should solve problems and work better than the above?
>
> Cheers,
>
> Richard
>
Hi Richard,

I've sent out a new patch series. The solution is a little bit different 
from the above.

As 'tunctl' is from qemu-helper-native, and 'qemu-xxx' is from 
qemu-native, I choose to have runqemu look at things under 
sysroots-components. The STAGING_DIR_NATIVE and STAGING_BINDIR_NATIVE 
logic is still preserved so that runqemu still works well in SDK.

I've used the following test cases for testing.

1) runqemu + rm_work

2) oe-selftest -r runqemu

3) runqemu + SDK

4) runqemu + Ext SDK

Best Regards,

Chen Qi




More information about the Openembedded-core mailing list