Bug 10211

Summary: New runqemu makes it harder to use on hosts other than the build machine
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Joshua Lock <joshuagloe>
Component: Scripts and ToolsAssignee: Joshua Lock <joshuagloe>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium+ CC: liezhi.yang, ross.burton
Version: 2.2   
Target Milestone: 2.2 M3   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Yes (doc changes required)

Description Joshua Lock 2016-09-02 16:04:02 UTC
I've long used the patter of performing builds on a powerful headless build machine, then copying artefacts to my laptop in order to test them with runqemu.

Unfortunately with the new runqemu this is broken and I can't just `runqemu /path/to/kernel /path/to/image` as I used to.

Even if I copy the extra *.qemuboot.conf artefact I can't simply pass that to runqemu, I have to edit the configuration file to change the hardcoded paths from subdirectories of TMPDIR on the buildhost to the relevant paths on my laptop.

We should support running images on machines other than the build host more easily, this could be either

a) writing TMPDIR to the conf file and creating other paths relative to that
b) massaging paths to be relative to the .conf file when a conf file is loaded

We also need to make sure the new runqemu is fully documented so that any surprises are covered in the migration guide.
Comment 1 Joshua Lock 2016-09-02 22:22:14 UTC
I have some lightly tested changes locally to resolve this. Will test further, clean up and submit on Monday.
Comment 2 Robert Yang 2016-09-03 02:44:33 UTC
Hi Joshua:

Did you try something like:

$ cp tmp/deploy/images/qemux86/ /tmp/mymachine -r
$ runqemu /tmp/mymachine/

It works well for me.
Comment 4 Joshua Lock 2016-09-09 12:49:50 UTC
Fixed in OE-Core/Poky master.