All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fam Zheng <famz@redhat.com>
To: qemu-devel@nongnu.org
Cc: berrange@redhat.com, "Alex Bennée" <alex.bennee@linaro.org>,
	"Fam Zheng" <famz@redhat.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	pbonzini@redhat.com, stefanha@redhat.com,
	"Cleber Rosa" <crosa@redhat.com>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	eblake@redhat.com, "Kamil Rytarowski" <kamil@netbsd.org>
Subject: [Qemu-devel] [PATCH v4 10/10] tests: Add README for vm tests
Date: Tue, 29 Aug 2017 01:47:07 +0800	[thread overview]
Message-ID: <20170828174707.20786-11-famz@redhat.com> (raw)
In-Reply-To: <20170828174707.20786-1-famz@redhat.com>

Signed-off-by: Fam Zheng <famz@redhat.com>
---
 tests/vm/README | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)
 create mode 100644 tests/vm/README

diff --git a/tests/vm/README b/tests/vm/README
new file mode 100644
index 0000000000..66d53cff60
--- /dev/null
+++ b/tests/vm/README
@@ -0,0 +1,63 @@
+=== VM test suite to run build in guests ===
+
+== Intro ==
+
+This test suite contains scripts that bootstrap various guest images that have
+necessary packages to build QEMU. The basic usage is documented in Makefile
+help which is displayed with "make vm-test".
+
+== Quick start ==
+
+Run "make vm-test" to list available make targets.
+
+== Manual invocation ==
+
+Each guest script is an executable script with the same command line options.
+For example to work with the netbsd guest, use $QEMU_SRC/tests/vm/netbsd:
+
+    $ cd $QEMU_SRC/tests/vm
+
+    # To bootstrap the image
+    $ ./netbsd --build-image --image /var/tmp/netbsd.img
+    <...>
+
+    # To run an arbitrary command in guest (the output will not be echoed unless
+    # --debug is added)
+    $ ./netbsd --debug --image /tmp/netbsd.img uname -a
+
+    # To build QEMU in guest
+    $ ./netbsd --debug --image /tmp/netbsd.img --build-qemu $QEMU_SRC
+
+    # To get to an interactive shell
+    $ ./netbsd --interactive --image /tmp/netbsd.img sh
+
+== Adding new guests ==
+
+Please look at existing guest scripts for how to add new guests.
+
+Most importantly, create a subclass of BaseVM and implement build_image()
+method and define BUILD_SCRIPT, then finally call basevm.main() from the
+script's main().
+
+  - Usually in build_image(), a template image is downloaded from a predefined
+    URL. BaseVM._download_with_cache() takes care of the cache and the
+    checksum, so consider using it.
+
+  - Once the image is downloaded, users, SSH server and QEMU build deps should
+    be set up:
+
+    * Root password set to BaseVM.ROOT_PASS
+    * User BaseVM.GUEST_USER is created, and password set to BaseVM.GUEST_PASS
+    * SSH service is enabled and started on boot, BaseVM.SSH_PUB_KEY is added
+      to authorized_keys of both root and the normal user
+    * DHCP client service is enabled and started on boot, so that it can
+      automatically configure the virtio-net-pci NIC and communicate with QEMU
+      user net (10.0.2.2)
+    * Necessary packages are installed to untar the source tarball and build
+      QEMU
+
+  - Write a proper BUILD_SCRIPT template, which should be a shell script that
+    untars a raw virtio-blk block device, which is the tarball data blob of the
+    QEMU source tree, then configure/build it. Running "make check" is also
+    recommended.
+
-- 
2.13.5

  parent reply	other threads:[~2017-08-28 17:48 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-28 17:46 [Qemu-devel] [PATCH v4 00/10] tests: Add VM based build tests (for non-x86_64 and/or non-Linux) Fam Zheng
2017-08-28 17:46 ` [Qemu-devel] [PATCH v4 01/10] gitignore: Ignore vm test images Fam Zheng
2017-08-28 20:12   ` Philippe Mathieu-Daudé
2017-08-28 17:46 ` [Qemu-devel] [PATCH v4 02/10] qemu.py: Add "wait()" method Fam Zheng
2017-08-28 17:47 ` [Qemu-devel] [PATCH v4 03/10] tests: Add vm test lib Fam Zheng
2017-08-29 12:06   ` Philippe Mathieu-Daudé
2017-08-29 12:11     ` Daniel P. Berrange
2017-08-30  3:27       ` Fam Zheng
2017-08-29 13:10     ` Philippe Mathieu-Daudé
2017-08-29 13:22       ` Kamil Rytarowski
2017-08-29 13:35         ` Philippe Mathieu-Daudé
2017-08-30 10:16           ` Fam Zheng
2017-08-30 13:14             ` Fam Zheng
2017-08-29 12:15   ` Philippe Mathieu-Daudé
2017-08-30  3:29     ` Fam Zheng
2017-08-30 10:15       ` Fam Zheng
2017-08-29 17:34   ` Philippe Mathieu-Daudé
2017-08-30  3:34     ` Fam Zheng
2017-09-01 19:29       ` Philippe Mathieu-Daudé
2017-09-02  5:05         ` Fam Zheng
2017-08-28 17:47 ` [Qemu-devel] [PATCH v4 04/10] tests: Add ubuntu.i386 image Fam Zheng
2017-08-28 17:47 ` [Qemu-devel] [PATCH v4 05/10] tests: Add FreeBSD image Fam Zheng
2017-08-28 17:47 ` [Qemu-devel] [PATCH v4 06/10] tests: Add NetBSD image Fam Zheng
2017-08-29 12:09   ` Philippe Mathieu-Daudé
2017-08-29 21:47     ` Philippe Mathieu-Daudé
2017-08-30  3:32       ` Fam Zheng
2017-08-28 17:47 ` [Qemu-devel] [PATCH v4 07/10] tests: Add OpenBSD image Fam Zheng
2017-08-28 17:47 ` [Qemu-devel] [PATCH v4 08/10] Makefile: Add rules to run vm tests Fam Zheng
2017-08-28 20:18   ` Philippe Mathieu-Daudé
2017-08-29 10:50     ` Fam Zheng
2017-08-28 17:47 ` [Qemu-devel] [PATCH v4 09/10] MAINTAINERS: Add tests/vm entry Fam Zheng
2017-08-28 17:47 ` Fam Zheng [this message]
2017-08-28 17:59 ` [Qemu-devel] [PATCH v4 00/10] tests: Add VM based build tests (for non-x86_64 and/or non-Linux) no-reply

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=20170828174707.20786-11-famz@redhat.com \
    --to=famz@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=berrange@redhat.com \
    --cc=crosa@redhat.com \
    --cc=eblake@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=kamil@netbsd.org \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /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.