Dan Horák wrote: >and with virt-manager it should be even easier, it will hide all the low >level details and will present a VM that "just work"
Yes, virt-manager is a handy tool (where available). Alan Altmark wrote: >Nice piece of work! (I never realized QEMU was a general purpose >emulator, capable of doing cross-platform emulation.) There are some occasionally interesting permutations available, such as: (a) QEMU on a s390x architecture machine can run guests for other processor architectures (ARM, x86, MIPS, etc.) I can easily imagine certain interesting, development-related use cases for this capability, actually. This'll be in TCG mode. (See below.) (b) QEMU on a s390x architecture machine can run s390x architecture Linux guests. For example, you could run s390x Ubuntu 20.04 LTS (which as a minimum IBM z13/first generation LinuxONE model baseline) on an IBM z12 model machine or prior, although this too would have to run in TCG mode. (See below.) (c) There are Docker/OCI container images for QEMU that can be quite handy if you're using Docker, Podman, or some other container runtime. Let's assume you have Docker or Podman installed on your favorite Linux distribution on your laptop or desktop. For example, to install Podman on Red Hat Enterprise Linux (RHEL), use these commands: sudo yum install podman-docker sudo touch /etc/containers/nodocker The second command is optional and suppresses a warning message that Podman is not Docker. OK, now try these commands. To display the processor architecture of the host Linux operating system: uname -m Now try running the same command but in a s390x architecture Ubuntu container image: sudo docker run --rm -t s390x/ubuntu uname -m Here I'm assuming you have a network connection to Docker Hub to pull down the Ubuntu container image. If you're not running on a s390x architecture machine then you should get an error message. OK, let's fix that.... sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes sudo docker run --rm -t s390x/ubuntu uname -m Magic! :-) If you like, try some other commands and see what else you can do. Mark Post wrote: >It always has been, but SUSE, for example, has never built it with that >option for our products because the performance is rather horrible. When you're running a s390 or s390x architecture guest in QEMU, it's typically using the fallback TCG accelerator. TCG stands for Tiny Code Generator. TCG consists of a frontend and a backend. The frontend translates the guest's processor instructions to intermediate/"universal" TCG operations. The backend then translates TCG operations into the host processor's instructions. This TCG path is written in C/C++ so it's highly portable, and it also tends to be correct. It's not particularly designed for performance, although the developers still use the word "accelerator" since it's faster than earlier technologies. When the QEMU host is a s390x machine you can run a s390 or s390x guest using the KVM accelerator as long as the emulated guest's model profile is no higher than the host. That's quite fast since it's basically passthrough, but why? Well, the reason you might do that is to emulate an earlier machine model environment (a subset) on a later machine model. That could be useful for certain functional testing. More information on QEMU's s390x guest support is available here: https://www.qemu.org/docs/master/system/target-s390x.html - - - - - - - - - - Timothy Sipples I.T. Architect Executive Digital Asset & Other Industry Solutions IBM Z & LinuxONE - - - - - - - - - - E-Mail: sipp...@sg.ibm.com ---------------------------------------------------------------------- For LINUX-390 subscribe / signoff / archive access instructions, send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit http://www2.marist.edu/htbin/wlvindex?LINUX-390