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 (https://www.jollygiant.com/) offers an SSL-enabled 3270 emulator.
If you are not in CMS mode, enter it now.
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 and initrd.img image files):
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
Example redhat.exec file:
'purge rdr all'
'spool punch * rdr'
'PUNCH KERNEL IMG A (NOH'
'PUNCH REDHAT PARM A (NOH'
'PUNCH INITRD IMG A (NOH'
'ch rdr all keep nohold'
Example redhat.conf file:
The following parameters are required and must be included in the parameter file:
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.
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"
For example (a sample qeth SUBCHANNEL statement):
The following parameters are optional:
Where string is the hostname of the newly-installed Linux guest.
Where type must be one of the following: lcs, or qeth.
Where IP is the IP address of the new Linux guest.
Where network is the address of your network.
Where netmask is the netmask.
Where broadcast is the broadcast address.
Where gw is the gateway-IP for your eth device.
Where mtu is the Maximum Transmission Unit (MTU) for this connection.
Where server1:server2::serverN is a list of DNS servers, separated by colons. For example:
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: qeth_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.
The following parameters for kickstart installations are optional:
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.
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.
Create an executable script containing the commands necessary to IPL the kernel image and start the installation. The following sample script is a typical initial start-up script:
/* */ 'CL RDR' 'PURGE RDR ALL' 'SPOOL PUNCH * RDR' 'PUNCH KERNEL IMG A (NOH' 'PUNCH REDHAT PARM A (NOH' 'PUNCH INITRD IMG A (NOH' 'CH RDR ALL KEEP NOHOLD' 'IPL 00C CLEAR'
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.