Hi,
Here is V2, mainly fix RP's comments: (talked via IRC)
* Remove a kvm commit message since qemu-kvm can only run target when
its arch is the same as the host arch:
The kvm support is not limited on x86 or x86_64
* Fix a typo in commit message: qemu-boot.bbclass -> qemuboot.bbclass,
You may wonder why I use qemuboot.bbclass but not qemu-boot.bbclass,
this is because the bbclass will save vars into qemuboot.py, the
qemuboot.py can't be qemu-boot.py here, otherwise,
"import qemu-boot.py" doesn't work since "-" is not a validate identifier,
so use "qemuboot" to make them unify.
* Reorder the patches to make sure they don't break the bisect build.
* Update commit message:
"Fix SLIRP mode" -> "Fix SLIRP mode, add help message, avoid mixing with tap"
======================
Updated in the repo:
The following changes since commit ecc8d346223030ee06aa6d83427f757982e948e4:
sanity: Require bitbake 1.31.1 for multi-config changes (2016-08-18 10:07:18
+0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib rbt/runqemu
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/runqemu
Robert Yang (8):
qemuboot.bbclass: add it for runqemu
arm: set vars for runqemu
qemuarm64.conf: set vars for runqemu
arch-x86.inc: set vars for runqemu
arch-mips.inc: set vars for runqemu
qemuppc.conf: set vars for runqemu
qemu.inc: inherit qemuboot.bbclass
runqemu: refactor it and remove machine knowledge
meta/classes/qemuboot.bbclass | 59 ++
meta/conf/machine/include/mips/arch-mips.inc | 6 +
meta/conf/machine/include/qemu.inc | 2 +
meta/conf/machine/include/tune-cortexa8.inc | 4 +
meta/conf/machine/include/x86/arch-x86.inc | 15 +
meta/conf/machine/qemuarm.conf | 5 +
meta/conf/machine/qemuarm64.conf | 9 +
meta/conf/machine/qemuppc.conf | 6 +
scripts/runqemu | 1260 +++++++++++++++-----------
scripts/runqemu-internal | 739 ---------------
10 files changed, 841 insertions(+), 1264 deletions(-)
create mode 100644 meta/classes/qemuboot.bbclass
delete mode 100755 scripts/runqemu-internal
// Robert
On 08/18/2016 02:15 PM, Robert Yang wrote:
Previously, runqemu had hard coded machine knowledge, which limited its
usage, for example, qemu can boot genericx86, but runqemu can't, we need
edit runqemu/runqemu-internal a lot if we want to boot genericx86.
Now bsp conf files can set vars to make it can be boot by runqemu, and
qemuboot.bbclass will save these info to DEPLOY_DIR_IMAGE/qemuboot.py.
Please see qemuboot.bbclass' comments on how to set the vars.
* Re-write it in python3, which can reduce lines from 1239 to about 750
lines
* All the machine knowledges are gone
* Most of the TUN_ARCH knowledge are gone except aarch64 and powerpc,
it's not easy to remove the two, so leave them there atm
* All the previous options are preserved, and there is a new way to run
runqemu: (it doesn't need run "bitake -e" in such a case)
$ runqemu tmp/deploy/images/qemux86
or:
$ runqemu tmp/deploy/images/qemuarm/<image>.ext4
or:
$ runqemu tmp/deploy/images/qemuarm/qemuboot.py
* Fixed audio support, not limited on x86 or x86_64
* The kvm support is not limited on x86 or x86_64
* Fix SLIRP mode
* Fix NFS boot, it will extract <image>.tar.bz2 or tar.gz to
DEPLOY_DIR_IMAGE/<image>-nfsroot when no NFS_DIR, and remove it after
stop.
* More bsps can be boot, such as genericx86 and genericx86-64.
* The patch for qemuzynq, qemuzynqmp, qemumicroblaze has been sent to
meta-xilinx' mailing list.
* I can't find any qemush4 bsp or how to build it, so it is not
considered atm.
* Tested the following machines, all of them work well:
genericx86 genericx86-64
qemuarm qemuarm64
qemumips qemumips64 qemuppc
qemux86 qemux86-64
qemuzynq qemuzynqmp
And also test "bitbake core-image-sato -ctestimage" which uses runqemu, it
also works.
// Robert
The following changes since commit c86bf80abd87acb0da5860806822c64ec9dee089:
oeqa.buildperf: use oe.path.remove() (2016-08-17 10:35:27 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib rbt/runqemu
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/runqemu
Robert Yang (8):
qemu.inc: inherit qemu-boot.bbclass
arm: set vars for runqemu
qemuarm64.conf: set vars for runqemu
arch-x86.inc: set vars for runqemu
arch-mips.inc: set vars for runqemu
qemuppc.conf: set vars for runqemu
qemuboot.bbclass: add it for runqemu
runqemu: refactor it and remove machine knowledge
meta/classes/qemuboot.bbclass | 59 ++
meta/conf/machine/include/mips/arch-mips.inc | 6 +
meta/conf/machine/include/qemu.inc | 2 +
meta/conf/machine/include/tune-cortexa8.inc | 4 +
meta/conf/machine/include/x86/arch-x86.inc | 15 +
meta/conf/machine/qemuarm.conf | 5 +
meta/conf/machine/qemuarm64.conf | 9 +
meta/conf/machine/qemuppc.conf | 6 +
scripts/runqemu | 1261 +++++++++++++++-----------
scripts/runqemu-internal | 739 ---------------
10 files changed, 842 insertions(+), 1264 deletions(-)
create mode 100644 meta/classes/qemuboot.bbclass
delete mode 100755 scripts/runqemu-internal
--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core