Context: We have an IBM S/390x hardware system, on this host we have SLES 15SP2 installed with QEMU and libvirt. Then we have a separate x86 client system, also running SLES 15SP2, where we run virt-manager to connect to the S/390x host's libvirtd. We will therefore drive the installation remotely.
Goal: the goal of these instructions is to install SLE 15SP2 in a guest KVM/QEMU Virtual Machine on the IBM S/390 system, using the hardware/software configurations above.
The steps to reach this goal follow:
1. VM setup (using virt-manager)
-
-
Add Video Virtio and Display VNC into VM, make sure to choose: Display VNC = "all interface".
the generated xml sent to libvirt will be:
<graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'> <listen type='address' address='0.0.0.0'/> </graphics> <video> <model type='virtio' heads='1' primary='yes'/> <address type='ccw' cssid='0xfe' ssid='0x0' devno='0x0002'/> </video>
-
Add Input Device:
virtio keyboard, virt manager will add the xml details, but should look as follows:<input type='keyboard' bus='virtio'> <address type='ccw' cssid='0xfe' ssid='0x0' devno='0x0007'/> </input> <input type='tablet' bus='virtio'> <address type='ccw' cssid='0xfe' ssid='0x0' devno='0x0008'/> </input>
- Add Console device:
<console type='pty'> <target type='sclp' port='0'/> </console>
-
- Yast installation
- make sure it's on Text Console, Graphical Console VNC does not work at the moment.
- There are 4 different display types
- X11
- VNC
- SSH
- ASCII Console
- Choose VNC (this is not same as the vnc provided by qemu).
This will output on the terminal a VNC server address. The VNC server address will actually be the IP of the VM.
- Setup password (required and must be longer than 8 digits)
- vncviewer vncserver-ipaddress:1
(1 is the vnc port number), input password, and then get into the normal installation
- make sure it's on Text Console, Graphical Console VNC does not work at the moment.
-
Reboot, you will find virtio-gpu is loaded.
[ 2.801427] [drm:virtio_gpu_dequeue_ctrl_func [virtio_gpu]] *ERROR* response 0x1104 (command 0x10a) [ 2.801440] [drm:virtio_gpu_dequeue_ctrl_func [virtio_gpu]] *ERROR* response 0x1101 (command 0x100) [ 2.802214] [drm] Initialized virtio_gpu 0.1.0 0 for virtio6 on minor 0 [ 2.810353] virtio_gpu virtio6: fb0: virtio_gpudrmfb frame buffer device
-
Then you can access your vm with below:
- virt-viewer
- vncviewer(You need to use host ip at this time + vnc port)
- ssh
- virt-manager