All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/1] image.inc/qemu.inc: preserve directories to be used by runqemu
@ 2017-03-30  5:12 Chen Qi
  2017-03-30  5:12 ` [PATCH 1/1] " Chen Qi
  0 siblings, 1 reply; 6+ messages in thread
From: Chen Qi @ 2017-03-30  5:12 UTC (permalink / raw)
  To: openembedded-core

The following changes since commit 2acc741dd02cd796b396484a8676250a8f97c975:

  maintainers.inc: Add maintainers to go-native and vulkan software package recipes (2017-03-29 16:37:28 +0100)

are available in the git repository at:

  git://git.pokylinux.org/poky-contrib ChenQi/runqemu_rm_work
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/runqemu_rm_work

Chen Qi (1):
  image.inc/qemu.inc: preserve directories to be used by runqemu

 meta/classes/image.bbclass         | 1 +
 meta/conf/machine/include/qemu.inc | 3 +++
 2 files changed, 4 insertions(+)

-- 
1.9.1



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/1] image.inc/qemu.inc: preserve directories to be used by runqemu
  2017-03-30  5:12 [PATCH 0/1] image.inc/qemu.inc: preserve directories to be used by runqemu Chen Qi
@ 2017-03-30  5:12 ` Chen Qi
  2017-04-05 10:06   ` Nathan Rossi
  0 siblings, 1 reply; 6+ messages in thread
From: Chen Qi @ 2017-03-30  5:12 UTC (permalink / raw)
  To: openembedded-core

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@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"
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/1] image.inc/qemu.inc: preserve directories to be used by runqemu
  2017-03-30  5:12 ` [PATCH 1/1] " Chen Qi
@ 2017-04-05 10:06   ` Nathan Rossi
  2017-04-05 11:22     ` Richard Purdie
  0 siblings, 1 reply; 6+ messages in thread
From: Nathan Rossi @ 2017-04-05 10:06 UTC (permalink / raw)
  To: Chen Qi; +Cc: openembedded-core

On 30 March 2017 at 15:12, Chen Qi <Qi.Chen@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@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?

Regards,
Nathan


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/1] image.inc/qemu.inc: preserve directories to be used by runqemu
  2017-04-05 10:06   ` Nathan Rossi
@ 2017-04-05 11:22     ` Richard Purdie
  2017-04-05 13:43       ` Nathan Rossi
  2017-04-07  8:05       ` ChenQi
  0 siblings, 2 replies; 6+ messages in thread
From: Richard Purdie @ 2017-04-05 11:22 UTC (permalink / raw)
  To: Nathan Rossi, Chen Qi; +Cc: openembedded-core

On Wed, 2017-04-05 at 20:06 +1000, Nathan Rossi wrote:
> On 30 March 2017 at 15:12, Chen Qi <Qi.Chen@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@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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/1] image.inc/qemu.inc: preserve directories to be used by runqemu
  2017-04-05 11:22     ` Richard Purdie
@ 2017-04-05 13:43       ` Nathan Rossi
  2017-04-07  8:05       ` ChenQi
  1 sibling, 0 replies; 6+ messages in thread
From: Nathan Rossi @ 2017-04-05 13:43 UTC (permalink / raw)
  To: Richard Purdie; +Cc: openembedded-core

On 5 April 2017 at 21:22, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> On Wed, 2017-04-05 at 20:06 +1000, Nathan Rossi wrote:
>> On 30 March 2017 at 15:12, Chen Qi <Qi.Chen@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@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?

That sounds like a good solution.

This would however change how meta-xilinx would need to handle
providing an additional version of QEMU (for which it currently sets
EXTRA_IMAGEDEPENDS, and subdirs the native binaries). But this change
means that the custom QEMU version would be built for all QEMU targets
(when the layer is used), although this is something that should be
sorted out with runqemu now that it can be given a different sysroot
(and a different sysroot can be built alongside). This would remove
the need for the workarounds that were used to get runqemu to use the
alternative QEMU in the first place. So your proposed solution works
better in that regard as well (as meta-xilinx could provide an
alternate qemu-helper-native for those qemu machines that use it).

Regards,
Nathan


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/1] image.inc/qemu.inc: preserve directories to be used by runqemu
  2017-04-05 11:22     ` Richard Purdie
  2017-04-05 13:43       ` Nathan Rossi
@ 2017-04-07  8:05       ` ChenQi
  1 sibling, 0 replies; 6+ messages in thread
From: ChenQi @ 2017-04-07  8:05 UTC (permalink / raw)
  To: Richard Purdie, Nathan Rossi; +Cc: openembedded-core

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@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@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



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-04-07  8:04 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-30  5:12 [PATCH 0/1] image.inc/qemu.inc: preserve directories to be used by runqemu Chen Qi
2017-03-30  5:12 ` [PATCH 1/1] " Chen Qi
2017-04-05 10:06   ` Nathan Rossi
2017-04-05 11:22     ` Richard Purdie
2017-04-05 13:43       ` Nathan Rossi
2017-04-07  8:05       ` ChenQi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.