The image is prepared following instructions as in:
https://wiki.qemu.org/Hosts/BSD
Signed-off-by: Fam Zheng <famz@redhat.com>
---
tests/vm/freebsd | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
create mode 100755 tests/vm/freebsd
diff --git a/tests/vm/freebsd b/tests/vm/freebsd
new file mode 100755
index 0000000000..039dad8f69
--- /dev/null
+++ b/tests/vm/freebsd
@@ -0,0 +1,42 @@
+#!/usr/bin/env python
+#
+# FreeBSD VM image
+#
+# Copyright 2017 Red Hat Inc.
+#
+# Authors:
+# Fam Zheng <famz@redhat.com>
+#
+# This code is licensed under the GPL version 2 or later. See
+# the COPYING file in the top-level directory.
+#
+
+import os
+import sys
+import subprocess
+import basevm
+
+class FreeBSDVM(basevm.BaseVM):
+ name = "freebsd"
+ BUILD_SCRIPT = """
+ set -e;
+ cd $(mktemp -d /var/tmp/qemu-test.XXXXXX);
+ tar -xf /dev/vtbd1;
+ ./configure {configure_opts};
+ gmake -j{jobs};
+ gmake check;
+ """
+
+ def build_image(self, img):
+ cimg = self._download_with_cache("http://download.patchew.org/freebsd-11.1-amd64.img.xz",
+ sha256sum='adcb771549b37bc63826c501f05121a206ed3d9f55f49145908f7e1432d65891')
+ 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])
+ if os.path.exists(img):
+ os.remove(img)
+ os.rename(img_tmp, img)
+
+if __name__ == "__main__":
+ sys.exit(basevm.main(FreeBSDVM))
--
2.13.5
Hi Fam,
On 09/21/2017 12:07 PM, 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/freebsd | 42 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 42 insertions(+)
> create mode 100755 tests/vm/freebsd
>
> diff --git a/tests/vm/freebsd b/tests/vm/freebsd
> new file mode 100755
> index 0000000000..039dad8f69
> --- /dev/null
> +++ b/tests/vm/freebsd
> @@ -0,0 +1,42 @@
> +#!/usr/bin/env python
> +#
> +# FreeBSD VM image
> +#
> +# Copyright 2017 Red Hat Inc.
> +#
> +# Authors:
> +# Fam Zheng <famz@redhat.com>
> +#
> +# This code is licensed under the GPL version 2 or later. See
> +# the COPYING file in the top-level directory.
> +#
> +
> +import os
> +import sys
> +import subprocess
> +import basevm
> +
> +class FreeBSDVM(basevm.BaseVM):
> + name = "freebsd"
> + BUILD_SCRIPT = """
> + set -e;
> + cd $(mktemp -d /var/tmp/qemu-test.XXXXXX);
> + tar -xf /dev/vtbd1;
> + ./configure {configure_opts};
> + gmake -j{jobs};
> + gmake check;
> + """
> +
> + def build_image(self, img):
> + cimg = self._download_with_cache("http://download.patchew.org/freebsd-11.1-amd64.img.xz",
> + sha256sum='adcb771549b37bc63826c501f05121a206ed3d9f55f49145908f7e1432d65891')
> + img_tmp_xz = img + ".tmp.xz"
> + img_tmp = img + ".tmp"
> + subprocess.check_call(["cp", "-f", cimg, img_tmp_xz])
I'd rather see this part common to 3 images refactored as @static
BaseVM.download_and_extract_image() and some logging:
logging.debug("Extracting %s...", fname)
> + subprocess.check_call(["xz", "-df", img_tmp_xz])
else one wonder what's happening here.
(for another patch on top on this series)
> + if os.path.exists(img):
> + os.remove(img)
> + os.rename(img_tmp, img)
> +
> +if __name__ == "__main__":
> + sys.exit(basevm.main(FreeBSDVM))
>
On Fri, 09/22 00:17, Philippe Mathieu-Daudé wrote:
> Hi Fam,
>
> On 09/21/2017 12:07 PM, 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/freebsd | 42 ++++++++++++++++++++++++++++++++++++++++++
> > 1 file changed, 42 insertions(+)
> > create mode 100755 tests/vm/freebsd
> >
> > diff --git a/tests/vm/freebsd b/tests/vm/freebsd
> > new file mode 100755
> > index 0000000000..039dad8f69
> > --- /dev/null
> > +++ b/tests/vm/freebsd
> > @@ -0,0 +1,42 @@
> > +#!/usr/bin/env python
> > +#
> > +# FreeBSD VM image
> > +#
> > +# Copyright 2017 Red Hat Inc.
> > +#
> > +# Authors:
> > +# Fam Zheng <famz@redhat.com>
> > +#
> > +# This code is licensed under the GPL version 2 or later. See
> > +# the COPYING file in the top-level directory.
> > +#
> > +
> > +import os
> > +import sys
> > +import subprocess
> > +import basevm
> > +
> > +class FreeBSDVM(basevm.BaseVM):
> > + name = "freebsd"
> > + BUILD_SCRIPT = """
> > + set -e;
> > + cd $(mktemp -d /var/tmp/qemu-test.XXXXXX);
> > + tar -xf /dev/vtbd1;
> > + ./configure {configure_opts};
> > + gmake -j{jobs};
> > + gmake check;
> > + """
> > +
> > + def build_image(self, img):
> > + cimg = self._download_with_cache("http://download.patchew.org/freebsd-11.1-amd64.img.xz",
> > + sha256sum='adcb771549b37bc63826c501f05121a206ed3d9f55f49145908f7e1432d65891')
> > + img_tmp_xz = img + ".tmp.xz"
> > + img_tmp = img + ".tmp"
> > + subprocess.check_call(["cp", "-f", cimg, img_tmp_xz])
>
> I'd rather see this part common to 3 images refactored as @static
> BaseVM.download_and_extract_image() and some logging:
>
> logging.debug("Extracting %s...", fname)
>
> > + subprocess.check_call(["xz", "-df", img_tmp_xz])
>
> else one wonder what's happening here.
>
> (for another patch on top on this series)
Yep, that sounds good.
Fam
On 09/21/2017 12:07 PM, 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>
$ QEMU=`pwd`/x86_64-softmmu/qemu-system-x86_64 make vm-build-freebsd V=1
[...]
CC tests/test-io-channel-socket.o
CC tests/io-channel-helpers.o
LINK tests/test-io-channel-socket
the build hang here, stopping to use the cpu, keeping 2GB of resident
physical memory until I hit ^C ... not enough ram for the guest? guest
tmpfs full?
useful enough for:
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> tests/vm/freebsd | 42 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 42 insertions(+)
> create mode 100755 tests/vm/freebsd
>
> diff --git a/tests/vm/freebsd b/tests/vm/freebsd
> new file mode 100755
> index 0000000000..039dad8f69
> --- /dev/null
> +++ b/tests/vm/freebsd
> @@ -0,0 +1,42 @@
> +#!/usr/bin/env python
> +#
> +# FreeBSD VM image
> +#
> +# Copyright 2017 Red Hat Inc.
> +#
> +# Authors:
> +# Fam Zheng <famz@redhat.com>
> +#
> +# This code is licensed under the GPL version 2 or later. See
> +# the COPYING file in the top-level directory.
> +#
> +
> +import os
> +import sys
> +import subprocess
> +import basevm
> +
> +class FreeBSDVM(basevm.BaseVM):
> + name = "freebsd"
> + BUILD_SCRIPT = """
> + set -e;
> + cd $(mktemp -d /var/tmp/qemu-test.XXXXXX);
> + tar -xf /dev/vtbd1;
> + ./configure {configure_opts};
> + gmake -j{jobs};
> + gmake check;
> + """
> +
> + def build_image(self, img):
> + cimg = self._download_with_cache("http://download.patchew.org/freebsd-11.1-amd64.img.xz",
> + sha256sum='adcb771549b37bc63826c501f05121a206ed3d9f55f49145908f7e1432d65891')
> + 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])
> + if os.path.exists(img):
> + os.remove(img)
> + os.rename(img_tmp, img)
> +
> +if __name__ == "__main__":
> + sys.exit(basevm.main(FreeBSDVM))
>
On Fri, 09/22 03:09, Philippe Mathieu-Daudé wrote: > On 09/21/2017 12:07 PM, 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> > > $ QEMU=`pwd`/x86_64-softmmu/qemu-system-x86_64 make vm-build-freebsd V=1 > [...] > CC tests/test-io-channel-socket.o > CC tests/io-channel-helpers.o > LINK tests/test-io-channel-socket > > the build hang here, stopping to use the cpu, keeping 2GB of resident > physical memory until I hit ^C ... not enough ram for the guest? guest tmpfs > full? For how long? The four images doing "J=8" takes 1~2 hours here usually. This worked for me on at least two machines (one laptop and one server). :-/ > > useful enough for: > Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Fam
© 2016 - 2026 Red Hat, Inc.