[v2,1/2] qemu.bbclass: drop OLDEST_KERNEL reference

Message ID 20211216114836.964835-2-matt@madison.systems
State Accepted, archived
Commit 3a3cfb5f48fc92e548333e5856f3d3fcce27da46
Headers show
Series qemu.bbclass: drop OLDEST_KERNEL reference | expand

Commit Message

Matt Madison Dec. 16, 2021, 11:48 a.m. UTC
which is introducing task hash changes for some
allarch package builds, and should no longer
be needed with recent versions of qemu.

Signed-off-by: Matt Madison <matt@madison.systems>
---
 meta/classes/qemu.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Changqing Li Dec. 30, 2021, 8:51 a.m. UTC | #1
On 12/16/21 7:48 PM, Matt Madison wrote:
> [Please note: This e-mail is from an EXTERNAL e-mail address]
>
> which is introducing task hash changes for some
> allarch package builds, and should no longer
> be needed with recent versions of qemu.
>
> Signed-off-by: Matt Madison <matt@madison.systems>
> ---
>   meta/classes/qemu.bbclass | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/classes/qemu.bbclass b/meta/classes/qemu.bbclass
> index 01a7b86ae1..333202b7c4 100644
> --- a/meta/classes/qemu.bbclass
> +++ b/meta/classes/qemu.bbclass
> @@ -54,7 +54,7 @@ def qemu_run_binary(data, rootfs_path, binary):
>   # this dance). For others (e.g. arm) a -cpu option is not necessary, since the
>   # qemu-arm default CPU supports all required architecture levels.
>
> -QEMU_OPTIONS = "-r ${OLDEST_KERNEL} ${@d.getVar("QEMU_EXTRAOPTIONS_%s" % d.getVar('PACKAGE_ARCH')) or ""}"
> +QEMU_OPTIONS = "${@d.getVar("QEMU_EXTRAOPTIONS_%s" % d.getVar('PACKAGE_ARCH')) or ""}"

Hi,

Latest yocto still take "CentOS 7.x" as Supported Linux Distributions. 
But centos7 have kernel version 3.10.

But we have some archs, like aarch64, set OLDEST_KERNEL to 3.14. Without 
"-r ${OLDEST_KERNEL}",

some recipes which will run qemu during configure or compile will failed 
with error:

FATAL: kernel too old

How about add it back?


Thanks

Changqing

>   QEMU_OPTIONS[vardeps] += "QEMU_EXTRAOPTIONS_${PACKAGE_ARCH}"
>
>   QEMU_EXTRAOPTIONS_ppce500v2 = " -cpu e500v2"
> --
> 2.32.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#159782): https://lists.openembedded.org/g/openembedded-core/message/159782
> Mute This Topic: https://lists.openembedded.org/mt/87765279/3616873
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [changqing.li@windriver.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Alexander Kanavin Dec. 30, 2021, 11:06 a.m. UTC | #2
I guess you can add it back through QEMU_EXTRAOPTIONS?

Alex

On Thu, 30 Dec 2021 at 09:52, Changqing Li <changqing.li@windriver.com>
wrote:

>
> On 12/16/21 7:48 PM, Matt Madison wrote:
>
> [Please note: This e-mail is from an EXTERNAL e-mail address]
>
> which is introducing task hash changes for some
> allarch package builds, and should no longer
> be needed with recent versions of qemu.
>
> Signed-off-by: Matt Madison <matt@madison.systems> <matt@madison.systems>
> ---
>  meta/classes/qemu.bbclass | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/classes/qemu.bbclass b/meta/classes/qemu.bbclass
> index 01a7b86ae1..333202b7c4 100644
> --- a/meta/classes/qemu.bbclass
> +++ b/meta/classes/qemu.bbclass
> @@ -54,7 +54,7 @@ def qemu_run_binary(data, rootfs_path, binary):
>  # this dance). For others (e.g. arm) a -cpu option is not necessary, since the
>  # qemu-arm default CPU supports all required architecture levels.
>
> -QEMU_OPTIONS = "-r ${OLDEST_KERNEL} ${@d.getVar("QEMU_EXTRAOPTIONS_%s" % d.getVar('PACKAGE_ARCH')) or ""}"
> +QEMU_OPTIONS = "${@d.getVar(" <$%7B@d.getVar(>QEMU_EXTRAOPTIONS_%s" % d.getVar('PACKAGE_ARCH')) or ""}"
>
> Hi,
>
> Latest yocto still take "CentOS 7.x" as Supported Linux Distributions.
> But centos7 have kernel version 3.10.
>
> But we have some archs, like aarch64, set OLDEST_KERNEL to 3.14. Without
> "-r ${OLDEST_KERNEL}",
>
> some recipes which will run qemu during configure or compile will failed
> with error:
>
> FATAL: kernel too old
>
> How about add it back?
>
>
> Thanks
>
> Changqing
>
>  QEMU_OPTIONS[vardeps] += "QEMU_EXTRAOPTIONS_${PACKAGE_ARCH}"
>
>  QEMU_EXTRAOPTIONS_ppce500v2 = " -cpu e500v2"
> --
> 2.32.0
>
>
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#160058):
> https://lists.openembedded.org/g/openembedded-core/message/160058
> Mute This Topic: https://lists.openembedded.org/mt/87765279/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
Richard Purdie Dec. 30, 2021, 1:21 p.m. UTC | #3
On Thu, 2021-12-30 at 16:51 +0800, Changqing Li wrote:
> 
> On 12/16/21 7:48 PM, Matt Madison wrote:
>  
> > [Please note: This e-mail is from an EXTERNAL e-mail address]
> > 
> > which is introducing task hash changes for some
> > allarch package builds, and should no longer
> > be needed with recent versions of qemu.
> > 
> > Signed-off-by: Matt Madison <matt@madison.systems>
> > ---
> >  meta/classes/qemu.bbclass | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/meta/classes/qemu.bbclass b/meta/classes/qemu.bbclass
> > index 01a7b86ae1..333202b7c4 100644
> > --- a/meta/classes/qemu.bbclass
> > +++ b/meta/classes/qemu.bbclass
> > @@ -54,7 +54,7 @@ def qemu_run_binary(data, rootfs_path, binary):
> >  # this dance). For others (e.g. arm) a -cpu option is not necessary, since
> > the
> >  # qemu-arm default CPU supports all required architecture levels.
> > 
> > -QEMU_OPTIONS = "-r ${OLDEST_KERNEL} ${@d.getVar("QEMU_EXTRAOPTIONS_%s" %
> > d.getVar('PACKAGE_ARCH')) or ""}"
> > +QEMU_OPTIONS = "${@d.getVar("QEMU_EXTRAOPTIONS_%s" %
> > d.getVar('PACKAGE_ARCH')) or ""}"
> Hi,
> Latest yocto still take "CentOS 7.x" as Supported Linux Distributions. But
> centos7 have kernel version 3.10.
> But we have some archs, like aarch64, set OLDEST_KERNEL to 3.14. Without "-r
> ${OLDEST_KERNEL}",
> some recipes which will run qemu during configure or compile will failed with
> error:
> FATAL: kernel too old
> How about add it back? 
> 

