Re: [Qemu-devel] [PATCH RFC 8/9] tests: Add OpenBSD image

2019-01-25 Thread Philippe Mathieu-Daudé
On 1/25/19 7:38 PM, Peter Maydell wrote:
> On Fri, 25 Jan 2019 at 18:36, Brad Smith  wrote:
>>
>> On 1/25/2019 1:24 AM, Thomas Huth wrote:
>>
>>> On 2019-01-25 01:48, Brad Smith wrote:
 Our ports tree has an option which results in the QEMU binaries being
 linked with "-z wxneeded".
>>> Then it's maybe high time to send such changes upstream now ;-)
>>
>>
>> I have not considered submitting such a patch as it's just a workaround
>> for an
>> issue within QEMU. Everything else that we had as local patches or local
>> build
>> fiddling to build things properly has been integrated in some manner.
> 
> We'll happily take a patch that fixes the underlying issue properly
> if you'd prefer...

I sent "configure: Disable W^X on OpenBSD" to help upstream developers
to test their patches on OpenBSD here:
https://lists.gnu.org/archive/html/qemu-devel/2019-01/msg06674.html

Regards,

Phil.



Re: [Qemu-devel] [PATCH RFC 8/9] tests: Add OpenBSD image

2019-01-25 Thread Peter Maydell
On Fri, 25 Jan 2019 at 18:36, Brad Smith  wrote:
>
> On 1/25/2019 1:24 AM, Thomas Huth wrote:
>
> > On 2019-01-25 01:48, Brad Smith wrote:
> >> Our ports tree has an option which results in the QEMU binaries being
> >> linked with "-z wxneeded".
> > Then it's maybe high time to send such changes upstream now ;-)
>
>
> I have not considered submitting such a patch as it's just a workaround
> for an
> issue within QEMU. Everything else that we had as local patches or local
> build
> fiddling to build things properly has been integrated in some manner.

We'll happily take a patch that fixes the underlying issue properly
if you'd prefer...

thanks
-- PMM



Re: [Qemu-devel] [PATCH RFC 8/9] tests: Add OpenBSD image

2019-01-25 Thread Brad Smith

On 1/25/2019 1:24 AM, Thomas Huth wrote:


On 2019-01-25 01:48, Brad Smith wrote:

On 1/24/2019 11:52 AM, Daniel P. Berrangé wrote:


On Thu, Jan 24, 2019 at 05:10:19PM +0100, Philippe Mathieu-Daudé wrote:

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 
---
   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 00..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 
+#
+# 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.XX);
+    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:

ENOTSUP from mmap is certainly what you'd expect from the W^X  scenario

    https://undeadly.org/cgi?action=article=20160527203200

   "W^X violations are no longer permitted by default.  A kernel log
message
    is generated, and mprotect/mmap return ENOTSUP.  If the sysctl(8) flag
    kern.wxabort is set then a SIGABRT occurs instead, for gdb use or
coredump
    creation."

Yes, this policy change was introduced with 6.0.

Our ports tree has an option which results in the QEMU binaries being
linked with "-z wxneeded".

Then it's maybe high time to send such changes upstream now ;-)



I have not considered submitting such a patch as it's just a workaround 
for an
issue within QEMU. Everything else that we had as local patches or local 
build

fiddling to build things properly has been integrated in some manner.




Re: [Qemu-devel] [PATCH RFC 8/9] tests: Add OpenBSD image

2019-01-25 Thread Philippe Mathieu-Daudé
On 1/25/19 1:48 AM, Brad Smith wrote:
> On 1/24/2019 11:52 AM, Daniel P. Berrangé wrote:
> 
>> On Thu, Jan 24, 2019 at 05:10:19PM +0100, Philippe Mathieu-Daudé wrote:
>>> 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 
>> ---
>>   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 00..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 
>> +#
>> +# 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.XX);
>> +    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:
>> ENOTSUP from mmap is certainly what you'd expect from the W^X  scenario
>>
>>    https://undeadly.org/cgi?action=article=20160527203200
>>
>>   "W^X violations are no longer permitted by default.  A kernel log
>> message
>>    is generated, and mprotect/mmap return ENOTSUP.  If the sysctl(8) flag
>>    kern.wxabort is set then a SIGABRT occurs instead, for gdb use or
>> coredump
>>    creation."
> 
> Yes, this policy change was introduced with 6.0.
> 
> Our ports tree has an option which results in the QEMU binaries being
> linked with "-z wxneeded".

I was preparing a draft about deprecating/removing OpenBSD support
because it is broken/untested... For sure it is untested.
/me feeling he lost 2 days...



Re: [Qemu-devel] [PATCH RFC 8/9] tests: Add OpenBSD image

2019-01-24 Thread Thomas Huth
On 2019-01-25 01:48, Brad Smith wrote:
> On 1/24/2019 11:52 AM, Daniel P. Berrangé wrote:
> 
>> On Thu, Jan 24, 2019 at 05:10:19PM +0100, Philippe Mathieu-Daudé wrote:
>>> 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 
>> ---
>>   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 00..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 
>> +#
>> +# 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.XX);
>> +    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:
>> ENOTSUP from mmap is certainly what you'd expect from the W^X  scenario
>>
>>    https://undeadly.org/cgi?action=article=20160527203200
>>
>>   "W^X violations are no longer permitted by default.  A kernel log
>> message
>>    is generated, and mprotect/mmap return ENOTSUP.  If the sysctl(8) flag
>>    kern.wxabort is set then a SIGABRT occurs instead, for gdb use or
>> coredump
>>    creation."
> 
> Yes, this policy change was introduced with 6.0.
> 
> Our ports tree has an option which results in the QEMU binaries being
> linked with "-z wxneeded".

