From nobody Tue Nov 4 13:17:44 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1504162256810261.534609343155; Wed, 30 Aug 2017 23:50:56 -0700 (PDT) Received: from localhost ([::1]:54189 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dnJJW-0004sA-PX for importer@patchew.org; Thu, 31 Aug 2017 02:50:54 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52220) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dnJDK-0007fb-Os for qemu-devel@nongnu.org; Thu, 31 Aug 2017 02:44:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dnJDH-0006t9-LN for qemu-devel@nongnu.org; Thu, 31 Aug 2017 02:44:30 -0400 Received: from mx1.redhat.com ([209.132.183.28]:36356) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dnJDH-0006sk-C7 for qemu-devel@nongnu.org; Thu, 31 Aug 2017 02:44:27 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 54F734A6E4; Thu, 31 Aug 2017 06:44:26 +0000 (UTC) Received: from lemon.redhat.com (ovpn-12-59.pek2.redhat.com [10.72.12.59]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4BC851810B; Thu, 31 Aug 2017 06:44:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 54F734A6E4 Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=famz@redhat.com From: Fam Zheng To: qemu-devel@nongnu.org Date: Thu, 31 Aug 2017 14:43:01 +0800 Message-Id: <20170831064302.14427-12-famz@redhat.com> In-Reply-To: <20170831064302.14427-1-famz@redhat.com> References: <20170831064302.14427-1-famz@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 31 Aug 2017 06:44:26 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v5 11/12] tests: Add README for vm tests X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Fam Zheng , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Kamil Rytarowski , pbonzini@redhat.com, stefanha@redhat.com, Cleber Rosa , =?UTF-8?q?Alex=20Benn=C3=A9e?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Fam Zheng --- 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..7d2fe4ac8d --- /dev/null +++ b/tests/vm/README @@ -0,0 +1,63 @@ +=3D=3D=3D VM test suite to run build in guests =3D=3D=3D + +=3D=3D Intro =3D=3D + +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". + +=3D=3D Quick start =3D=3D + +Run "make vm-test" to list available make targets. + +=3D=3D Manual invocation =3D=3D + +Each guest script is an executable script with the same command line optio= ns. +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 /var/tmp/netbsd.img uname -a + + # To build QEMU in guest + $ ./netbsd --debug --image /var/tmp/netbsd.img --build-qemu $QEMU_SRC + + # To get to an interactive shell + $ ./netbsd --interactive --image /var/tmp/netbsd.img sh + +=3D=3D Adding new guests =3D=3D + +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 predef= ined + 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 sh= ould + 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 ad= ded + 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 bui= ld + QEMU + + - Write a proper BUILD_SCRIPT template, which should be a shell script t= hat + untars a raw virtio-blk block device, which is the tarball data blob o= f the + QEMU source tree, then configure/build it. Running "make check" is also + recommended. + --=20 2.13.5