[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