All of lore.kernel.org
 help / color / mirror / Atom feed
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



             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.