From: Robert Yang <liezhi.yang@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: [RFC PATCH 0/8] [WIP] runqemu/runqemu-internal: refactor it
Date: Tue, 10 May 2016 01:13:58 -0700 [thread overview]
Message-ID: <cover.1462867278.git.liezhi.yang@windriver.com> (raw)
Hello,
This is still WIP, I send this out to make sure that I won't walk on
wrong way too far. Please feel free to give any comments.
TODO:
* Update the one which uses runqemu, such as oeqa
* Boot EFI image
* Boot multilib image such as lib32-foo
* Change the vars name such as QEMU_SYSTEM_OPTIONS and
QEMU_SECOND_SERIAL_OPT
* More testing
=== Taken from patch 8/8's commit message:
* Why refactor
The old runqemu had hardcoded machine knowledge, which limited its
usage, for example, qemu-system-foo can boot the target, but runqemu
can't, and we need edit runqemu/runqemu-internal a lot to support boot
it.
* Brief introduction on implemention
The basic thought is that, machine/bsp developer knows clearly on
whether qemu can boot the target or not (QEMU_BOOT_SUPPORTED = "1" or
"0"), and how to boot it, so we leave these settings in the machine's
configuration.
- qemu-boot.bbclass will write machine's info to
${DEPLOY_DIR_IMAGE}/qemu-boot, and runqemu will invoke it.
- We need use "runqemu -m <machine>" rather than "runqemu <machine>"
since the scripts knows nothing about machine any more, and the
similar to other old options, this is good for future's extension.
- I have updated all the machine's configuration except qemush4, since
I can't find this machine anywhere.
- Several machines such as genericx86 and genericx86-64 can be boot by
new runqemu without any changes.
- Added help info for supported options such as slirp and audio.
* Usage
Usage: runqemu <options>
-m <machine>, specify machine
-k <kernel>, specify kernel
-r <rootfs>, specify disk image, rootfs or nfs dir
-t <fstype>, specify fstypes, supported types:
ext[234], jffs2, btrfs, cpio.gz(ramfs), cpio, hddimg,
hdddirect, vmdk, wic, qcow2, vdi
-n, nographic, disables video console
-K, enable KVM when running x86 and x86-64 (VT-capable CPU required)
-V, enables KVM with VHOST support when running x86 and x86-64 (VT-capable CPU required)
-v, publicvnc - enable a VNC server open to all hosts
-u, slirp mode, use user mode networking (no root privilege is required)
-a, support audio
-s, enable a serial console on /dev/ttyS0
-q <qemuparams> - specify custom parameters to QEMU
-b <bootparams> - specify custom kernel parameters during boot
-p <portnum>, tcp serial port number
-B <biosdir>, bios directory
-F <biosfilename>, bios filename.
Examples:
runqemu -m qemuarm -n
runqemu -m qemuarm -t ext4
runqemu -m qemux86-64 -r core-image-sato -t ext4
runqemu -m qemux86 -r path/to/nfsrootdir/
runqemu -r path/to/deploy/dir/image/file.vmdk
runqemu -m qemumips -q "-m 256"
runqemu -m qemuppc -b "psplash=false"
// Robert
The following changes since commit ece101be5158beee709cdfbb85ecdbdc8d9fb864:
test-empty-image: Fix LIC_FILES_CHKSUM typo (2016-05-06 10:47:59 +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-boot.bbclass: add it for runqemu
qemu.inc: set QEMU_BOOT_SUPPORTED to 1
qemuarm.conf: set vars for runqemu
arch-arm64.inc: set vars for runqemu
arch-x86.inc: set vars for runqemu
arch-mips.inc: set vars for runqemu
arch-powerpc.inc: set vars for runqemu
runqemu/runqemu-internal: refactor it
meta/classes/image.bbclass | 3 +
meta/classes/qemu-boot.bbclass | 39 ++
meta/conf/bitbake.conf | 3 +
meta/conf/machine/include/arm/arch-arm64.inc | 7 +
meta/conf/machine/include/arm/arch-armv6.inc | 2 +
meta/conf/machine/include/mips/arch-mips.inc | 5 +
meta/conf/machine/include/powerpc/arch-powerpc.inc | 5 +
meta/conf/machine/include/qemu.inc | 2 +
meta/conf/machine/include/tune-cortexa8.inc | 2 +
meta/conf/machine/include/x86/arch-x86.inc | 6 +
meta/conf/machine/qemuarm.conf | 3 +
scripts/runqemu | 603 +++++++-----------
scripts/runqemu-internal | 678 +++++++--------------
13 files changed, 505 insertions(+), 853 deletions(-)
create mode 100644 meta/classes/qemu-boot.bbclass
--
2.7.4
next reply other threads:[~2016-05-10 8:14 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-10 8:13 Robert Yang [this message]
2016-05-10 8:13 ` [RFC PATCH 1/8] qemu-boot.bbclass: add it for runqemu Robert Yang
2016-05-10 10:22 ` Andreas Oberritter
2016-05-10 12:45 ` Robert Yang
2016-05-10 8:14 ` [RFC PATCH 2/8] qemu.inc: set QEMU_BOOT_SUPPORTED to 1 Robert Yang
2016-05-10 8:14 ` [RFC PATCH 3/8] qemuarm.conf: set vars for runqemu Robert Yang
2016-05-10 8:14 ` [RFC PATCH 4/8] arch-arm64.inc: " Robert Yang
2016-05-10 8:14 ` [RFC PATCH 5/8] arch-x86.inc: " Robert Yang
2016-05-10 8:14 ` [RFC PATCH 6/8] arch-mips.inc: " Robert Yang
2016-05-10 8:14 ` [RFC PATCH 7/8] arch-powerpc.inc: " Robert Yang
2016-05-10 8:14 ` [RFC PATCH 8/8] runqemu/runqemu-internal: refactor it Robert Yang
2016-05-19 14:57 ` [RFC PATCH 0/8] [WIP] " Nathan Rossi
2016-05-20 2:31 ` Robert Yang
2016-05-20 2:43 ` Robert Yang
2016-05-25 7:00 ` Andrew Jeffery
2016-06-23 8:17 ` Richard Purdie
2016-06-23 8:43 ` Robert Yang
2016-06-23 8:56 ` Richard Purdie
2016-06-23 9:20 ` Robert Yang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1462867278.git.liezhi.yang@windriver.com \
--to=liezhi.yang@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.