<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#f7f7f7" text="#2c2c2c" link="#4a90d9" vlink="#4a90d9">
<div>On Thu, 2016-08-25 at 22:45 &#43;0100, Burton, Ross wrote:</div>
<blockquote type="cite">
<div dir="ltr">Hi Robert,
<div><br>
</div>
<div>So close! &nbsp;qemuarm64 is breaking on the AB:
<div><br>
</div>
<div><a href="https://autobuilder.yoctoproject.org/main/builders/nightly-arm64/builds/536/steps/Running%20Sanity%20Tests/logs/stdio">https://autobuilder.yoctoproject.org/main/builders/nightly-arm64/builds/536/steps/Running%20Sanity%20Tests/logs/stdio</a><br>
</div>
<div><br>
</div>
<div>I suspect we're passing some options to runqemu that you didn't cover in your testing.</div>
<div><br>
</div>
<div>Ross</div>
</div>
</div>
<div class="gmail_extra"><br>
</div>
</blockquote>
<div>It looks like it's just a missing space between the -m arg and -device:</div>
<div>&nbsp;&nbsp;<span style="color: rgb(0, 0, 0); font-family: 'Courier New', courier, monotype, monospace; font-size: medium; widows: 1;">-m 512-device</span></div>
<div><span style="color: rgb(0, 0, 0); font-family: 'Courier New', courier, monotype, monospace; font-size: medium; widows: 1;"><br>
</span></div>
<div><span style="color: rgb(0, 0, 0); font-family: 'Courier New', courier, monotype, monospace; font-size: medium; widows: 1;">&nbsp; &nbsp; -Bill</span></div>
<div><br>
</div>
<blockquote type="cite">
<div class="gmail_extra">
<div class="gmail_quote">On 25 August 2016 at 15:40, Robert Yang <span dir="ltr">
&lt;<a href="mailto:liezhi.yang@windriver.com" target="_blank">liezhi.yang@windriver.com</a>&gt;</span> wrote:<br>
<blockquote type="cite">* V5<br>
&nbsp; - Fix race issues when building multi image recipes at the same time, they<br>
&nbsp; &nbsp; might write qemuboo.py at the same time in the past. Now each image has<br>
&nbsp; &nbsp; a unique ${IMAGE_LINK_NAME}.runqemu.<wbr>conf.<br>
<br>
&nbsp; - qemuboot.py -&gt; ${IMAGE_LINK_NAME}.runqemu.<wbr>conf, I used &quot;import qemuboot.py&quot;,<br>
&nbsp; &nbsp; but now we can't &quot;import ${IMAGE_LINK_NAME}.runqemu.py&quot; since<br>
&nbsp; &nbsp; IMAGE_LINK_NAME contains dash &quot;-&quot;, so rename it to .conf and use configparser<br>
&nbsp; &nbsp; to read/write it.<br>
<span class=""><br>
* V4<br>
&nbsp; - Now the conf files can use @TAP@, @ROOTFS@ and @PORT@ when set vars<br>
&nbsp; &nbsp; for runqemu, so all the arch info are gone. And also update comments<br>
&nbsp; &nbsp; in qemuboot.bbclass.<br>
&nbsp; - Add var QB_SLIRP_OPT for slirp mode as Nathan suggested, also add<br>
&nbsp; &nbsp; QB_TAP_OPT whichi is for tap mode.<br>
&nbsp; - Print &quot;Try 'runqemu help' on how to use it&quot; when failed to parse args<br>
&nbsp; &nbsp; as Nathan suggested.<br>
&nbsp; - Fix device locking problems.<br>
&nbsp; - Fix nativesdk-qemu-helper.<br>
&nbsp; - Fix comments for <a href="http://qemurunner.py/qemutinyrunner.py" rel="noreferrer" target="_blank">
qemurunner.py/qemutinyrunner.<wbr>py</a><br>
<br>
</span><span class="">* V3<br>
&nbsp; - Move the qemu boot settings out of tune files (e.g., arch-x86.inc)<br>
&nbsp; &nbsp; to avoid mixing BSP settings with the tunings as Mark suggested. and<br>
&nbsp; &nbsp; put them to &lt;machine&gt;.conf or &lt;qemuboot&gt;.inc file.<br>
<br>
* V2<br>
&nbsp; - Fixes for RP's comments<br>
&nbsp; &nbsp; a) Remove a kvm commit message since qemu-kvm can only run target when<br>
&nbsp; &nbsp; &nbsp; &nbsp;its arch is the same as the host arch:<br>
&nbsp; &nbsp; &nbsp; &nbsp;The kvm support is not limited on x86 or x86_64<br>
<br>
&nbsp; &nbsp; b) Fix a typo in commit message: qemu-boot.bbclass -&gt; qemuboot.bbclass,<br>
&nbsp; &nbsp; &nbsp; &nbsp;You may wonder why I use qemuboot.bbclass but not qemu-boot.bbclass,<br>
</span>&nbsp; &nbsp; &nbsp; &nbsp;this is because the bbclass will save vars into qemuboot.conf, the<br>
&nbsp; &nbsp; &nbsp; &nbsp;qemuboot.conf can't be qemu-boot.py here, otherwise,<br>
<span class="">&nbsp; &nbsp; &nbsp; &nbsp;&quot;import qemu-boot.py&quot; doesn't work since &quot;-&quot; is not a validate<br>
&nbsp; &nbsp; &nbsp; &nbsp;identifier, so use &quot;qemuboot&quot; to make them unify.<br>
<br>
&nbsp; &nbsp; c) Reorder the patches to make sure they don't break the bisect build.<br>
<br>
&nbsp; - Update commit message:<br>
&nbsp; &nbsp; &quot;Fix SLIRP mode&quot; -&gt; &quot;Fix SLIRP mode, add help message, avoid mixing<br>
&nbsp; with tap&quot;<br>
<br>
* V1<br>
&nbsp; Previously, runqemu had hard coded machine knowledge, which limited its<br>
&nbsp; usage, for example, qemu can boot genericx86, but runqemu can't, we need<br>
&nbsp; edit runqemu/runqemu-internal a lot if we want to boot genericx86.<br>
<br>
&nbsp; Now bsp conf files can set vars to make it can be boot by runqemu, and<br>
</span>&nbsp; qemuboot.bbclass will save these info to DEPLOY_DIR_IMAGE/qemuboot.<wbr>conf.<br>
<span class="">&nbsp; Please see qemuboot.bbclass' comments on how to set the vars.<br>
<br>
&nbsp; - Re-write it in python3, which can reduce lines from 1239 to about 750<br>
&nbsp; &nbsp; lines<br>
&nbsp; - All the machine knowledges are gone<br>
&nbsp; - All of the TUN_ARCH knowledge are gone (FIXED in V4)<br>
&nbsp; - All the previous options are preserved, and there is a new way to run<br>
&nbsp; &nbsp; runqemu: (it doesn't need run &quot;bitake -e&quot; in such a case)<br>
&nbsp; &nbsp; $ runqemu tmp/deploy/images/qemux86<br>
&nbsp; &nbsp; or:<br>
&nbsp; &nbsp; $ runqemu tmp/deploy/images/qemuarm/&lt;<wbr>image&gt;.ext4<br>
&nbsp; &nbsp; or:<br>
</span>&nbsp; &nbsp; $ runqemu tmp/deploy/images/qemuarm/<wbr>qemuboot.conf<br>
<span class="">&nbsp; - Fixed audio support, not limited on x86 or x86_64<br>
&nbsp; - The kvm support is not limited on x86 or x86_64 (REMOVED by V2)<br>
&nbsp; - Fix SLIRP mode (FIXED by V2)<br>
&nbsp; - Fix NFS boot, it will extract &lt;image&gt;.tar.bz2 or tar.gz to<br>
&nbsp; &nbsp; DEPLOY_DIR_IMAGE/&lt;image&gt;-<wbr>nfsroot when no NFS_DIR, and remove it after<br>
&nbsp; &nbsp; stop.<br>
&nbsp; - More bsps can be boot, such as genericx86 and genericx86-64.<br>
&nbsp; - The patch for qemuzynq, qemuzynqmp, qemumicroblaze has been sent to<br>
&nbsp; &nbsp; meta-xilinx' mailing list.<br>
&nbsp; - I can't find any qemush4 bsp or how to build it, so it is not<br>
&nbsp; &nbsp; considered atm.<br>
<br>
&nbsp; - Tested the following machines, all of them work well.<br>
&nbsp; &nbsp; genericx86 genericx86-64<br>
&nbsp; &nbsp; qemuarm qemuarm64<br>
&nbsp; &nbsp; qemumips qemumips64 qemuppc<br>
&nbsp; &nbsp; qemux86 qemux86-64<br>
&nbsp; &nbsp; qemuzynq qemuzynqmp<br>
<br>
&nbsp; &nbsp; Tested ext4, nfs, slirp, vmdk, iso and cpio.gz when they are available.<br>
<br>
&nbsp; And also test &quot;bitbake core-image-sato -ctestimage&quot; which uses runqemu,<br>
&nbsp; it works, well.<br>
<br>
// Robert<br>
<br>
</span>The following changes since commit a7f1435c4c26237cdb55066c9f5408<wbr>b4fdf016aa:<br>
<br>
&nbsp; combo-layer: python3: fix UnicodeDecodeError (2016-08-24 13:58:24 &#43;0100)<br>
<span class=""><br>
are available in the git repository at:<br>
<br>
&nbsp; git://<a href="http://git.openembedded.org/openembedded-core-contrib" rel="noreferrer" target="_blank">git.openembedded.org/<wbr>openembedded-core-contrib</a> rbt/runqemu<br>
&nbsp; <a href="http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/runqemu" rel="noreferrer" target="_blank">
http://cgit.openembedded.org/<wbr>cgit.cgi/openembedded-core-<wbr>contrib/log/?h=rbt/runqemu</a><br>
<br>
</span>Robert Yang (10):<br>
<span class="">&nbsp; qemuboot.bbclass: add it for runqemu<br>
&nbsp; qemuarm.conf: set vars for runqemu<br>
&nbsp; qemuarm64.conf: set vars for runqemu<br>
&nbsp; qemux86.conf/qemux86-64.conf: set vars for runqemu<br>
&nbsp; qemumips/qemumips64.conf: set vars for runqemu<br>
&nbsp; qemuppc.conf: set vars for runqemu<br>
&nbsp; qemu.inc: inherit qemuboot.bbclass<br>
&nbsp; runqemu: refactor it and remove machine knowledge<br>
</span><span class="">&nbsp; nativesdk-qemu-helper: fix for new runqemu<br>
&nbsp; <a href="http://qemurunner.py/qemutinyrunner.py" rel="noreferrer" target="_blank">
qemurunner.py/qemutinyrunner.<wbr>py</a>: remove runqemu-internal<br>
<br>
</span>&nbsp;meta/classes/qemuboot.bbclass&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp;75 &#43;&#43;<br>
<span class="">&nbsp;meta/conf/machine/include/<wbr>qemu.inc&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; 2 &#43;<br>
&nbsp;meta/conf/machine/include/<wbr>qemuboot-mips.inc&nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; 7 &#43;<br>
&nbsp;meta/conf/machine/include/<wbr>qemuboot-x86.inc&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp;14 &#43;<br>
&nbsp;meta/conf/machine/qemuarm.conf&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; 5 &#43;<br>
&nbsp;meta/conf/machine/qemuarm64.<wbr>conf&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp;13 &#43;<br>
&nbsp;meta/conf/machine/qemumips.<wbr>conf&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; 1 &#43;<br>
&nbsp;meta/conf/machine/qemumips64.<wbr>conf&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; 1 &#43;<br>
&nbsp;meta/conf/machine/qemuppc.conf&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; 7 &#43;<br>
&nbsp;meta/conf/machine/qemux86-64.<wbr>conf&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; 1 &#43;<br>
&nbsp;meta/conf/machine/qemux86.conf&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; 1 &#43;<br>
&nbsp;meta/lib/oeqa/utils/<wbr>qemurunner.py&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; 2 &#43;-<br>
&nbsp;meta/lib/oeqa/utils/<wbr>qemutinyrunner.py&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; 2 &#43;-<br>
</span>&nbsp;.../qemu/<a href="http://nativesdk-qemu-helper_1.0.bb" rel="noreferrer" target="_blank">nativesdk-qemu-<wbr>helper_1.0.bb</a>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; 9 &#43;-<br>
&nbsp;scripts/runqemu&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 1332 &#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;--------<br>
&nbsp;scripts/runqemu-internal&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; 739 -----------<br>
&nbsp;16 files changed, 941 insertions(&#43;), 1270 deletions(-)<br>
<span class="">&nbsp;create mode 100644 meta/classes/qemuboot.bbclass<br>
&nbsp;create mode 100644 meta/conf/machine/include/<wbr>qemuboot-mips.inc<br>
&nbsp;create mode 100644 meta/conf/machine/include/<wbr>qemuboot-x86.inc<br>
&nbsp;delete mode 100755 scripts/runqemu-internal<br>
<br>
--<br>
</span>2.9.0<br>
<div class="HOEnZb">
<div class="h5"><br>
--<br>
______________________________<wbr>_________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.<wbr>openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/<wbr>mailman/listinfo/openembedded-<wbr>core</a><br>
</div>
</div>
<br>
</blockquote>
</div>
<br>
</div>
<pre>-- 
_______________________________________________
Openembedded-core mailing list
<a href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.openembedded.org</a>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core">http://lists.openembedded.org/mailman/listinfo/openembedded-core</a>
</pre>
</blockquote>
</body>
</html>