Then it's maybe high time to send such changes upstream now ;-)

 Thomas



Re: [Qemu-devel] [PATCH RFC 8/9] tests: Add OpenBSD image

2019-01-24 Thread Brad Smith

On 1/24/2019 11:52 AM, Daniel P. Berrangé wrote:


On Thu, Jan 24, 2019 at 05:10:19PM +0100, Philippe Mathieu-Daudé wrote:

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 
---
  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 00..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 
+#
+# 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.XX);
+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:

ENOTSUP from mmap is certainly what you'd expect from the W^X  scenario

   https://undeadly.org/cgi?action=article=20160527203200

  "W^X violations are no longer permitted by default.  A kernel log message
   is generated, and mprotect/mmap return ENOTSUP.  If the sysctl(8) flag
   kern.wxabort is set then a SIGABRT occurs instead, for gdb use or coredump
   creation."


Yes, this policy change was introduced with 6.0.

Our ports tree has an option which results in the QEMU binaries being 
linked with "-z wxneeded".





Re: [Qemu-devel] [PATCH RFC 8/9] tests: Add OpenBSD image

2019-01-24 Thread Daniel P . Berrangé
On Thu, Jan 24, 2019 at 05:10:19PM +0100, Philippe Mathieu-Daudé wrote:
> 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 
> >>> ---
> >>>  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 00..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 
> >>> +#
> >>> +# 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.XX);
> >>> +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:

ENOTSUP from mmap is certainly what you'd expect from the W^X  scenario

  https://undeadly.org/cgi?action=article=20160527203200

 "W^X violations are no longer permitted by default.  A kernel log message
  is generated, and mprotect/mmap return ENOTSUP.  If the sysctl(8) flag
  kern.wxabort is set then a SIGABRT occurs instead, for gdb use or coredump
  creation."


> 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.

Regards,
Daniel
-- 
|: https://berrange.com  -o-https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o-https://fstop138.berrange.com :|
|: https://entangle-photo.org-o-https://www.instagram.com/dberrange :|



Re: [Qemu-devel] [PATCH RFC 8/9] tests: Add OpenBSD image

2019-01-24 Thread Peter Maydell
On Thu, 24 Jan 2019 at 15:52, Philippe Mathieu-Daudé  wrote:
> After spending various hours trying to fix various issues on OpenBSD, I
> notice that we never ran tests on this OS.

When I was running tests on a custom OpenBSD VM rather than
using the tests/vm one I'm pretty sure I used to run "make check"
on it, so I was a bit surprised to see that tests weren't run
for the tests/vm setup, but I never cared enough to try to
find out why...

thanks
-- PMM



Re: [Qemu-devel] [PATCH RFC 8/9] tests: Add OpenBSD image

2019-01-24 Thread Philippe Mathieu-Daudé
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 
>>> ---
>>>  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 00..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 
>>> +#
>>> +# 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.XX);
>>> +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  0x17e3c156c50a in _thread_sys___syscall () at {standard input}:5
#1  0x17e3c15e5d7a in *_libc_mmap (addr=Variable "addr" is not
available.
) at /usr/local/lib/libc/sys/mmap.c:47
#2  0x17e17d9abc8b in alloc_code_gen_buffer () at
/usr/local/qemu/accel/tcg/translate-all.c:1064
#3  0x17e17d9abd04 in code_gen_alloc (tb_size=0) at
/usr/local/qemu/accel/tcg/translate-all.c:1112
#4  0x17e17d9abe81 in tcg_exec_init (tb_size=0) at
/usr/local/qemu/accel/tcg/translate-all.c:1149
#5  0x17e17d9897e9 in tcg_init (ms=0x17e45e456800) at
/usr/local/qemu/accel/tcg/tcg-all.c:66
#6  0x17e17d9891b8 in accel_init_machine (acc=0x17e3c3f50800,
ms=0x17e45e456800) at /usr/local/qemu/accel/accel.c:63
#7  0x17e17d989312 in configure_accelerator (ms=0x17e45e456800,
progname=0x7f7f07b0 "lm32-softmmu/qemu-system-lm32") at
/usr/local/qemu/accel/accel.c:111
#8  0x17e17d9d8616 in main (argc=1, argv=0x7f7f06b8,
envp=0x7f7f06c8) 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))
>>>
>>
> 
> 



signature.asc
Description: OpenPGP digital signature


Re: [Qemu-devel] [PATCH RFC 8/9] tests: Add OpenBSD image

2019-01-24 Thread Kamil Rytarowski
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 
>> ---
>>  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 00..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 
>> +#
>> +# 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.XX);
>> +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?

>> +"""
>> +
>> +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))
>>
> 




signature.asc
Description: OpenPGP digital signature


Re: [Qemu-devel] [PATCH RFC 8/9] tests: Add OpenBSD image

2019-01-24 Thread Philippe Mathieu-Daudé
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 
> ---
>  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 00..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 
> +#
> +# 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.XX);
> +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.

> +"""
> +
> +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))
> 



[Qemu-devel] [PATCH RFC 8/9] tests: Add OpenBSD image

2017-08-16 Thread Fam Zheng
The image is prepared following instructions as in:

https://wiki.qemu.org/Hosts/BSD

Signed-off-by: Fam Zheng 
---
 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 00..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 
+#
+# 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.XX);
+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;
+"""
+
+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))
-- 
2.13.4