On 09/27/2016 11:59 AM, Joshua Lock wrote:
On Tue, 2016-09-27 at 11:27 -0700, California Sullivan wrote:
Following the instructions to reproduce YOCTO #10026 I found that
runqemu would fail to start because QB_SYSTEM_NAME is null. This
patch
makes the guessing algorithm more loose allowing it to correctly
guess
the variable from the MACHINE name.
Out of interest can you help me understand how/when the current code
fails?
I ran into this following the instructions on the first post here:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=10026
We create a bsp layer called myqemux86-64 that gets a x86-64
architecture and MACHINE named myqemux86-64. There is no qemuboot.conf
file generated so it has to try and guess the variable. In the guessing
function mach gets assigned myqemux86-64, which doesn't match to any of
the machines directly, so it bails out.
Ultimately the failure probably isn't with runqemu, but the yocto-bsp
scripts not supporting the new runqemu. Unfortunately I have no
experience with either part of the system, so I took the path of least
resistance to quickly get it working again (hence the RFC).
It is still a good assumption that if it contains "qemux86-64" for
example, that the system is x86-64, so this is unlikely to cause any
new issues while preserving some peoples' old workflows.
Signed-off-by: California Sullivan <california.l.sulli...@intel.com>
---
scripts/runqemu | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/scripts/runqemu b/scripts/runqemu
index 45bcad7..b06d09e 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -870,20 +870,20 @@ class BaseConfig(object):
if not mach:
return None
- if mach == 'qemuarm':
- qbsys = 'arm'
- elif mach == 'qemuarm64':
+ elif 'qemuarm64' in mach:
This elif should be below the "if 'qemuarm' in mach" below which begins
the control flow statements for determining the value to assign to the
qbsys variable.
Oops, you are correct. I very quickly reordered them to account for
having to check the longer mach names first and missed that. I will fix
it on a V2 if we decide to use this.
Thanks,
Cal
qbsys = 'aarch64'
- elif mach == 'qemux86':
- qbsys = 'i386'
- elif mach == 'qemux86-64':
+ if 'qemuarm' in mach:
+ qbsys = 'arm'
+ elif 'qemux86-64' in mach:
qbsys = 'x86_64'
- elif mach == 'qemuppc':
+ elif 'qemux86' in mach:
+ qbsys = 'i386'
+ elif 'qemuppc' in mach:
qbsys = 'ppc'
- elif mach == 'qemumips':
- qbsys = 'mips'
- elif mach == 'qemumips64':
+ elif 'qemumips64' in mach:
qbsys = 'mips64'
+ elif 'qemumips' in mach:
+ qbsys = 'mips'
return 'qemu-system-%s' % qbsys
--
2.5.5
--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core