qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: "Kamil Rytarowski" <n54@gmx.com>, "Fam Zheng" <fam@euphon.net>,
	qemu-devel@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>,
	"Brad Smith" <brad@comstyle.com>,
	"Peter Maydell" <peter.maydell@linaro.org>
Cc: pbonzini@redhat.com, Kamil Rytarowski <kamil@netbsd.org>,
	stefanha@redhat.com
Subject: Re: [Qemu-devel] [PATCH RFC 8/9] tests: Add OpenBSD image
Date: Thu, 24 Jan 2019 17:10:19 +0100	[thread overview]
Message-ID: <4bf0c77e-ea8f-1813-a6a4-6ab6eb857cd0@redhat.com> (raw)
In-Reply-To: <f4ede6c1-ba9e-777d-8b82-5776cd897943@gmx.com>

[-- Attachment #1: Type: text/plain, Size: 4747 bytes --]

On 1/24/19 4:56 PM, Kamil Rytarowski wrote:
> On 24.01.2019 16:52, Philippe Mathieu-Daudé wrote:
>> On 8/16/17 9:21 AM, Fam Zheng wrote:
>>> The image is prepared following instructions as in:
>>>
>>> https://wiki.qemu.org/Hosts/BSD
>>>
>>> Signed-off-by: Fam Zheng <famz@redhat.com>
>>> ---
>>>  tests/vm/openbsd | 45 +++++++++++++++++++++++++++++++++++++++++++++
>>>  1 file changed, 45 insertions(+)
>>>  create mode 100755 tests/vm/openbsd
>>>
>>> diff --git a/tests/vm/openbsd b/tests/vm/openbsd
>>> new file mode 100755
>>> index 0000000000..d37ff83a59
>>> --- /dev/null
>>> +++ b/tests/vm/openbsd
>>> @@ -0,0 +1,45 @@
>>> +#!/usr/bin/env python
>>> +#
>>> +# OpenBSD VM image
>>> +#
>>> +# Copyright (C) 2017 Red Hat Inc.
>>> +#
>>> +# Authors:
>>> +#  Fam Zheng <famz@redhat.com>
>>> +#
>>> +# This work is licensed under the terms of the GNU GPL, version 2.  See
>>> +# the COPYING file in the top-level directory.
>>> +#
>>> +
>>> +import os
>>> +import sys
>>> +import logging
>>> +import subprocess
>>> +import tempfile
>>> +import time
>>> +import basevm
>>> +
>>> +class OpenBSDVM(basevm.BaseVM):
>>> +    name = "openbsd"
>>> +    BUILD_SCRIPT = """
>>> +        set -e;
>>> +        cd $(mktemp -d /var/tmp/qemu-test.XXXXXX);
>>> +        tar -xf /dev/rsd1c;
>>> +        ./configure --cc=x86_64-unknown-openbsd6.1-gcc-4.9.4 --python=python2.7 {configure_opts};
>>> +        gmake -j{jobs};
>>> +        # XXX: "gmake check" seems to always hang or fail
>>> +        #gmake check;
>>
>> OK, Now it makes more sense...
>>
>> After spending various hours trying to fix various issues on OpenBSD, I
>> notice that we never ran tests on this OS.
>> The only binary I can run is qemu-img, the rest seems useless.
>> I'll summarize in a different thread.
>>
> 
> Is this W^X related?

Part of it could be but I'm not sure.

The 6.1 VM provided by Fam has /usr/local mounted with wxallowed, I
tried building/running there and nothing changed, mmap() still returns
ENOTSUP:

(gdb) bt
#0  0x000017e3c156c50a in _thread_sys___syscall () at {standard input}:5
#1  0x000017e3c15e5d7a in *_libc_mmap (addr=Variable "addr" is not
available.
) at /usr/local/lib/libc/sys/mmap.c:47
#2  0x000017e17d9abc8b in alloc_code_gen_buffer () at
/usr/local/qemu/accel/tcg/translate-all.c:1064
#3  0x000017e17d9abd04 in code_gen_alloc (tb_size=0) at
/usr/local/qemu/accel/tcg/translate-all.c:1112
#4  0x000017e17d9abe81 in tcg_exec_init (tb_size=0) at
/usr/local/qemu/accel/tcg/translate-all.c:1149
#5  0x000017e17d9897e9 in tcg_init (ms=0x17e45e456800) at
/usr/local/qemu/accel/tcg/tcg-all.c:66
#6  0x000017e17d9891b8 in accel_init_machine (acc=0x17e3c3f50800,
ms=0x17e45e456800) at /usr/local/qemu/accel/accel.c:63
#7  0x000017e17d989312 in configure_accelerator (ms=0x17e45e456800,
progname=0x7f7fffff07b0 "lm32-softmmu/qemu-system-lm32") at
/usr/local/qemu/accel/accel.c:111
#8  0x000017e17d9d8616 in main (argc=1, argv=0x7f7fffff06b8,
envp=0x7f7fffff06c8) at vl.c:4325

Since the current script build into /var/tmp (which is symlinked to
/tmp) I also mounted /tmp wxallowed using the following patch:

-- >8 --
--- a/tests/vm/openbsd
+++ b/tests/vm/openbsd
@@ -39,6 +39,12 @@ class OpenBSDVM(basevm.BaseVM):
         if os.path.exists(img):
             os.rename(img_tmp, img)
+        self.boot(img)
+        self.wait_ssh()
+        self.ssh_root_check("sed -E -i 's_(/tmp\ ffs)\ ([^\ ]*)_\\1
\\2,wxallowed_' /etc/fstab")
+        self.ssh_root_check("cat /etc/fstab")
+        self.ssh_root("halt -p")
+        self.wait()
---

$ mount
/dev/sd0a on / type ffs (local)
/dev/sd0k on /home type ffs (local, nodev, nosuid)
/dev/sd0d on /tmp type ffs (local, nodev, nosuid, wxallowed)
/dev/sd0f on /usr type ffs (local, nodev)
/dev/sd0g on /usr/X11R6 type ffs (local, nodev)
/dev/sd0h on /usr/local type ffs (local, nodev, wxallowed)
/dev/sd0j on /usr/obj type ffs (local, nodev, nosuid)
/dev/sd0i on /usr/src type ffs (local, nodev, nosuid)
/dev/sd0e on /var type ffs (local, nodev, nosuid)

Still no progress.

> 
>>> +    """
>>> +
>>> +    def build_image(self, img, rebuild=False):
>>> +        if os.path.exists(img) and not rebuild:
>>> +            return
>>> +        cimg = self._download_with_cache("http://download.patchew.org/openbsd.img.xz")
>>> +        img_tmp_xz = img + ".tmp.xz"
>>> +        img_tmp = img + ".tmp"
>>> +        subprocess.check_call(["cp", "-f", cimg, img_tmp_xz])
>>> +        subprocess.check_call(["xz", "-df", img_tmp_xz])
>>> +        subprocess.check_call(["mv", img_tmp, img])
>>> +
>>> +if __name__ == "__main__":
>>> +    sys.exit(basevm.main(OpenBSDVM))
>>>
>>
> 
> 


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2019-01-24 16:24 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-16  7:20 [Qemu-devel] [PATCH RFC 0/9] tests: Add VM based build tests (for non-x86_64 and/or non-Linux) Fam Zheng
2017-08-16  7:20 ` [Qemu-devel] [PATCH RFC 1/9] gitignore: Ignore vm test images Fam Zheng
2017-08-16  7:20 ` [Qemu-devel] [PATCH RFC 2/9] qemu.py: Add variable vga type Fam Zheng
2017-08-16  9:18   ` Kamil Rytarowski
2017-08-16  7:20 ` [Qemu-devel] [PATCH RFC 3/9] qemu.py: Add "wait()" method Fam Zheng
2017-08-16  8:32   ` Stefan Hajnoczi
2017-08-16 20:50     ` Fam Zheng
2017-08-16  7:20 ` [Qemu-devel] [PATCH RFC 4/9] tests: Add vm test lib Fam Zheng
2017-08-16  8:55   ` Stefan Hajnoczi
2017-08-16 11:49     ` Eric Blake
2017-08-16 21:03     ` Fam Zheng
2017-08-16  7:21 ` [Qemu-devel] [PATCH RFC 5/9] tests: Add ubuntu.i386 image Fam Zheng
2017-08-16  7:21 ` [Qemu-devel] [PATCH RFC 6/9] tests: Add FreeBSD image Fam Zheng
2017-08-16  7:21 ` [Qemu-devel] [PATCH RFC 7/9] tests: Add NetBSD image Fam Zheng
2017-08-16  9:31   ` Kamil Rytarowski
2017-08-16 10:08     ` Fam Zheng
2017-08-16  7:21 ` [Qemu-devel] [PATCH RFC 8/9] tests: Add OpenBSD image Fam Zheng
2019-01-24 15:52   ` Philippe Mathieu-Daudé
2019-01-24 15:56     ` Kamil Rytarowski
2019-01-24 16:10       ` Philippe Mathieu-Daudé [this message]
2019-01-24 16:52         ` Daniel P. Berrangé
2019-01-25  0:48           ` Brad Smith
2019-01-25  6:24             ` Thomas Huth
2019-01-25 18:27               ` Brad Smith
2019-01-25 18:38                 ` Peter Maydell
2019-01-25 23:04                   ` Philippe Mathieu-Daudé
2019-01-25 18:15             ` Philippe Mathieu-Daudé
2019-01-24 16:27     ` Peter Maydell
2017-08-16  7:21 ` [Qemu-devel] [PATCH RFC 9/9] Makefile: Add rules to run vm tests Fam Zheng
2017-08-16  7:46 ` [Qemu-devel] [PATCH RFC 0/9] tests: Add VM based build tests (for non-x86_64 and/or non-Linux) no-reply
2017-08-16  8:56 ` Stefan Hajnoczi
2017-08-16  9:24 ` Kamil Rytarowski
2017-08-16 10:13   ` Fam Zheng
2017-08-16 10:10     ` Kamil Rytarowski

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=4bf0c77e-ea8f-1813-a6a4-6ab6eb857cd0@redhat.com \
    --to=philmd@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=brad@comstyle.com \
    --cc=fam@euphon.net \
    --cc=kamil@netbsd.org \
    --cc=n54@gmx.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).