It was removed for a reason and believed to be no longer needed. Which version
of qemu was this with?

Cheers,

Richard
Changqing Li Dec. 31, 2021, 12:50 a.m. UTC | #4
On 12/30/21 9:21 PM, Richard Purdie wrote:
> [Please note: This e-mail is from an EXTERNAL e-mail address]
>
> On Thu, 2021-12-30 at 16:51 +0800, Changqing Li wrote:
>> On 12/16/21 7:48 PM, Matt Madison wrote:
>>
>>> [Please note: This e-mail is from an EXTERNAL e-mail address]
>>>
>>> which is introducing task hash changes for some
>>> allarch package builds, and should no longer
>>> be needed with recent versions of qemu.
>>>
>>> Signed-off-by: Matt Madison <matt@madison.systems>
>>> ---
>>>   meta/classes/qemu.bbclass | 2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/meta/classes/qemu.bbclass b/meta/classes/qemu.bbclass
>>> index 01a7b86ae1..333202b7c4 100644
>>> --- a/meta/classes/qemu.bbclass
>>> +++ b/meta/classes/qemu.bbclass
>>> @@ -54,7 +54,7 @@ def qemu_run_binary(data, rootfs_path, binary):
>>>   # this dance). For others (e.g. arm) a -cpu option is not necessary, since
>>> the
>>>   # qemu-arm default CPU supports all required architecture levels.
>>>
>>> -QEMU_OPTIONS = "-r ${OLDEST_KERNEL} ${@d.getVar("QEMU_EXTRAOPTIONS_%s" %
>>> d.getVar('PACKAGE_ARCH')) or ""}"
>>> +QEMU_OPTIONS = "${@d.getVar("QEMU_EXTRAOPTIONS_%s" %
>>> d.getVar('PACKAGE_ARCH')) or ""}"
>> Hi,
>> Latest yocto still take "CentOS 7.x" as Supported Linux Distributions. But
>> centos7 have kernel version 3.10.
>> But we have some archs, like aarch64, set OLDEST_KERNEL to 3.14. Without "-r
>> ${OLDEST_KERNEL}",
>> some recipes which will run qemu during configure or compile will failed with
>> error:
>> FATAL: kernel too old
>> How about add it back?
>>
> It was removed for a reason and believed to be no longer needed. Which version
> of qemu was this with?

For aarch64,  systemd do_configure  failed during run following command:

Running test binary command: 
tmp-glibc/work/cortexa72-wrs-linux/systemd/1_249.7-r0/meson-qemuwrapper 
tmp-glibc/work/cortexa72-wrs-linux/systemd/1_249.7-r0/build/meson-private/sanitycheckc_cross.exe

meson-qemuwrapper is wrapper of qemu-aarch64

tmp-glibc/work/cortexa72-wrs-linux/systemd/1_249.7-r0/recipe-sysroot-native/usr/bin/qemu-aarch64 
-version
*qemu-aarch64 version 6.2.0*
Copyright (c) 2003-2021 Fabrice Bellard and the QEMU Project developers

>
> Cheers,
>
> Richard
>

Patch

diff --git a/meta/classes/qemu.bbclass b/meta/classes/qemu.bbclass
index 01a7b86ae1..333202b7c4 100644
--- a/meta/classes/qemu.bbclass
+++ b/meta/classes/qemu.bbclass
@@ -54,7 +54,7 @@  def qemu_run_binary(data, rootfs_path, binary):
 # this dance). For others (e.g. arm) a -cpu option is not necessary, since the
 # qemu-arm default CPU supports all required architecture levels.
 
-QEMU_OPTIONS = "-r ${OLDEST_KERNEL} ${@d.getVar("QEMU_EXTRAOPTIONS_%s" % d.getVar('PACKAGE_ARCH')) or ""}"
+QEMU_OPTIONS = "${@d.getVar("QEMU_EXTRAOPTIONS_%s" % d.getVar('PACKAGE_ARCH')) or ""}"
 QEMU_OPTIONS[vardeps] += "QEMU_EXTRAOPTIONS_${PACKAGE_ARCH}"
 
 QEMU_EXTRAOPTIONS_ppce500v2 = " -cpu e500v2"