Installation In zVM

Ubuntu Linux for IBM z Systems and LinuxONE in IBM z/VM Installation This document describes step-by-step the installation of Ubuntu Linux on IBM z Systems or LinuxONE as IBM z/VM guest (aka virtual machine).

1. Load installer files from to CMS Ready; T=0.01/0.01 10:42:15
acc 592 t
DMSACP723I T (592) R/O
Ready; T=0.01/0.01 10:42:34
VM TCP/IP FTP Level 630
Connecting to, port 21
220 Ubuntu ISV Image FTP server (vsftpd)
USER (identify yourself to the host):
>>>USER anonymous
331 Please specify the password.
[In case of anonymous FTP enter at least one character!]
>>>PASS ********
230 Login successful.
cd ubuntu-ports/dists/xenial/main/installer-s390x/current
>>>CWD ubuntu-ports/dists/xenial/main/installer-s390x/current
250 Directory successfully changed.
[see also section 4.8]
cd images/generic
>>>CWD images/generic
250 Directory successfully changed.
get ubuntu.exec (repl
>>>EPRT |1||1172|
200 PORT command successful
>>>RETR ubuntu.exec
150 Connecting to port 1172
226-File successfully transferred
226 0.000 seconds (measured here), 10.46 Mbytes per second
351 bytes transferred in 0.001 seconds. Transfer rate 351.00 Kbytes/sec.
get parmfile.ubuntu (repl
>>>EPRT |1||1173|
200 PORT command successful
>>>RETR parmfile.ubuntu
150 Connecting to port 1173
226-File successfully transferred
226 0.000 seconds (measured here), 46.55 Kbytes per second
10 bytes transferred in 0.001 seconds. Transfer rate 10.00 Kbytes/sec.
[This command is important, otherwise the binary is not going to work anymore!]
>>>TYPE i
200 TYPE is now 8-bit binary
locsite fix 80
[This command is important, otherwise the binary is not going to work anymore!]
get kernel.ubuntu (repl
>>>EPRT |1||1174|
200 PORT command successful
>>>RETR kernel.ubuntu
150-Connecting to port 1174
150 13129.0 kbytes to download
226-File successfully transferred
226 0.462 seconds (measured here), 27.75 Mbytes per second
13444160 bytes transferred in 0.467 seconds. Transfer rate 28788.35 Kbytes/sec.
get initrd.ubuntu (repl
>>>EPRT |1||1175|
200 PORT command successful
>>>RETR initrd.ubuntu
150-Connecting to port 1175
150 5789.9 kbytes to download
226-File successfully transferred
226 0.177 seconds (measured here), 31.94 Mbytes per second
5928960 bytes transferred in 0.181 seconds. Transfer rate 32756.69 Kbytes/sec.
221-Goodbye. You uploaded 0 and downloaded 18920 kbytes.
`221 Logout. Ready; T=0.02/0.03 10:44:52

You should now see the following four files on your a disk: ('kernel ubuntu', 'initrd ubuntu', 'parmfile ubuntu' and 'ubuntu exec'; the file sizes may vary) INITRD   UBUNTU   A1 F         80      74112       1448  1/26/16 10:44:48
KERNEL   UBUNTU   A1 F         80     168052       3001  1/26/16 10:44:41
PARMFILE UBUNTU   A1 V          1          1          1  1/26/16 10:43:40
UBUNTU   EXEC     A1 V         40         11          1  1/26/16 10:43:28

2. Start ubuntu exec in z/VM CMS: In zVM?action=AttachFile&do=get&target=zvm1.png

3. Interactively answer questions regarding Network, DASD, etc. Please see this example input:

Configure the network device 
- - - - - - - - - - - - - - -
Please choose the type of your primary network interface that you will need for
installing the Ubuntu system (via NFS or HTTP). Only the listed devices are supported.
Network device type:
  1: ctc: Channel to Channel (CTC) or ESCON connection,
  2: qeth: OSA-Express in QDIO mode / HiperSockets,
  3: iucv: Inter-User Communication Vehicle - available for VM guests only,
  4: virtio: KVM VirtIO,
Prompt: '?' for help>

Please select the OSA-Express QDIO / HiperSockets device.
  1: 0.0.f5f0-0.0.f5f1-0.0.f5f2,
Prompt: '?' for help, default=1>

By default OSA-Express cards use layer3 mode. In that mode LLC headers are
removed from incoming IPv4 packets. Using the card in layer2 mode will make it
keep the MAC addresses of IPv4 packets.
Use this device in layer2 mode?
  1: Yes Ý*¨  2: No
Prompt: '?' for help, default=1>

Configure a network using static addressing
- - - - - - - - - - - - - - - - - - - - - -
The IP address is unique to your computer and may be:

 * four numbers separated by periods (IPv4);
 * blocks of hexadecimal characters separated by colons (IPv6).

You can also optionally append a CIDR netmask (such as "/24").

If you don't know what to use here, consult your network administrator.
IP address:
Prompt: '?' for help, default=9.152.162./22>

The gateway is an IP address (four numbers separated by periods) that indicates
the gateway router, also known as the default router.  All traffic that goes
outside your LAN (for instance, to the Internet) is sent through this router.
In rare circumstances, you may have no router; in that case, you can leave this
blank.  If you don't know the proper answer to this question, consult your
network administrator.
Prompt: '?' for help, default=>
[To accept the default in z/VM CMS, press 'Enter' twice!]

The name servers are used to look up host names on the network. Please enter
the IP addresses (not host names) of up to 3 name servers, separated by spaces.
Do not use commas. The first name server in the list will be the first to be
queried. If you don't want to use any name server, just leave this field blank.
Name server addresses:
Prompt: '?' for help, default=>
Detecting link on enccw0.0.f5f0; please wait...
Please enter the hostname for this system.

The hostname is a single word that identifies your system to the network.
If you don't know what your hostname should be, consult your network
administrator. If you are setting up your own home network, you can make
something up here.
Prompt: '?' for help, default=s8315004>
[To accept the default in z/VM CMS, press 'Enter' twice!]

The domain name is the part of your Internet address to the right of your host
name.  It is often something that ends in .com, .net, .edu, or .org.  If you
are setting up a home network, you can make something up, but make sure you use
the same domain name on all your computers.
Domain name:
Prompt: '?' for help,>
[To accept the default in z/VM CMS, press 'Enter' twice!]

Generating SSH host key
- - - - - - - - - - - - -
You need to set a password for remote access to the Debian installer.
A malicious or unqualified user with access to the installer can have disastrous
results, so you should take care to choose a password that is not easy to
guess. It should not be a word found in the dictionary, or a word that could be
easily associated with you, like your middle name.

This password is used only by the Debian installer, and will be discarded once
you finish the installation.
Remote installation password:
Please enter the same remote installation password again to verify that you
have typed it correctly.
Re-enter password to verify:
Start SSH

To continue the installation, please use an SSH client to connect to the IP
address and log in as the "installer" user. For example:

   ssh installer@

The fingerprint of this SSH server's host key is:

Please check this carefully against the fingerprint reported by your SSH client.
"Press enter to continue"

Do NOT continue here, but proceed with ssh to the installation system now! You may leave the z/VM console window open in the background!

4. SSH with user 'installer' to the installation system Now ssh with the temporary user 'installer' to your system. You can specify either the hostname or the IP address:

ssh installer@ 

Users of a non-Linux operating system at their workstation may need to use a different ssh client, like for example 'Putty'.

4.1 Start installer In case a modified parmfile is used, it's recommended to use the option "expert mode"): In zVM?action=AttachFile&do=get&target=zvm2.png

4.2 Choose language: English (adjust according to your needs)

4.3 Choose country: other (scroll down) -> Europe -> Germany (adjust according to your needs)

4.4 Configure locale: en_US.UTF-8 (adjust according to your needs)

4.5 Choose mirror: <enter information manually> In zVM?action=AttachFile&do=get&target=zvm3.png

4.6 Mirror's hostname: (this is the default)

4.7 Enter directory (on it's just the root directory): In zVM?action=AttachFile&do=get&target=zvm4.png

4.8 If is only reachable via a proxy, a proxy needs to be specified here. Start the entry with http:// and end with the port number, e.g. ':3128' In zVM?action=AttachFile&do=get&target=zvm5.png

If the following message occurs: In zVM?action=AttachFile&do=get&target=zvm6.png
the installer kernel does not fit to the set of files located on the mirror.

In this case, you need to restart the installation, using the files from
These files can be obtained from:
(The latest release version there, is also linked to 'current'.) In zVM?action=AttachFile&do=get&target=zvm7.png

Just grab the kernel, initrd and parmfile from there.

After some seconds the download of installer components will start and the installation proceeds with the next question:

4.9 Enter the user's full name In zVM?action=AttachFile&do=get&target=zvm8.png

Since Ubuntu comes by default with a disabled root user account, it is mandatory to setup at least one user.

4.10 And enter a user name (in this sample case it's just 'test').

4.11 Enter password for your user: In zVM?action=AttachFile&do=get&target=zvm9.png

And repeat it a second time.

4.12 Encryption with encryptfs is not yet supported, so select 'No': In zVM?action=AttachFile&do=get&target=zvm10.png

(wait for some seconds)

4.13 Choose the target disk (in this case the DASD 0.0.ea09) by selecting it and pressing 'Enter' In zVM?action=AttachFile&do=get&target=zvm11.png

If there are lot's of DASD devices available, the above selection list is not shown, rather that you are asked to specify the DASD device by entering the device number in text form, e.g. '0.0.ea09'.

It's required to format DASD devices at least once.
In case you are sure that the previously selected DASD was already formatted before, you may choose 'No'.
If you are unsure if the previous selected DASD device was ever formatted choose 'Yes' here.
The formatting itself takes some time. In zVM?action=AttachFile&do=get&target=zvm12.png

If no more disks are required, scroll down to 'Finish' and press 'Enter', otherwise repeat the previous step for additional disks. In zVM?action=AttachFile&do=get&target=zvm13.png

4.14 The partition of the disk(s) can be either done in a 'Guided' or in a 'Manual' way.
In this example we follow the 'Manual' way. In zVM?action=AttachFile&do=get&target=zvm14.png

First select any potential partition for deletion and if when done, recreate them as needed. In zVM?action=AttachFile&do=get&target=zvm15.png

Press enter in 'FREE SPACE' row to recreate partitions, for example like: In zVM?action=AttachFile&do=get&target=zvm16.png In zVM?action=AttachFile&do=get&target=zvm17.png In zVM?action=AttachFile&do=get&target=zvm18.png In zVM?action=AttachFile&do=get&target=zvm19.png

Now create a swap partition in a similar way: In zVM?action=AttachFile&do=get&target=zvm20.png In zVM?action=AttachFile&do=get&target=zvm21.png In zVM?action=AttachFile&do=get&target=zvm22.png In zVM?action=AttachFile&do=get&target=zvm23.png

Now scroll down to the bottom and choose 'Finish partitioning and write to disk'. In zVM?action=AttachFile&do=get&target=zvm24.png

Confirm the writing of the changes to the disk with 'Yes': In zVM?action=AttachFile&do=get&target=zvm25.png

4.15 Now after the new system got configured, the base system installation starts: In zVM?action=AttachFile&do=get&target=zvm26.png

4.16 Choose 'No automatic updates', because this requires a direct internet connection to the update servers: In zVM?action=AttachFile&do=get&target=zvm27.png

4.17 At the 'Software selection' menu, make sure that at least 'Standard system utilities', 'OpenSSH server' and 'Basic Ubuntu server' is selected. You may need to scroll-down the list: In zVM?action=AttachFile&do=get&target=zvm28.png

After this about 150+ packages are going to be installed (the number varies): In zVM?action=AttachFile&do=get&target=zvm29.png In zVM?action=AttachFile&do=get&target=zvm30.png

After some time you will finally reach the 'Finish the installation' screen: In zVM?action=AttachFile&do=get&target=zvm31.png

By selecting 'Continue' the system will shut down.

5. IPL the target system. The installed system does not automatically IPL from the target/boot DASD. You have to IPL it manually:

00: CP I EA09
00: zIPL v1.32.0-build-20151214 interactive boot menu
00:  0. default (ubuntu)
00:  1. ubuntu
00:  2. old
00: Note: VM users please use '#cp vi vmsg (input)' 
00: Please choose (default will boot in 10 seconds): 
00:Booting default (ubuntu)

When the system is up and running, you can login with the during the installation configured user id:

Ubuntu Xenial Xerus (development branch) s8315004 ttyS0

s8315004 login

Do not this console window of a currently running Linux guest !
You just have to disconnect the 3270 terminal session - just enter:
or just:
With '#CP' you can bypass the Linux operating system and commands are directly executed on the z/VM's CP hypervisor, and 'DISC' disconnects the 3270 terminal window, but let's the Linux OS running in the background.

5.1 After the boot/IPL process is completed, you can login to the system with ssh using your specified non-root user (in this example 'test'). In case root privileges are required, put 'sudo' prior to your command or use 'sudo -i' (in combination with your user's password).

The system is now ready for use!

S390X/Installation In zVM (last edited 2016-05-16 11:08:43 by frank-heimes)