16.6. Installing under z/VM

Log onto z/VM as the Linux guest account. You can use x3270 or c3270 (from the x3270-text package in Red Hat Enterprise Linux) to log in to z/VM from other Linux systems. Alternatively, use the 3270 terminal emulator on the IBM System z management console. If you are working from a Windows based machine, Jolly Giant (http://www.jollygiant.com) offers an SSL-enabled 3270 emulator.
If you are not in CMS mode, enter it now.
i cms
If necessary, add the device containing z/VM's TCP/IP tools to your CMS disk list. For example:
vmlink tcpmaint 592 592
If using any of the qdio/qeth based network connection types (such as OSA express or hipersockets), set the VM guest qioassist parameter off:
set qioassist off
FTP to the machine containing the boot images (kernel.img and initrd.img), log in, and execute the following commands. Use the (repl option if you are overwriting existing kernel.img, initrd.img, generic.prm, or redhat.exec files:
cd /location/of/boot/images//images/ 
locsite fix 80  
get kernel.img (repl  
get initrd.img (repl  
get generic.prm (repl  
get redhat.exec (repl  
You may now create the parameter file (for example, redhat.parm). Refer to Chapter 19, Sample Parameter Files for sample parm files. Below is an explanation of the parm file contents.
There is a limit of 32 total parameters in the parameter file. In order to accommodate limitations with parameter files, a new configuration file on a CMS DASD should be used to configure the initial network setup and the DASD specification.
A .parm file is still required for the real kernel parameters, such as root=/dev/ram0 ro ip=off ramdisk_size=40000, and single parameters which are not assigned to variables, such as vnc. Two parameters which are used in z/VM installs to point the installation program at the new CMS configuration file need to be added to the .parm file:
CMSDASD is the device ID of the CMS formatted DASD which contains the configuration file. CMSDASD is often the 'A' DASD (usually disk 191) of the z/VM guest account. The name of the configuration file must be set with CMSCONFFILE and needs to be all lowercase.
The syntax of the CMSCONFFILE is bash style with variable="value" pairs, one on each line.
Example redhat.parm file:
root=/dev/ram0 ro ip=off ramdisk_size=40000
The content of the redhat.exec file shipped by Red Hat is:
/* */                    
'cl rdr'                 
'purge rdr all'          
'spool punch * rdr'      
'ch rdr all keep nohold' 
'i 00c'
Example redhat.conf file:
The following parameters are required and must be included in the parameter file:
  • DASD=dasd-list
    Where dasd-list represents the list of DASD devices to be used by Red Hat Enterprise Linux.
    Although autoprobing for DASDs is done if this parameter is omitted, it is highly recommended to include the DASD= parameter, as the device numbers (and therefore the device names) can vary when a new DASD is added to the Red Hat Enterprise Linux guest. This can result in an unusable system.
    Additionally, in SAN-based environments, autoprobing in an LPAR-based install may have unintended side effects, as the number of DASD and SCSI volumes visible may be unexpectedly large and include volumes currently in use by other users. In particular, autoprobing during a kickstart install (which may have enabled autopartitioning to clear all partitions) is highly discouraged.
  • root=file-system
    where file-system represents the device on which the root file system can be found. For installation purposes, it should be set to /dev/ram0, which is the ramdisk containing the Red Hat Enterprise Linux installation program.
The following parameters are required to set up networking:
    Provides required device bus IDs for the various network interfaces.
    qeth: SUBCHANNELS="read_device_bus_id,write_device_bus_id, data_device_bus_id"
    lcs: SUBCHANNELS="read_device_bus_id,write_device_bus_id"
    For example (a sample qeth SUBCHANNEL statement):
The following parameters are optional:
  • HOSTNAME=string
    Where string is the hostname of the newly-installed Linux guest.
  • NETTYPE=type
    Where type must be one of the following: lcs, or qeth.
    Choose lcs for:
    • OSA-2 Ethernet/Token Ring
    • OSA-Express Fast Ethernet in non-QDIO mode
    • OSA-Express High Speed Token Ring in non-QDIO mode
    • Gigabit Ethernet in non-QDIO mode
    Choose qeth for:
    • OSA-Express Fast Ethernet
    • Gigabit Ethernet (including 1000Base-T)
    • High Speed Token Ring
    • HiperSockets
    • ATM (running Ethernet LAN emulation)
    Where IP is the IP address of the new Linux guest.
  • NETWORK=network
    Where network is the address of your network.
  • NETMASK=netmask
    Where netmask is the netmask.
  • BROADCAST=broadcast
    Where broadcast is the broadcast address.
  • GATEWAY=gw
    Where gw is the gateway-IP for your eth device.
  • MTU=mtu
    Where mtu is the Maximum Transmission Unit (MTU) for this connection.
  • DNS=server1:server2::serverN
    Where server1:server2::serverN is a list of DNS servers, separated by colons. For example:
  • SEARCHDNS=domain1:domain2::domainN
    Where domain1:domain2::domainN is a list of the search domains, separated by colons. For example:
  • PORTNAME=osa_portname | lcs_portnumber
    This variable supports OSA devices operating in qdio mode or non-qdio mode.
    When using qdio mode: osa_portname is the portname specified on the OSA device when operating in qeth mode. PORTNAME is only required for z/VM 4.3 or older without APARs VM63308 and PQ73878.
    When using non-qdio mode: lcs_portnumber is used to pass the relative port number as integer in the range of 0 through 15.
  • FCP_n="device_number SCSI_ID WWPN SCSI_LUN FCP_LUN"
    The variables can be used on systems with FCP devices to preconfigure the FCP setup and can be subsequently edited in anaconda during the installation. An example value may look similar to:
    FCP_1="0.0.5000 0x01 0x5105074308c212e9 0x0 4010"
    • n is an integer value (e.g. FCP_1, FCP_2, ...).
    • device_number is used to specify the address of the FCP device ( 0.0.5000 for device 5000, for example).
    • SCSI_ID is specified in hex-value, typically sequential values (e.g. 0x01, 0x02 ... ) are used over multiple FCP_ variables.
    • WWPN is the world wide port name used for routing (often in conjunction with multipathing) and is as a 16-digit hex value (e.g. 0x5105074308c212e9).
    • SCSI_LUN refers to the local SCSI logical unit value and is specified as a hex-value, typically sequential values (e.g. 0x00, 0x01, ...) are used over multiple FCP_ variables.
    • FCP_LUN refers to the storage logical unit identifier and is specified as a hex-value (such as 0x4010).


    Each of the values used in the FCP parameters (FCP_1, FCP_2, ...) are site-specific and are normally supplied by the FCP storage administrator.


Anaconda now supports both ports on CHPID for OSA Express3 cards. The installer will prompt for the port number in the initial stage of the installation. The value provided for the port also affects installed network interface startup script. When port 1 is selected, the value "portno=1" is added to OPTIONS parameter of ifcfg-eth* file.
When installing under z/VM, you can add either PORTNO=0 (to use port 0) or PORTNO=1 (to use port 1) to the CMS configuration file to avoid being prompted for the mode.


When installing on a System z guest for Red Hat Enterprise Linux 5.2, you can make the mode persistent by adding either LAYER2=0 or LAYER2=1 to the CMS configuration file. Use LAYER2=0 when the OSA is in layer 3 mode, and LAYER2=1 when the OSA is in layer 2 mode.
When specifying LAYER2=1, you can also specify VSWITCH=1 when connecting to a VSWITCH, or VSWITCH=0 when connecting directly to the OSA. If a VSWITCH is not in use, specify the MAC address in the CMS configuration file using the parameter MACADDR=<MAC address>.
The following parameters for kickstart installations are optional:
  • RUNKS=value
    Where value is defined as 1 if you want to run the installation program in noninteractive (kickstart) mode in the 3270 terminal, or 0 otherwise.
  • cmdline
    When cmdline is specified, 3270 terminal output becomes much more readable, as the installer disables most escape terminal sequences that are applicable to unix-like consoles, but not supported on the 3270 console.
  • Make sure that your kickstart file contains all required parameters before you use either of the RUNKS of cmdline options.
If any of the network parameters required to make the network operate correctly are omitted from the parm file, a prompt appears during the installation boot process.
If you logged off, reconnect and log in using z/VM guest ID you configured for installation. If you are not in CMS mode, enter it now.
i cms
Use the downloaded REXX script redhat.exec that contains the commands necessary to IPL the kernel image and start the installation. After having IPLed CMS, enter redhat on the 3270 console and press the Enter key to execute this script.
The initial installation start-up script prompts you for information about your networking and DASDs unless you have specified all necessary information in the parm file.
Once all questions have been answered, you are ready to begin the core installation program, loader. To continue with the installation, refer to Chapter 17, Installing on IBM System z Systems for further instructions.