Testing updates:
- docker updates (various dependencies) - travis updates (s390x KVM build) - tweak qemu/atomic.h headers in event of clash - test/vm updates (NetBSD -> 9.0, FreeBSD -> 12.1) - disable MTTCG for mips64/mips64el -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAl5+A24ACgkQ+9DbCVqe KkQueAf/Vx4A9w+VJaVusfZsq5KzAxLNBawTGeZLulX4k4F8U6gf3AY9J3ayQGc5 NBc84XL3CgwJnm45Thq8Wm0d0TYoWc8gFdDEnoldC+rEmXxy/4vI3j2PSpeQSkXO fPFxbVfNsxVSEkI9Gc5nspGW8752zvt60rWpIwv3L0gaoJWRFK0sAXAkoZEnRmKH Q8m0TPstAF8KAteZsO5Gnsfyn4k+DFrSu7xshzEb22oIP0DLSCkCGTUP3fqS6O8E 6Fk9vY0MEzhuFD5VNyUcfWhrouZuJXBAZeXI3yjvSMifQuR9gbMWhVqQd0ucNdbN NyKWlSnyPNalMZDhVy207p0yL5CaKA== =JrOf -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/stsquad/tags/pull-testing-270320-2' into staging Testing updates: - docker updates (various dependencies) - travis updates (s390x KVM build) - tweak qemu/atomic.h headers in event of clash - test/vm updates (NetBSD -> 9.0, FreeBSD -> 12.1) - disable MTTCG for mips64/mips64el # gpg: Signature made Fri 27 Mar 2020 13:45:18 GMT # gpg: using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44 # gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [full] # Primary key fingerprint: 6685 AE99 E751 67BC AFC8 DF35 FBD0 DB09 5A9E 2A44 * remotes/stsquad/tags/pull-testing-270320-2: .travis.yml: Add a KVM-only s390x job tests/docker: Add libepoxy and libudev packages to the Fedora image tests/docker: Use Python3 PyYAML in the Fedora image tests/docker: Install gcrypt devel package in Debian image tests/docker: Keep package list sorted configure: disable MTTCG for MIPS guests tests/vm: fix basevm config tests/vm: update NetBSD to 9.0 tests/vm: update FreeBSD to 12.1 tests/vm: move vga setup tests/vm: write raw console log qemu/atomic.h: add #ifdef guards for stdatomic.h Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
127fe86433
42
.travis.yml
42
.travis.yml
@ -525,6 +525,48 @@ jobs:
|
|||||||
$(exit $BUILD_RC);
|
$(exit $BUILD_RC);
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
- name: "[s390x] GCC check (KVM)"
|
||||||
|
arch: s390x
|
||||||
|
dist: bionic
|
||||||
|
addons:
|
||||||
|
apt_packages:
|
||||||
|
- libaio-dev
|
||||||
|
- libattr1-dev
|
||||||
|
- libbrlapi-dev
|
||||||
|
- libcap-ng-dev
|
||||||
|
- libgcrypt20-dev
|
||||||
|
- libgnutls28-dev
|
||||||
|
- libgtk-3-dev
|
||||||
|
- libiscsi-dev
|
||||||
|
- liblttng-ust-dev
|
||||||
|
- libncurses5-dev
|
||||||
|
- libnfs-dev
|
||||||
|
- libnss3-dev
|
||||||
|
- libpixman-1-dev
|
||||||
|
- libpng-dev
|
||||||
|
- librados-dev
|
||||||
|
- libsdl2-dev
|
||||||
|
- libseccomp-dev
|
||||||
|
- liburcu-dev
|
||||||
|
- libusb-1.0-0-dev
|
||||||
|
- libvdeplug-dev
|
||||||
|
- libvte-2.91-dev
|
||||||
|
# Tests dependencies
|
||||||
|
- genisoimage
|
||||||
|
env:
|
||||||
|
- TEST_CMD="make check-unit"
|
||||||
|
- CONFIG="--disable-containers --disable-tcg --enable-kvm --disable-tools"
|
||||||
|
script:
|
||||||
|
- ( cd ${SRC_DIR} ; git submodule update --init roms/SLOF )
|
||||||
|
- BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$?
|
||||||
|
- |
|
||||||
|
if [ "$BUILD_RC" -eq 0 ] ; then
|
||||||
|
mv pc-bios/s390-ccw/*.img pc-bios/ ;
|
||||||
|
${TEST_CMD} ;
|
||||||
|
else
|
||||||
|
$(exit $BUILD_RC);
|
||||||
|
fi
|
||||||
|
|
||||||
# Release builds
|
# Release builds
|
||||||
# The make-release script expect a QEMU version, so our tag must start with a 'v'.
|
# The make-release script expect a QEMU version, so our tag must start with a 'v'.
|
||||||
# This is the case when release candidate tags are created.
|
# This is the case when release candidate tags are created.
|
||||||
|
2
configure
vendored
2
configure
vendored
@ -7887,7 +7887,7 @@ case "$target_name" in
|
|||||||
TARGET_SYSTBL_ABI=n32
|
TARGET_SYSTBL_ABI=n32
|
||||||
;;
|
;;
|
||||||
mips64|mips64el)
|
mips64|mips64el)
|
||||||
mttcg="yes"
|
mttcg="no"
|
||||||
TARGET_ARCH=mips64
|
TARGET_ARCH=mips64
|
||||||
TARGET_BASE_ARCH=mips
|
TARGET_BASE_ARCH=mips
|
||||||
echo "TARGET_ABI_MIPSN64=y" >> $config_target_mak
|
echo "TARGET_ABI_MIPSN64=y" >> $config_target_mak
|
||||||
|
@ -208,11 +208,14 @@
|
|||||||
/* Provide shorter names for GCC atomic builtins, return old value */
|
/* Provide shorter names for GCC atomic builtins, return old value */
|
||||||
#define atomic_fetch_inc(ptr) __atomic_fetch_add(ptr, 1, __ATOMIC_SEQ_CST)
|
#define atomic_fetch_inc(ptr) __atomic_fetch_add(ptr, 1, __ATOMIC_SEQ_CST)
|
||||||
#define atomic_fetch_dec(ptr) __atomic_fetch_sub(ptr, 1, __ATOMIC_SEQ_CST)
|
#define atomic_fetch_dec(ptr) __atomic_fetch_sub(ptr, 1, __ATOMIC_SEQ_CST)
|
||||||
|
|
||||||
|
#ifndef atomic_fetch_add
|
||||||
#define atomic_fetch_add(ptr, n) __atomic_fetch_add(ptr, n, __ATOMIC_SEQ_CST)
|
#define atomic_fetch_add(ptr, n) __atomic_fetch_add(ptr, n, __ATOMIC_SEQ_CST)
|
||||||
#define atomic_fetch_sub(ptr, n) __atomic_fetch_sub(ptr, n, __ATOMIC_SEQ_CST)
|
#define atomic_fetch_sub(ptr, n) __atomic_fetch_sub(ptr, n, __ATOMIC_SEQ_CST)
|
||||||
#define atomic_fetch_and(ptr, n) __atomic_fetch_and(ptr, n, __ATOMIC_SEQ_CST)
|
#define atomic_fetch_and(ptr, n) __atomic_fetch_and(ptr, n, __ATOMIC_SEQ_CST)
|
||||||
#define atomic_fetch_or(ptr, n) __atomic_fetch_or(ptr, n, __ATOMIC_SEQ_CST)
|
#define atomic_fetch_or(ptr, n) __atomic_fetch_or(ptr, n, __ATOMIC_SEQ_CST)
|
||||||
#define atomic_fetch_xor(ptr, n) __atomic_fetch_xor(ptr, n, __ATOMIC_SEQ_CST)
|
#define atomic_fetch_xor(ptr, n) __atomic_fetch_xor(ptr, n, __ATOMIC_SEQ_CST)
|
||||||
|
#endif
|
||||||
|
|
||||||
#define atomic_inc_fetch(ptr) __atomic_add_fetch(ptr, 1, __ATOMIC_SEQ_CST)
|
#define atomic_inc_fetch(ptr) __atomic_add_fetch(ptr, 1, __ATOMIC_SEQ_CST)
|
||||||
#define atomic_dec_fetch(ptr) __atomic_sub_fetch(ptr, 1, __ATOMIC_SEQ_CST)
|
#define atomic_dec_fetch(ptr) __atomic_sub_fetch(ptr, 1, __ATOMIC_SEQ_CST)
|
||||||
@ -392,11 +395,14 @@
|
|||||||
/* Provide shorter names for GCC atomic builtins. */
|
/* Provide shorter names for GCC atomic builtins. */
|
||||||
#define atomic_fetch_inc(ptr) __sync_fetch_and_add(ptr, 1)
|
#define atomic_fetch_inc(ptr) __sync_fetch_and_add(ptr, 1)
|
||||||
#define atomic_fetch_dec(ptr) __sync_fetch_and_add(ptr, -1)
|
#define atomic_fetch_dec(ptr) __sync_fetch_and_add(ptr, -1)
|
||||||
|
|
||||||
|
#ifndef atomic_fetch_add
|
||||||
#define atomic_fetch_add(ptr, n) __sync_fetch_and_add(ptr, n)
|
#define atomic_fetch_add(ptr, n) __sync_fetch_and_add(ptr, n)
|
||||||
#define atomic_fetch_sub(ptr, n) __sync_fetch_and_sub(ptr, n)
|
#define atomic_fetch_sub(ptr, n) __sync_fetch_and_sub(ptr, n)
|
||||||
#define atomic_fetch_and(ptr, n) __sync_fetch_and_and(ptr, n)
|
#define atomic_fetch_and(ptr, n) __sync_fetch_and_and(ptr, n)
|
||||||
#define atomic_fetch_or(ptr, n) __sync_fetch_and_or(ptr, n)
|
#define atomic_fetch_or(ptr, n) __sync_fetch_and_or(ptr, n)
|
||||||
#define atomic_fetch_xor(ptr, n) __sync_fetch_and_xor(ptr, n)
|
#define atomic_fetch_xor(ptr, n) __sync_fetch_and_xor(ptr, n)
|
||||||
|
#endif
|
||||||
|
|
||||||
#define atomic_inc_fetch(ptr) __sync_add_and_fetch(ptr, 1)
|
#define atomic_inc_fetch(ptr) __sync_add_and_fetch(ptr, 1)
|
||||||
#define atomic_dec_fetch(ptr) __sync_add_and_fetch(ptr, -1)
|
#define atomic_dec_fetch(ptr) __sync_add_and_fetch(ptr, -1)
|
||||||
|
@ -2,6 +2,8 @@ FROM centos:7
|
|||||||
RUN yum install -y epel-release centos-release-xen-48
|
RUN yum install -y epel-release centos-release-xen-48
|
||||||
|
|
||||||
RUN yum -y update
|
RUN yum -y update
|
||||||
|
|
||||||
|
# Please keep this list sorted alphabetically
|
||||||
ENV PACKAGES \
|
ENV PACKAGES \
|
||||||
bison \
|
bison \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
@ -19,6 +21,7 @@ ENV PACKAGES \
|
|||||||
libepoxy-devel \
|
libepoxy-devel \
|
||||||
libfdt-devel \
|
libfdt-devel \
|
||||||
librdmacm-devel \
|
librdmacm-devel \
|
||||||
|
libzstd-devel \
|
||||||
lzo-devel \
|
lzo-devel \
|
||||||
make \
|
make \
|
||||||
mesa-libEGL-devel \
|
mesa-libEGL-devel \
|
||||||
@ -33,7 +36,6 @@ ENV PACKAGES \
|
|||||||
tar \
|
tar \
|
||||||
vte-devel \
|
vte-devel \
|
||||||
xen-devel \
|
xen-devel \
|
||||||
zlib-devel \
|
zlib-devel
|
||||||
libzstd-devel
|
|
||||||
RUN yum install -y $PACKAGES
|
RUN yum install -y $PACKAGES
|
||||||
RUN rpm -q $PACKAGES | sort > /packages.txt
|
RUN rpm -q $PACKAGES | sort > /packages.txt
|
||||||
|
@ -16,6 +16,7 @@ RUN apt update && \
|
|||||||
apt install -y --no-install-recommends \
|
apt install -y --no-install-recommends \
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
liblzo2-dev \
|
liblzo2-dev \
|
||||||
|
libgcrypt20-dev \
|
||||||
librdmacm-dev \
|
librdmacm-dev \
|
||||||
libsasl2-dev \
|
libsasl2-dev \
|
||||||
libsnappy-dev \
|
libsnappy-dev \
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
FROM fedora:30
|
FROM fedora:30
|
||||||
|
|
||||||
|
# Please keep this list sorted alphabetically
|
||||||
ENV PACKAGES \
|
ENV PACKAGES \
|
||||||
bc \
|
bc \
|
||||||
bison \
|
bison \
|
||||||
@ -27,6 +29,7 @@ ENV PACKAGES \
|
|||||||
libblockdev-mpath-devel \
|
libblockdev-mpath-devel \
|
||||||
libcap-ng-devel \
|
libcap-ng-devel \
|
||||||
libcurl-devel \
|
libcurl-devel \
|
||||||
|
libepoxy-devel \
|
||||||
libfdt-devel \
|
libfdt-devel \
|
||||||
libiscsi-devel \
|
libiscsi-devel \
|
||||||
libjpeg-devel \
|
libjpeg-devel \
|
||||||
@ -36,8 +39,10 @@ ENV PACKAGES \
|
|||||||
libseccomp-devel \
|
libseccomp-devel \
|
||||||
libssh-devel \
|
libssh-devel \
|
||||||
libubsan \
|
libubsan \
|
||||||
|
libudev-devel \
|
||||||
libusbx-devel \
|
libusbx-devel \
|
||||||
libxml2-devel \
|
libxml2-devel \
|
||||||
|
libzstd-devel \
|
||||||
llvm \
|
llvm \
|
||||||
lzo-devel \
|
lzo-devel \
|
||||||
make \
|
make \
|
||||||
@ -76,8 +81,8 @@ ENV PACKAGES \
|
|||||||
perl-Test-Harness \
|
perl-Test-Harness \
|
||||||
pixman-devel \
|
pixman-devel \
|
||||||
python3 \
|
python3 \
|
||||||
|
python3-PyYAML \
|
||||||
python3-sphinx \
|
python3-sphinx \
|
||||||
PyYAML \
|
|
||||||
rdma-core-devel \
|
rdma-core-devel \
|
||||||
SDL2-devel \
|
SDL2-devel \
|
||||||
snappy-devel \
|
snappy-devel \
|
||||||
@ -92,8 +97,7 @@ ENV PACKAGES \
|
|||||||
vte291-devel \
|
vte291-devel \
|
||||||
which \
|
which \
|
||||||
xen-devel \
|
xen-devel \
|
||||||
zlib-devel \
|
zlib-devel
|
||||||
libzstd-devel
|
|
||||||
ENV QEMU_CONFIGURE_OPTS --python=/usr/bin/python3
|
ENV QEMU_CONFIGURE_OPTS --python=/usr/bin/python3
|
||||||
|
|
||||||
RUN dnf install -y $PACKAGES
|
RUN dnf install -y $PACKAGES
|
||||||
|
@ -179,7 +179,6 @@ class BaseVM(object):
|
|||||||
|
|
||||||
def boot(self, img, extra_args=[]):
|
def boot(self, img, extra_args=[]):
|
||||||
args = self._args + [
|
args = self._args + [
|
||||||
"-device", "VGA",
|
|
||||||
"-drive", "file=%s,if=none,id=drive0,cache=writeback" % img,
|
"-drive", "file=%s,if=none,id=drive0,cache=writeback" % img,
|
||||||
"-device", "virtio-blk,drive=drive0,bootindex=0"]
|
"-device", "virtio-blk,drive=drive0,bootindex=0"]
|
||||||
args += self._data_args + extra_args
|
args += self._data_args + extra_args
|
||||||
@ -213,6 +212,9 @@ class BaseVM(object):
|
|||||||
def console_init(self, timeout = 120):
|
def console_init(self, timeout = 120):
|
||||||
vm = self._guest
|
vm = self._guest
|
||||||
vm.console_socket.settimeout(timeout)
|
vm.console_socket.settimeout(timeout)
|
||||||
|
self.console_raw_path = os.path.join(vm._temp_dir,
|
||||||
|
vm._name + "-console.raw")
|
||||||
|
self.console_raw_file = open(self.console_raw_path, 'wb')
|
||||||
|
|
||||||
def console_log(self, text):
|
def console_log(self, text):
|
||||||
for line in re.split("[\r\n]", text):
|
for line in re.split("[\r\n]", text):
|
||||||
@ -234,6 +236,9 @@ class BaseVM(object):
|
|||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
chars = vm.console_socket.recv(1)
|
chars = vm.console_socket.recv(1)
|
||||||
|
if self.console_raw_file:
|
||||||
|
self.console_raw_file.write(chars)
|
||||||
|
self.console_raw_file.flush()
|
||||||
except socket.timeout:
|
except socket.timeout:
|
||||||
sys.stderr.write("console: *** read timeout ***\n")
|
sys.stderr.write("console: *** read timeout ***\n")
|
||||||
sys.stderr.write("console: waiting for: '%s'\n" % expect)
|
sys.stderr.write("console: waiting for: '%s'\n" % expect)
|
||||||
@ -353,23 +358,23 @@ class BaseVM(object):
|
|||||||
"local-hostname: {}-guest\n".format(name)])
|
"local-hostname: {}-guest\n".format(name)])
|
||||||
mdata.close()
|
mdata.close()
|
||||||
udata = open(os.path.join(cidir, "user-data"), "w")
|
udata = open(os.path.join(cidir, "user-data"), "w")
|
||||||
print("guest user:pw {}:{}".format(self._config['guest_user'],
|
print("guest user:pw {}:{}".format(self.GUEST_USER,
|
||||||
self._config['guest_pass']))
|
self.GUEST_PASS))
|
||||||
udata.writelines(["#cloud-config\n",
|
udata.writelines(["#cloud-config\n",
|
||||||
"chpasswd:\n",
|
"chpasswd:\n",
|
||||||
" list: |\n",
|
" list: |\n",
|
||||||
" root:%s\n" % self._config['root_pass'],
|
" root:%s\n" % self.ROOT_PASS,
|
||||||
" %s:%s\n" % (self._config['guest_user'],
|
" %s:%s\n" % (self.GUEST_USER,
|
||||||
self._config['guest_pass']),
|
self.GUEST_PASS),
|
||||||
" expire: False\n",
|
" expire: False\n",
|
||||||
"users:\n",
|
"users:\n",
|
||||||
" - name: %s\n" % self._config['guest_user'],
|
" - name: %s\n" % self.GUEST_USER,
|
||||||
" sudo: ALL=(ALL) NOPASSWD:ALL\n",
|
" sudo: ALL=(ALL) NOPASSWD:ALL\n",
|
||||||
" ssh-authorized-keys:\n",
|
" ssh-authorized-keys:\n",
|
||||||
" - %s\n" % self._config['ssh_pub_key'],
|
" - %s\n" % SSH_PUB_KEY,
|
||||||
" - name: root\n",
|
" - name: root\n",
|
||||||
" ssh-authorized-keys:\n",
|
" ssh-authorized-keys:\n",
|
||||||
" - %s\n" % self._config['ssh_pub_key'],
|
" - %s\n" % SSH_PUB_KEY,
|
||||||
"locale: en_US.UTF-8\n"])
|
"locale: en_US.UTF-8\n"])
|
||||||
proxy = os.environ.get("http_proxy")
|
proxy = os.environ.get("http_proxy")
|
||||||
if not proxy is None:
|
if not proxy is None:
|
||||||
|
@ -82,6 +82,7 @@ class FedoraVM(basevm.BaseVM):
|
|||||||
self.boot(img_tmp, extra_args = [
|
self.boot(img_tmp, extra_args = [
|
||||||
"-bios", "pc-bios/bios-256k.bin",
|
"-bios", "pc-bios/bios-256k.bin",
|
||||||
"-machine", "graphics=off",
|
"-machine", "graphics=off",
|
||||||
|
"-device", "VGA",
|
||||||
"-cdrom", iso
|
"-cdrom", iso
|
||||||
])
|
])
|
||||||
self.console_init(300)
|
self.console_init(300)
|
||||||
|
@ -24,8 +24,8 @@ class FreeBSDVM(basevm.BaseVM):
|
|||||||
name = "freebsd"
|
name = "freebsd"
|
||||||
arch = "x86_64"
|
arch = "x86_64"
|
||||||
|
|
||||||
link = "https://download.freebsd.org/ftp/releases/ISO-IMAGES/12.0/FreeBSD-12.0-RELEASE-amd64-disc1.iso.xz"
|
link = "https://download.freebsd.org/ftp/releases/ISO-IMAGES/12.1/FreeBSD-12.1-RELEASE-amd64-disc1.iso.xz"
|
||||||
csum = "1d40015bea89d05b8bd13e2ed80c40b522a9ec1abd8e7c8b80954fb485fb99db"
|
csum = "7394c3f60a1e236e7bd3a05809cf43ae39a3b8e5d42d782004cf2f26b1cfcd88"
|
||||||
size = "20G"
|
size = "20G"
|
||||||
pkgs = [
|
pkgs = [
|
||||||
# build tools
|
# build tools
|
||||||
@ -92,6 +92,7 @@ class FreeBSDVM(basevm.BaseVM):
|
|||||||
self.boot(img_tmp, extra_args = [
|
self.boot(img_tmp, extra_args = [
|
||||||
"-bios", "pc-bios/bios-256k.bin",
|
"-bios", "pc-bios/bios-256k.bin",
|
||||||
"-machine", "graphics=off",
|
"-machine", "graphics=off",
|
||||||
|
"-device", "VGA",
|
||||||
"-cdrom", iso
|
"-cdrom", iso
|
||||||
])
|
])
|
||||||
self.console_init()
|
self.console_init()
|
||||||
|
@ -22,8 +22,8 @@ class NetBSDVM(basevm.BaseVM):
|
|||||||
name = "netbsd"
|
name = "netbsd"
|
||||||
arch = "x86_64"
|
arch = "x86_64"
|
||||||
|
|
||||||
link = "https://cdn.netbsd.org/pub/NetBSD/NetBSD-8.1/images/NetBSD-8.1-amd64.iso"
|
link = "https://cdn.netbsd.org/pub/NetBSD/NetBSD-9.0/images/NetBSD-9.0-amd64.iso"
|
||||||
csum = "718f275b7e0879599bdac95630c5e3f2184700032fdb6cdebf3bdd63687898c48ff3f08f57b89f4437a86cdd8ea07c01a39d432dbb37e1e4b008f4985f98da3f"
|
csum = "34da4882ee61bdbf69f241195a8933dc800949d30b43fc6988da853d57fc2b8cac50cf97a0d2adaf93250b4e329d189c1a8b83c33bd515226f37745d50c33369"
|
||||||
size = "20G"
|
size = "20G"
|
||||||
pkgs = [
|
pkgs = [
|
||||||
# tools
|
# tools
|
||||||
@ -89,38 +89,28 @@ class NetBSDVM(basevm.BaseVM):
|
|||||||
"-cdrom", iso
|
"-cdrom", iso
|
||||||
])
|
])
|
||||||
self.console_init()
|
self.console_init()
|
||||||
self.console_wait("Primary Bootstrap")
|
self.console_wait_send("3. Drop to boot prompt", "3")
|
||||||
|
self.console_wait_send("> ", "consdev com0\n")
|
||||||
# serial console boot menu output doesn't work for some
|
|
||||||
# reason, so we have to fly blind ...
|
|
||||||
for char in list("5consdev com0\n"):
|
|
||||||
time.sleep(0.2)
|
|
||||||
self.console_send(char)
|
|
||||||
self.console_consume()
|
|
||||||
self.console_wait_send("> ", "boot\n")
|
self.console_wait_send("> ", "boot\n")
|
||||||
|
|
||||||
self.console_wait_send("Terminal type", "xterm\n")
|
self.console_wait_send("Terminal type", "xterm\n")
|
||||||
self.console_wait_send("a: Installation messages", "a\n")
|
self.console_wait_send("a: Installation messages", "a\n")
|
||||||
self.console_wait_send("b: US-English", "b\n")
|
|
||||||
self.console_wait_send("a: Install NetBSD", "a\n")
|
self.console_wait_send("a: Install NetBSD", "a\n")
|
||||||
self.console_wait("Shall we continue?")
|
self.console_wait("Shall we continue?")
|
||||||
self.console_wait_send("b: Yes", "b\n")
|
self.console_wait_send("b: Yes", "b\n")
|
||||||
|
|
||||||
self.console_wait_send("a: ld0", "a\n")
|
self.console_wait_send("a: ld0", "a\n")
|
||||||
|
self.console_wait_send("a: Guid Partition Table", "a\n")
|
||||||
self.console_wait_send("a: This is the correct", "a\n")
|
self.console_wait_send("a: This is the correct", "a\n")
|
||||||
self.console_wait_send("b: Use the entire disk", "b\n")
|
self.console_wait_send("b: Use default part", "b\n")
|
||||||
self.console_wait("NetBSD bootcode")
|
|
||||||
self.console_wait_send("a: Yes", "a\n")
|
|
||||||
self.console_wait_send("b: Use existing part", "b\n")
|
|
||||||
self.console_wait_send("x: Partition sizes ok", "x\n")
|
self.console_wait_send("x: Partition sizes ok", "x\n")
|
||||||
self.console_wait_send("for your NetBSD disk", "\n")
|
|
||||||
self.console_wait("Shall we continue?")
|
self.console_wait("Shall we continue?")
|
||||||
self.console_wait_send("b: Yes", "b\n")
|
self.console_wait_send("b: Yes", "b\n")
|
||||||
|
|
||||||
self.console_wait_send("b: Use serial port com0", "b\n")
|
self.console_wait_send("b: Use serial port com0", "b\n")
|
||||||
self.console_wait_send("f: Set serial baud rate", "f\n")
|
self.console_wait_send("f: Set serial baud rate", "f\n")
|
||||||
self.console_wait_send("a: 9600", "a\n")
|
self.console_wait_send("a: 9600", "a\n")
|
||||||
self.console_wait_send("x: Exit", "x\n")
|
self.console_wait_send("x: Continue", "x\n")
|
||||||
|
|
||||||
self.console_wait_send("a: Full installation", "a\n")
|
self.console_wait_send("a: Full installation", "a\n")
|
||||||
self.console_wait_send("a: CD-ROM", "a\n")
|
self.console_wait_send("a: CD-ROM", "a\n")
|
||||||
|
@ -82,6 +82,7 @@ class OpenBSDVM(basevm.BaseVM):
|
|||||||
self.boot(img_tmp, extra_args = [
|
self.boot(img_tmp, extra_args = [
|
||||||
"-bios", "pc-bios/bios-256k.bin",
|
"-bios", "pc-bios/bios-256k.bin",
|
||||||
"-machine", "graphics=off",
|
"-machine", "graphics=off",
|
||||||
|
"-device", "VGA",
|
||||||
"-cdrom", iso
|
"-cdrom", iso
|
||||||
])
|
])
|
||||||
self.console_init()
|
self.console_init()
|
||||||
|
@ -36,7 +36,10 @@ class UbuntuX86VM(basevm.BaseVM):
|
|||||||
img_tmp = img + ".tmp"
|
img_tmp = img + ".tmp"
|
||||||
subprocess.check_call(["cp", "-f", cimg, img_tmp])
|
subprocess.check_call(["cp", "-f", cimg, img_tmp])
|
||||||
self.exec_qemu_img("resize", img_tmp, "50G")
|
self.exec_qemu_img("resize", img_tmp, "50G")
|
||||||
self.boot(img_tmp, extra_args = ["-cdrom", self.gen_cloud_init_iso()])
|
self.boot(img_tmp, extra_args = [
|
||||||
|
"-device", "VGA",
|
||||||
|
"-cdrom", self.gen_cloud_init_iso()
|
||||||
|
])
|
||||||
self.wait_ssh()
|
self.wait_ssh()
|
||||||
self.ssh_root_check("touch /etc/cloud/cloud-init.disabled")
|
self.ssh_root_check("touch /etc/cloud/cloud-init.disabled")
|
||||||
self.ssh_root_check("apt-get update")
|
self.ssh_root_check("apt-get update")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user