Hi all, I'm sending an extension of the existing linuxrc.s390 -- the script implementing the initial installation dialog for RHEL on System z. INTRODUCTION After booting the installation environment on System z, there are no local storage devices such as a CD/DVD drive available to install RHEL from. Hence, only installation from network sources is possible, which requires an initial setup of a network device to reach such an installation source. Due to the possibly large number of hardware network devices (hundreds) and the way they are configured in the hardware setup, Linux does not automatically detect and allocate all available network devices. There is need for a dialog from which the user can choose a sensible device configuration. The least common multiple of console devices on System z is limited in functionality -- it only supports line mode. The initial network setup also provides the ability for users to login over the network from a curses capable text terminal, to provide an X window display, or to use VNC in order to continue installation. DOWNSIDES OF CURRENT LINUXRC.S390 The initial network setup was done with a simple error-prone dialog without any possibility for the user to correct wrong input. On getting stuck, the only option for the user was a reboot, which of course means that he had to manually enter values all over again. The user was asked various questions and had to know exactly what answers to provide for a successful network setup. Linuxrc.s390 provided no guidance or support to simplify the choice of correct answers for the user. Configuration happened after the user had answered all questions which could lead to situations where configuration failed due to an earlier incorrect answer the user was not informed about. User feedback has shown, that these downsides can be an obstacle for a successful installation of RHEL on System z. IMPROVEMENTS OF NEW LINUXRC.S390 - dialog allows the user to correct single answers - dialog allows to restart configuration, providing previous answers as default values - dialog provides a sub shell for problem determination - cut-down question text prevents frequent scrolling on line mode terminal - explaining help text is shown for each question on user demand - automated decision which questions the user has to answer - semi-automatic configuration of network devices by providing a selection list of possible hardware configurations - manual configuration remains possible as before - sensible default answers are provided where possible - superfluous questions (NETWORK, BROADCAST) have been removed - answers by the user are strictly checked for syntax and semantics - whenever possible, each answer is used to do a configuration step and provide timely feedback to the user in case of an error - user transparent support of System z device blacklist (cio_ignore) for short boot times on systems with many (thousands) devices - basic support for installation from FCP-attached CD/DVD drive (our version of linuxrc.s390 is based on rhel5.3-snap1-20081029) - basic support for installation over IPv6 (full functionality would require further support in loader) - prints answers in a format which can directly be used for parm/conf file (as a complement to /root/anaconda-ks.cfg) - may serve as a specification on how to configure network devices on System z outside of an installer, e.g. in init scripts or configuration tools such as system-config-network Otherwise, our version is fully compatible with the current version including the processing of parm/conf files. We made sure that existing parm/conf files from users are processed with the same outcome as previously. Also the interactive mode asks the user questions in the same order as before, so users do not have to adapt to a completely new structure of the initial network configuration. TEST The attached version of linuxrc.s390 and the helper script lsznet.raw (called by linuxrc.s390 to enumerate sensible network hardware configurations) have been tested within an installer initrd taken from RHEL 5.2. Full installation cycles both without and with kickstart mode have been performed. We considered different network hardware (both real and virtual) and installed from sources accessible over different protocols (FTP, HTTP, NFS). ATTACHMENTS - Two bash scripts implementing our improvements: linuxrc.s390: initial installation dialog for RHEL on System z (sorry, had to gzip it due to mailing list size limit) lsznet.raw: list sensible network device hardware setups for Linux on System z - Console logs showing capabilities of the user interface by example: guest2auto.txt : using auto detection, GuestLAN (QDIO) in layer 2 mode => does not ask for MAC address since it detected a virtual NIC. osa2man.txt : manual configuration (e.g. by an expert knowing all parameter values), OSA network device in layer 2 mode => does ask for MAC address since it detected a real OSA, DNS servers could not be reached by ping due to our network environment denying ICMP echo to those hosts => user chose to continue anyway since he knows better. lcsks.txt : unattended installation with parm & conf file and kickstart file, LCS network device, succeeds without user interaction. guest3err.txt : manual configuration with many intentional error inputs, chose layer 2 mode on purpose even though GuestLAN (QDIO) was configured as layer 3 => device cannot be set online => user restarts whole configuration dialog to correct the previous wrong input for layer mode, finally succeeds, using sub shell to verify that necessary devices have been removed from blacklist so that the devices can actually be used. OUTLOOK Feedback is welcome and I'm happy to answer any questions that may arise. Kind regards Steffen Maier Linux on System z Development IBM Deutschland Research & Development GmbH Vorsitzender des Aufsichtsrats: Martin Jetter Geschäftsführung: Erich Baier Sitz der Gesellschaft: Böblingen Registergericht: Amtsgericht Stuttgart, HRB 243294
Attachment:
linuxrc.s390.gz
Description: GNU Zip compressed data
#! /bin/bash # lsznet.raw: list sensible network device hardware setups for Linux on s390(x) # Copyright (C) IBM Corp. 2008 # Author: Steffen Maier <maier@xxxxxxxxxx> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License only. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA readonly SYSFS=/sys # DEBUG=0 turns off debugging. >=1 means increasing debugging. readonly DEBUG=0 # nothing to be changed below here export TEXTDOMAIN=lsznet.raw readonly CMD=${0##*/} function error() { echo $"$CMD: ERROR: $*" 1>&2 exit 1; } # currently requires bash version 3.0 or later # (this seems reasonable since bash-3.0 has been shipped with # RHEL 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7; # bash-3.1 with RHEL 5.0, 5.1; and bash-3.2 with RHEL 5.2) if [ ${BASH_VERSINFO[0]} -lt 3 -o \ ${BASH_VERSINFO[1]} -lt 0 ]; then error $"only works with BASH version 3.0 or later (current version used is ${BASH_VERSION})" fi # the script was designed for Linux kernel 2.6 and might work with newer ones kernel_version=$(uname -r) IFS=. read krn_ver krn_patch krn_foo <<< "$kernel_version" unset IFS if [ $krn_ver -lt 2 -o $krn_patch -lt 6 ]; then error $"only works for kernel versions 2.6 or probably later" fi # The following combinations of control unit type and model were taken from the # Linux network device drivers for s390 on 2008-06-09 from Linux 2.6.25.4. # The list (among other things) should be adapted, if any of those device # drivers start supporting different CU types/models. # (Alternatively, the list could be generated by reading the modaliases # directly out of the device driver modules: # modinfo qeth/cu3088 | fgrep 'alias:' # However, this would still require a list of device driver modules.) readonly -a CU=( 1731/01 1731/05 3088/08 3088/1f 3088/1e 3088/01 3088/60 3088/61 ) # $CU_CARDTYPE array is the only one which may contain entries with spaces readonly -a CU_CARDTYPE=( "OSA (QDIO)" "HiperSocket" "CTC adapter" "escon channel" "ficon channel" "LCS p390" "LCS OSA" "LCS CLAW" ) readonly -a CU_DEVDRV=( qeth qeth ctc ctc ctc lcs lcs lcs ) readonly -a CU_DEVNAME=( eth hsi ctc/mpc ctc/mpc ctc/mpc eth eth eth ) readonly -a CU_GROUPCHANNELS=( 3 3 2 2 2 2 2 2 ) readonly -a CHPIDTYPES=( [10]=OSE [11]=OSD [24]=IQD ) readonly PREFIXFORMAT=[[:xdigit:]]* readonly SSIDFORMAT=[0-3] readonly BUSIDFORMAT=[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]] readonly IDFORMAT=$PREFIXFORMAT.$SSIDFORMAT.$BUSIDFORMAT readonly SUBCHANNEL_TYPE_IO=0 function debug() { level=$1 shift [ $DEBUG -ge $level ] && echo "$*" 1>&2 } # Searches for a match of argument 1 on the array $CU and sets $cu_idx # to the matched array index on success. # Returns 0 on success, 1 on failure. function search_cu() { local scu=$1 local i for ((i=0; i < ${#CU[@]}; i++)); do if [ $scu == ${CU[i]} ]; then cu_idx=$i return 0 fi done return 1 } # Returns symbolic name of CHPID type in $chpidtype_symbolic, # if an entry in the array $CHPIDTYPES has been found at index of argument 1. # Returns "?" otherwise. # Always succeeds and returns 0. function search_chpt() { local chpidtype_number=$1 chpidtype_symbolic=${CHPIDTYPES[$chpidtype_number]} if [ "$chpidtype_symbolic" == "" ]; then chpidtype_symbolic="?" fi return 0 } # build_list: # # Prints list on standard output consisting of all subchannels and # ccwdevices whose control unit type/model match supported network # device types on s390. Each matching entry is accompanied with # (almost all) corresponding attributes. # function build_list() { # use /sys/devices/css*/ for startpath readonly STARTPATH=$SYSFS/devices # change to base directory so path globbing length with find is minimal cd $STARTPATH # fail out gracefully, if there is not expected sysfs environment # (could even fail out near the top, if $(uname -m) != s390x) csses=css$PREFIXFORMAT for d in $csses; do [ -d $d ] || exit done find $csses -name "$IDFORMAT" | while read dir; do debug 6 " examining sysfs directory $dir" # must not use $...FORMAT (file globs) here since this is a regex: [[ "$dir" =~ ^css\([[:xdigit:]]+\)/\([[:xdigit:]]+.[0-3].[[:xdigit:]]{4}\)/\([[:xdigit:]]+.[0-3].[[:xdigit:]]{4}\)$ ]] case $? in 0) # string matched the pattern debug 6 " ${BASH_REMATCH[@]}" prefix=${BASH_REMATCH[1]} subch=${BASH_REMATCH[2]} devbusid=${BASH_REMATCH[3]} subch_p=css$prefix/$subch dev_p=$subch_p/$devbusid debug 6 " $subch_p $dev_p" ;; 1) # string did not match the pattern continue ;; 2) error $"syntax error in regex of match operator =~, code needs to be fixed" ;; *) error $"unexpected return code of regex match operator =~, code needs to be fixed" ;; esac debug 5 " sysfs directory matched regex $dir" # skip non-I/O-subchannels, i.e. chsc and message subchannels if [ -f $subch_p/type ]; then read type < $subch_p/type if [ $type != $SUBCHANNEL_TYPE_IO ]; then debug 3 " skip non-I/O subchannel" continue fi fi # get subchannel information... # ATTENTION: hex values from sysfs are WITHOUT leading 0x prefix! read chpid_list < $subch_p/chpids read -a chpids <<< "$chpid_list" if [ ${#chpids[@]} -ne 8 ]; then error $"sysfs reported ${#chpids[@]} CHPIDs instead of expected 8" fi read pim pam pom foo < $subch_p/pimpampom pimchpidZ="" local chp for ((chp=0; chp < 8; chp++)); do mask=$((0x80 >> chp)) if (( 0x$pim & $mask )); then pimchpidZ=${pimchpidZ}${chpids[chp]} else pimchpidZ=${pimchpidZ}"ZZ" fi done # get device information... read cutype < $dev_p/cutype read active < $dev_p/online # skip already active subchannels and those that are already in a # ccwgroup and thus not available any more: [ $active == "1" ] && continue [ -h $dev_p/group_device ] && continue # get chpid information... pimchpids=${pimchpidZ//ZZ/} [ $pimchpids == "" ] && continue # Taking the first 2 hex digits as CHPID relies somewhat on the fact # that network adaptors don't use multipathing and only have one CHP. # Anyway it's OK since we're only interested in CHPID type and I guess # this should be equal for all possible multipaths to the same device. chpid=${pimchpids:0:2} chpid_p=css$prefix/chp$prefix.$chpid read chptype < $chpid_p/type # filter and output... if search_cu $cutype; then if [ "${CU_DEVDRV[$cu_idx]}" == "ctc" ]; then # assume CTC are mostly virtual and ignore chpid from sysfs chpidtype_symbolic="-" else search_chpt $chptype fi echo $pimchpids $devbusid $STARTPATH/$dev_p $cutype $chpidtype_symbolic $chptype ${CU_DEVDRV[$cu_idx]} ${CU_DEVNAME[$cu_idx]} ${CU_GROUPCHANNELS[$cu_idx]} $cu_idx ${CU_CARDTYPE[$cu_idx]} else debug 5 " skip non-network device $devbusid CU $cutype" fi done } # search_groups: # # Prints enumeration list on standard output consisting of possible # hardware configurations (ccwgroups) for network devices on s390. # Each configuration suggestion includes corresponding attributes # that are of potential interest for the user and fit in a fixed column # table on an 80 column screen. # # PRECONDITION: Standard input has to be stably sorted by device bus IDs and # then by CHPIDs, i.e. grouped by CHPIDs. # function search_groups() { local w_prefix w_ssid w_devno local d_prefix d_ssid d_devno local prefix ssid devno x local chp devbusid dev_p cutype chpidtypename chptype devdrv devname groupchs cu_idx cardtype # remembered last state variables for possible ccwgroup: local r_prefix="Z" local r_ssid="Z" local r_devno="ZZZZ" local r_chp="ZZ" local r_cutype="ZZZZ/ZZ" local count=0 local item=1 local skipped=0 # currently unused are: dev_p,chptype, cu_idx. while read chp devbusid dev_p cutype chpidtypename chptype devdrv devname groupchs cu_idx cardtype; do debug 1 " # $chp $devbusid $dev_p $cutype $chpidtypename $chptype $devdrv $devname $groupchs $cu_idx $cardtype" IFS=. read prefix ssid devno x <<< "$devbusid" unset IFS if [ $r_chp != $chp \ -o $r_prefix != $prefix \ -o $r_ssid != $ssid \ -o $r_cutype != $cutype ]; then # restart with new read channel info and remember it r_prefix=$prefix r_ssid=$ssid r_devno=$devno r_chp=$chp r_cutype=$cutype count=1 debug 2 " INFO: restart on different CHPID or prefix or CUtype/model" continue fi count=$((count + 1)) if [ $count -eq 2 ]; then # about to check if write channel is one above read channel if [ $((0x$devno)) -ne $((0x$r_devno + 1)) ]; then # start with new read channel info r_prefix=$prefix r_ssid=$ssid r_devno=$devno r_chp=$chp r_cutype=$cutype count=1 skipped=$((skipped + 1)) # unimplemented possible packed channel usage option: # remember unused channels for later use as data channel debug 2 " INFO: restart on unmatching read channel" continue fi w_prefix=$prefix w_ssid=$ssid w_devno=$devno elif [ $count -eq 3 ]; then # remember data channel info d_prefix=$prefix d_ssid=$ssid d_devno=$devno fi debug 2 " INFO: groupchs=$groupchs count=$count" if [ $count -ne $groupchs ]; then debug 2 " INFO: skip" continue fi # found possible ccwgroup case $count in 2) chlist=$r_prefix.$r_ssid.$r_devno,$w_prefix.$w_ssid.$w_devno ;; 3) chlist=$r_prefix.$r_ssid.$r_devno,$w_prefix.$w_ssid.$w_devno,$d_prefix.$d_ssid.$d_devno ;; *) error $"unknown number of channels for group, code needs to be fixed" ;; esac echo $item $cutype $chp $chpidtypename $devdrv $devname $chlist "$cardtype" item=$((item + 1)) # restart after successful detection r_prefix="Z" count=0 done debug 1 " STATISTIC: skipped $skipped devnos because of unmatching read channel" } build_list | # stable sort by device bus IDs and then by CHPIDs => grouped by CHPIDs # (sorting only works since keys are fixed no. of digits with leading zeros!) sort -s -k 1,1 -k 2,2 | #cat ; exit # move at desired line and uncomment to see intermediate output search_groups
Linux version 2.6.18-92.el5 (brewbuilder@xxxxxxxxxxxxxxxxxxxxx) (gcc version 4.1.2 20071124 (Red Hat 4.1.2-41)) #1 SMP Tue Apr 29 13:16:58 EDT 2008 We are running under VM (64 bit mode) Detected 3 CPU's Boot cpu address 0 Built 1 zonelists. Total pages: 262144 Kernel command line: root=/dev/ram0 ro ip=off ramdisk_size=40000 cio_ignore=all,!0.0.0009 CMSDASD=191 CMSCONFFILE=rh52osa_.conf ... Starting the zSeries initrd to configure networking. Version is 1.2 file not found Could not read conf file rh52osa_.conf on CMS DASD 191. Scanning for available network devices... Autodetection found 0 devices. Note: There is a device blacklist active! (Clearing might take long) c) clear blacklist, m) manual config, r) rescan, s) shell: r Scanning for available network devices... Autodetection found 0 devices. Note: There is a device blacklist active! (Clearing might take long) c) clear blacklist, m) manual config, r) rescan, s) shell: c Clearing device blacklist... Scanning for available network devices... Autodetection found 14 devices. NUM CARD CU CHPID TYPE DRIVER IF DEVICES 1 CTC adapter 3088/08 00 - ctc ctc/mpc 0.0.1000,0.0.1001 2 escon channel 3088/1f 00 - ctc ctc/mpc 0.0.1002,0.0.1003 3 ficon channel 3088/1e 00 - ctc ctc/mpc 0.0.1004,0.0.1005 4 OSA (QDIO) 1731/01 00 OSD qeth eth 0.0.f500,0.0.f501,0.0.f502 5 OSA (QDIO) 1731/01 01 OSD qeth eth 0.0.f503,0.0.f504,0.0.f505 6 OSA (QDIO) 1731/01 02 OSD qeth eth 0.0.1010,0.0.1011,0.0.1012 7 HiperSocket 1731/05 03 IQD qeth hsi 0.0.1013,0.0.1014,0.0.1015 8 OSA (QDIO) 1731/01 04 OSD qeth eth 0.0.1017,0.0.1018,0.0.1019 9 OSA (QDIO) 1731/01 76 OSD qeth eth 0.0.f5f0,0.0.f5f1,0.0.f5f2 10 LCS OSA 3088/60 8a OSE lcs eth 0.0.1240,0.0.1241 11 HiperSocket 1731/05 fb IQD qeth hsi 0.0.8024,0.0.8025,0.0.8026 12 HiperSocket 1731/05 fc IQD qeth hsi 0.0.8124,0.0.8125,0.0.8126 13 HiperSocket 1731/05 fd IQD qeth hsi 0.0.8224,0.0.8225,0.0.8226 14 HiperSocket 1731/05 fe IQD qeth hsi 0.0.8324,0.0.8325,0.0.8326 <num>) use config, m) manual config, r) rescan, s) shell: r Scanning for available network devices... Autodetection found 14 devices. NUM CARD CU CHPID TYPE DRIVER IF DEVICES 1 CTC adapter 3088/08 00 - ctc ctc/mpc 0.0.1000,0.0.1001 2 escon channel 3088/1f 00 - ctc ctc/mpc 0.0.1002,0.0.1003 3 ficon channel 3088/1e 00 - ctc ctc/mpc 0.0.1004,0.0.1005 4 OSA (QDIO) 1731/01 00 OSD qeth eth 0.0.f500,0.0.f501,0.0.f502 5 OSA (QDIO) 1731/01 01 OSD qeth eth 0.0.f503,0.0.f504,0.0.f505 6 OSA (QDIO) 1731/01 02 OSD qeth eth 0.0.1010,0.0.1011,0.0.1012 7 HiperSocket 1731/05 03 IQD qeth hsi 0.0.1013,0.0.1014,0.0.1015 8 OSA (QDIO) 1731/01 04 OSD qeth eth 0.0.1017,0.0.1018,0.0.1019 9 OSA (QDIO) 1731/01 76 OSD qeth eth 0.0.f5f0,0.0.f5f1,0.0.f5f2 10 LCS OSA 3088/60 8a OSE lcs eth 0.0.1240,0.0.1241 11 HiperSocket 1731/05 fb IQD qeth hsi 0.0.8024,0.0.8025,0.0.8026 12 HiperSocket 1731/05 fc IQD qeth hsi 0.0.8124,0.0.8125,0.0.8126 13 HiperSocket 1731/05 fd IQD qeth hsi 0.0.8224,0.0.8225,0.0.8226 14 HiperSocket 1731/05 fe IQD qeth hsi 0.0.8324,0.0.8325,0.0.8326 <num>) use config, m) manual config, r) rescan, s) shell: 6 * NOTE: To enter default or empty values press enter twice. * Portname (1..8 characters, or ? for help). Default is no portname: Relative port number for OSA (0, 1, or ? for help). Default is 0: Layer mode (0 for layer3, 1 for layer2, or ? for help). Default is 0: 1 Activating network device... Detected: GuestLAN based on OSA (QDIO) Hostname of your new Linux guest (FQDN e.g. s390.redhat.com or ? for help): h4245010.qdio2.local IPv4 address / IPv6 addr. (e.g. 10.0.0.2 / 2001:0DB8:: or ? for help) 10.0.2.10 IPv4 netmask or CIDR prefix (e.g. 255.255.255.0 or 1..32 or ? for help). Default is 255.0.0.0: 255.255.255.0 IPv4 address of your default gateway or ? for help: 10.0.2.10 Trying to reach gateway 10.0.2.10... IPv4 addresses of DNS servers (separated by colons ':' or ? for help): 127.0.0.1 Trying to reach DNS servers... DNS search domains (separated by colons ':' or ? for help): local DASD range (e.g. 200-203,205 or ? for help). Default is autoprobing: eb1d-eb1d Initial configuration completed. c) continue, p) parm file/configuration, n) network state, r) restart, s) shell p NETTYPE=qeth IPADDR=10.0.2.10 NETMASK=255.255.255.0 GATEWAY=10.0.2.10 HOSTNAME=h4245010.qdio2.local SUBCHANNELS=0.0.1010,0.0.1011,0.0.1012 LAYER2=1 DNS=127.0.0.1 SEARCHDNS=local DASD=eb1d-eb1d c) continue, p) parm file/configuration, n) network state, r) restart, s) shell n eth0 Link encap:Ethernet HWaddr 02:42:45:00:00:19 inet addr:10.0.2.10 Bcast:10.0.2.255 Mask:255.255.255.0 inet6 addr: fe80::42:45ff:fe00:19/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1492 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:468 (468.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:4 errors:0 dropped:0 overruns:0 frame:0 TX packets:4 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:336 (336.0 B) TX bytes:336 (336.0 B) sit0 Link encap:IPv6-in-IPv4 NOARP MTU:1480 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 127.0.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 lo 10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0.0.0.0 10.0.2.10 0.0.0.0 UG 0 0 0 eth0 c) continue, p) parm file/configuration, n) network state, r) restart, s) shell c Starting telnetd and sshd to allow login over the network. Connect now to 10.0.2.10 and login as user root to start the installation. E.g. using: ssh -X root@xxxxxxxxx
Linux version 2.6.18-92.el5 (brewbuilder@xxxxxxxxxxxxxxxxxxxxx) (gcc version 4.1.2 20071124 (Red Hat 4.1.2-41)) #1 SMP Tue Apr 29 13:16:58 EDT 2008 We are running under VM (64 bit mode) Detected 3 CPU's Boot cpu address 0 Built 1 zonelists. Total pages: 262144 Kernel command line: root=/dev/ram0 ro ip=off ramdisk_size=40000 cio_ignore=all,!0.0.0009 CMSDASD=191 CMSCONFFILE=rh52hg_.conf ... Starting the zSeries initrd to configure networking. Version is 1.2 file not found Could not read conf file rh52hg_.conf on CMS DASD 191. Scanning for available network devices... Autodetection found 0 devices. Note: There is a device blacklist active! (Clearing might take long) c) clear blacklist, m) manual config, r) rescan, s) shell: m * NOTE: To enter default or empty values press enter twice. * Network type (qeth, lcs, ctc, iucv, ? for help). Default is qeth: qeth Read,write,data channel (e.g. 0.0.0300,0.0.0301,0.0.0302 or ? for help). 0.0.f5f0,0.0.f5f1,0.0.f5f2 Device 0.0.f5f0 not present, trying to clear from blacklist and resense... Device 0.0.f5f1 not present, trying to clear from blacklist and resense... Device 0.0.f5f2 not present, trying to clear from blacklist and resense... Portname (1..8 characters, or ? for help). Default is no portname: foo Relative port number for OSA (0, 1, or ? for help). Default is 0: 0 Layer mode (0 for layer3, 1 for layer2, or ? for help). Default is 0: 1 Activating network device... Detected: OSA card in OSD mode, Gigabit Ethernet Unique MAC address (e.g. 02:00:00:00:00:00, ? for help). Default is none: 02:00:00:00:00:00 Hostname of your new Linux guest (FQDN e.g. s390.redhat.com or ? for help): h4245010.boeblingen.de.ibm.com IPv4 address / IPv6 addr. (e.g. 10.0.0.2 / 2001:0DB8:: or ? for help) *.*.108.140 IPv4 netmask or CIDR prefix (e.g. 255.255.255.0 or 1..32 or ? for help). Default is 255.0.0.0: 255.255.252.0 IPv4 address of your default gateway or ? for help: ? Help text for IPv4 default gateway: For HiperSockets with internal traffic only you may want to leave this empty and choose continue afterwards to go on without gateway. Depending on your network design patterns, the default gateway might be *.*.108.1 or *.*.111.254 IPv4 address of your default gateway or ? for help: *.*.108.1 Trying to reach gateway *.*.108.1... IPv4 addresses of DNS servers (separated by colons ':' or ? for help): *.*.120.241:*.*.64.172 Trying to reach DNS servers... Could not ping DNS server: *.*.120.241 Could not ping DNS server: *.*.64.172 0) redo this parameter, 1) continue, 2) restart dialog, 3) halt, 4) shell 1 DNS search domains (separated by colons ':' or ? for help): boeblingen.de.ibm.com:de.ibm.com:ibm.com DASD range (e.g. 200-203,205 or ? for help). Default is autoprobing: eb1d-eb1d Initial configuration completed. c) continue, p) parm file/configuration, n) network state, r) restart, s) shell p NETTYPE=qeth IPADDR=*.*.108.140 NETMASK=255.255.252.0 GATEWAY=*.*.108.1 HOSTNAME=h4245010.boeblingen.de.ibm.com SUBCHANNELS=0.0.f5f0,0.0.f5f1,0.0.f5f2 LAYER2=1 MACADDR=02:00:00:00:00:00 PORTNAME=FOO PORTNO=0 DNS=*.*.120.241:*.*.64.172 SEARCHDNS=boeblingen.de.ibm.com:de.ibm.com:ibm.com DASD=eb1d-eb1d c) continue, p) parm file/configuration, n) network state, r) restart, s) shell c Starting telnetd and sshd to allow login over the network. Connect now to *.*.108.140 and login as user root to start the installation. E.g. using: ssh -X root@*.*.108.140
Linux version 2.6.18-92.el5 (brewbuilder@xxxxxxxxxxxxxxxxxxxxx) (gcc version 4.1.2 20071124 (Red Hat 4.1.2-41)) #1 SMP Tue Apr 29 13:16:58 EDT 2008 We are running under VM (64 bit mode) Detected 3 CPU's Boot cpu address 0 Built 1 zonelists. Total pages: 262144 Kernel command line: root=/dev/ram0 ro ip=off ramdisk_size=40000 cio_ignore=all,!0.0.0009 CMSDASD=191 CMSCONFFILE=rh52lcs.conf cmdline RUNKS=1 ks=http://10.20.10.63/ks/steffenm/anaconda-ks.cfg ... Starting the zSeries initrd to configure networking. Version is 1.2 * NOTE: To enter default or empty values press enter twice. * Device 0.0.1240 not present, trying to clear from blacklist and resense... Device 0.0.1241 not present, trying to clear from blacklist and resense... Detected: OSA LCS card Activating network device... route: SIOC?ADD|DELÙRT: Network is unreachable Could net set default route on device eth0 via gateway 127.0.0.1 Trying to reach DNS servers... Initial configuration completed. Starting telnetd and sshd to allow login over the network. %G12:03:55 INFO : 1026544 kB are available 12:03:55 INFO : modules to insert cramfs fat vfat sunrpc lockd fscache nfs_acl nfs loop isofs floppy edd pcspkr squashfs ... 12:03:57 INFO : getting kickstart file 12:03:57 INFO : only have one network device: eth0 12:03:57 INFO : dnsservers is 127.0.0.1 12:03:57 INFO : setting specified hostname of h4245010.lcs.local 12:03:57 INFO : doing kickstart... setting it up 12:04:03 WARNING : no network link detected on eth0 12:04:03 INFO : file location: http://10.20.10.63/ks/steffenm/anaconda-ks.cfg 12:04:03 INFO : transferring http://10.20.10.63//ks/steffenm/anaconda-ks.cfg to a fd 12:04:03 INFO : setting up kickstart 12:04:03 INFO : kickstartFromUrl 12:04:03 INFO : results of url ks, url ftp://***:***@10.20.10.63//RHEL5.2/DVD 12:04:03 INFO : setting language to en_US.UTF-8 12:04:03 INFO : need to set up networking 12:04:03 INFO : going to pick interface 12:04:03 INFO : going to do getNetConfig 12:04:03 INFO : dnsservers is 127.0.0.1 12:04:03 INFO : setting specified hostname of h4245010.lcs.local 12:04:03 INFO : doing kickstart... setting it up 12:04:08 WARNING : no network link detected on eth0 12:04:08 INFO : starting to STEP_URL 12:04:08 INFO : URL_STAGE_MAIN - url is ftp://***:***@10.20.10.63//RHEL5.2/DVD 12:04:08 ERROR : got to setupCdrom without a CD device 12:04:08 INFO : transferring ftp://10.20.10.63///RHEL5.2/DVD/images/updates.img to a fd 12:04:08 INFO : transferring ftp://10.20.10.63///RHEL5.2/DVD/disc1/images/updates.img to a fd 12:04:08 INFO : transferring ftp://10.20.10.63///RHEL5.2/DVD/images/product.img to a fd 12:04:08 INFO : transferring ftp://10.20.10.63///RHEL5.2/DVD/disc1/images/product.img to a fd 12:04:08 INFO : 1026544 kB are available 12:04:08 INFO : transferring ftp://10.20.10.63///RHEL5.2/DVD/images/stage2.img to a fd 12:04:10 INFO : mntloop loop0 on /mnt/runtime as /tmp/ramfs/stage2.img fd is 19 12:04:10 INFO : got url ftp://***:***@10.20.10.63///RHEL5.2/DVD 12:04:10 INFO : Loading SELinux policy 12:04:10 INFO : getting ready to spawn shell now %G12:04:10 INFO : modules to insert ide-cd ... 12:04:11 INFO : load module set done 12:04:11 INFO : looking for USB mouse... 12:04:11 INFO : Running anaconda script /usr/bin/anaconda Running anaconda, the Red Hat Enterprise Linux Server system installer - please wait... Retrieving installation information... In progress... Completed Completed Checking dependencies in packages selected for installation... In progress... Setting up swapspace version 1, size = 2080370 kB Formatting / file system... ... Formatting /boot file system... ... Starting install process. This may take several minutes... Preparing transaction from installation source... In progress... Installing libgcc-4.1.2-42.el5... Done ?1/515Ù ... Installing Deployment_Guide-en-US-5.2-9... Done ?516/515Ù Performing post install configuration... Installing bootloader... In interactive step complete, can't continue 00: CP I CMS
Linux version 2.6.18-92.el5 (brewbuilder@xxxxxxxxxxxxxxxxxxxxx) (gcc version 4.1.2 20071124 (Red Hat 4.1.2-41)) #1 SMP Tue Apr 29 13:16:58 EDT 2008 We are running under VM (64 bit mode) Detected 3 CPU's Boot cpu address 0 Built 1 zonelists. Total pages: 262144 Kernel command line: root=/dev/ram0 ro ip=off ramdisk_size=40000 cio_ignore=all,!0.0.0009 CMSDASD=191 CMSCONFFILE=rh52hg_.conf ... Starting the zSeries initrd to configure networking. Version is 1.2 file not found Could not read conf file rh52hg_.conf on CMS DASD 191. Scanning for available network devices... Autodetection found 0 devices. Note: There is a device blacklist active! (Clearing might take long) c) clear blacklist, m) manual config, r) rescan, s) shell: m * NOTE: To enter default or empty values press enter twice. * Network type (qeth, lcs, ctc, iucv, ? for help). Default is qeth: foo Incorrect format or value for network type (NETTYPE): foo Network type (qeth, lcs, ctc, iucv, ? for help). Default is qeth: ? Help text for network type: qeth: OSA-Express Fast Ethernet, Gigabit Ethernet (including 1000Base-T), High Speed Token Ring, and ATM (running Ethernet LAN emulation) features in QDIO mode. ?defaultÙ lcs: OSA-2 Ethernet/Token Ring, OSA-Express Fast Ethernet in non-QDIO mode, OSA-Express High Speed Token Ring in non-QDIO mode and Gigabit Ethernet in non-QDIO mode. ctc: No longer officially supported. iucv: No longer officially supported. Network type (qeth, lcs, ctc, iucv, ? for help). Default is qeth: Read,write,data channel (e.g. 0.0.0300,0.0.0301,0.0.0302 or ? for help). ? Help text for qeth channels: Enter the device bus ID of your CCW devices. QETH needs three channels for read, write, and data, e.g. 0.0.0300,0.0.0301,0.0.0302 Read,write,data channel (e.g. 0.0.0300,0.0.0301,0.0.0302 or ? for help). 0.0.0300,0.0.0301,0.0.0301 Device 0.0.0300 not present, trying to clear from blacklist and resense... Device 0.0.0300 does not exist Device 0.0.0301 not present, trying to clear from blacklist and resense... Device 0.0.0301 does not exist Device 0.0.0301 not present, trying to clear from blacklist and resense... Device 0.0.0301 does not exist 0) redo this parameter, 1) continue, 2) restart dialog, 3) halt, 4) shell 0 Read,write,data channel (e.g. 0.0.0300,0.0.0301,0.0.0302 or ? for help). 0.0.F5f0,0.0.1018,0.0.1241 Device 0.0.f5f0 not present, trying to clear from blacklist and resense... Device 0.0.1018 not present, trying to clear from blacklist and resense... Device 0.0.1018 does not have the same CHPIDs as device 0.0.f5f0 Device bus ID of write channel (dev 0.0.1018) must be one larger than that of read channel (dev 0.0.f5f0) Device 0.0.1241 not present, trying to clear from blacklist and resense... Device 0.0.1241 has control unit type 3088/60, which does not match your selected network type qeth 0) redo this parameter, 1) continue, 2) restart dialog, 3) halt, 4) shell 0 Read,write,data channel (e.g. 0.0.0300,0.0.0301,0.0.0302 or ? for help). 0.0.1017,0.0.1018,0.0.1019 Device 0.0.1017 not present, trying to clear from blacklist and resense... Device 0.0.1019 not present, trying to clear from blacklist and resense... Portname (1..8 characters, or ? for help). Default is no portname: ? Help text for portname: Portname of the OSA-Express feature in QDIO mode and z/VM Guest LAN. This parameter is optional with: - z/VM 4.4.0 or z/VM 4.3.0 with APARs VM63308 and PQ73878 - z800 and z900 with >= Driver 3G - EC stream J11204, MCL032 (OSA level 3.33) - z890, z990, z9, z10 mainframes * Your configuration does not require a portname. * If portname is used, all operating systems sharing port must use same name. Input empty string if you don't want to enter a portname. ?defaultÙ Portname (1..8 characters, or ? for help). Default is no portname: Relative port number for OSA (0, 1, or ? for help). Default is 0: ? Help text for relative port number for OSA with 2 ports per CHPID: This applies to: - OSA-Express3 Gigabit Ethernet on z10 systems - OSA-Express ATM on zSeries 800 and 900 systems 0 for relative port number 0 ?defaultÙ 1 for relative port number 1 Input empty string to not modify the default configuration. Relative port number for OSA (0, 1, or ? for help). Default is 0: 2 Incorrect format or value for relative port number (PORTNO): 2 0) redo this parameter, 1) continue, 2) restart dialog, 3) halt, 4) shell 0 Relative port number for OSA (0, 1, or ? for help). Default is 0: 1 Layer mode (0 for layer3, 1 for layer2, or ? for help). Default is 0: ? Help text for OSA mode of operation: layer 2 vs. layer 3 0 for layer 3 mode ?defaultÙ (may not work with dhcp, tcpdump, etc.) 1 for layer 2 mode Layer mode (0 for layer3, 1 for layer2, or ? for help). Default is 0: 3 Incorrect format or value for layer2 mode (LAYER2): 3 0) redo this parameter, 1) continue, 2) restart dialog, 3) halt, 4) shell 0 Layer mode (0 for layer3, 1 for layer2, or ? for help). Default is 0: 1 Activating network device... qeth: Initialization in hardsetup failed! rc=-5 qeth: Initialization in hardsetup failed! rc=-5 Could not set device (0.0.1017,0.0.1018,0.0.1019) online within timeout 1) continue, 2) restart dialog, 3) halt, 4) shell 2 Scanning for available network devices... Autodetection found 1 devices. NUM CARD CU CHPID TYPE DRIVER IF DEVICES 1 OSA (QDIO) 1731/01 04 OSD qeth eth 0.0.1017,0.0.1018,0.0.1019 Note: There is a device blacklist active! (Clearing might take long) <num>) use config, c) clear blacklist, m) manual config, r) rescan, s) shell: m * NOTE: To enter default or empty values press enter twice. * Network type 0) default is previous "qeth", 1) new value, ?) help Read,write,data channel 0) default is previous "0.0.1017,0.0.1018,0.0.1019", 1) new value, ?) help Portname 0) default is previous "", 1) new value, ?) help Relative port number for OSA 0) default is previous "1", 1) new value, ?) help Layer mode 0) default is previous "1", 1) new value, ?) help ? Help text for OSA mode of operation: layer 2 vs. layer 3 0 for layer 3 mode ?defaultÙ (may not work with dhcp, tcpdump, etc.) 1 for layer 2 mode Layer mode 0) default is previous "1", 1) new value, ?) help 1 new value: ? Help text for OSA mode of operation: layer 2 vs. layer 3 0 for layer 3 mode ?defaultÙ (may not work with dhcp, tcpdump, etc.) 1 for layer 2 mode Layer mode (0 for layer3, 1 for layer2, or ? for help). Default is 0: Activating network device... Detected: GuestLAN based on OSA (QDIO) Hostname of your new Linux guest 0) default is previous "", 1) new value, ?) help 1 new value: h4245010.guest3.local IPv4 address / IPv6 addr. 0) default is previous "", 1) new value, ?) help ? Help text for IP address: Enter a valid IPv4 address of your new Linux guest (e.g. 10.0.0.2) or alternatively a valid IPv6 address without CIDR prefix (e.g. 2001:0DB8::) IPv6 is supported on: - Ethernet interfaces of the OSA-Express adapter running in QDIO mode. - HiperSockets layer 2 interfaces - z/VM guest LAN interfaces running in QDIO mode. IPv6 is not supported on HiperSocket guest LAN, OSA-Express Token Ring, ATM. IPv4 address / IPv6 addr. 0) default is previous "", 1) new value, ?) help 1 new value: 10.0.3.10 IPv4 netmask or CIDR prefix 0) default is previous "", 1) new value, ?) help 1 new value: ? Help text for IPv4 netmask or CIDR prefix: Enter a valid IPv4 netmask or CIDR prefix (e.g. 255.255.255.0 or 1..32) Default is 255.0.0.0 IPv4 netmask or CIDR prefix (e.g. 255.255.255.0 or 1..32 or ? for help). Default is 255.0.0.0: 24 IPv4 address of your default gateway 0) default is previous "", 1) new value, ?) help 1 new value: ? Help text for IPv4 default gateway: For HiperSockets with internal traffic only you may want to leave this empty and choose continue afterwards to go on without gateway. Depending on your network design patterns, the default gateway might be 10.0.3.1 or 10.0.3.254 IPv4 address of your default gateway or ? for help: Incorrect format for IPv4 address of gateway (GATEWAY): 0) redo this parameter, 1) continue, 2) restart dialog, 3) halt, 4) shell 1 IPv4 addresses of DNS servers 0) default is previous "", 1) new value, ?) help You might encounter problems without a nameserver, especially with FTP installs 0) redo this parameter, 1) continue, 2) restart dialog, 3) halt, 4) shell 1 DASD range 0) default is previous "", 1) new value, ?) help 1 new value: ? Help text for DASD range: Comma separated list of ranges of device bus IDs. Default is autoprobing (not recommended). Examples would be: 200-203 or 200,201,202,203 or 0.0.0200-0.0.0203,0.0.0205 DASD range (e.g. 200-203,205 or ? for help). Default is autoprobing: eb1d Initial configuration completed. c) continue, p) parm file/configuration, n) network state, r) restart, s) shell p NETTYPE=qeth IPADDR=10.0.3.10 NETMASK=255.255.255.0 GATEWAY= HOSTNAME=h4245010.guest3.local SUBCHANNELS=0.0.1017,0.0.1018,0.0.1019 PORTNO=1 DASD=eb1d c) continue, p) parm file/configuration, n) network state, r) restart, s) shell n eth0 Link encap:Ethernet HWaddr 02:42:45:00:00:1C inet addr:10.0.3.10 Bcast:10.0.3.255 Mask:255.255.255.0 inet6 addr: fe80::242:4500:700:1c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1492 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:468 (468.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) sit0 Link encap:IPv6-in-IPv4 NOARP MTU:1480 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 127.0.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 lo 10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 c) continue, p) parm file/configuration, n) network state, r) restart, s) shell s Enter 'exit' at the shell prompt to get back to the installation dialog. bash: no job control in this shell bash-3.2# cat /proc/cio_ignore 0.0.0000-0.0.0008 0.0.000a-0.0.0190 0.0.0192-0.0.02ff 0.0.0302-0.0.1016 0.0.101a-0.0.1240 0.0.1242-0.0.eb1c 0.0.eb1e-0.0.f5ef 0.0.f5f1-0.0.ffff 0.1.0000-0.1.ffff 0.2.0000-0.2.ffff 0.3.0000-0.3.ffff bash-3.2# exit exit c) continue, p) parm file/configuration, n) network state, r) restart, s) shell c Starting telnetd and sshd to allow login over the network. Connect now to 10.0.3.10 and login as user root to start the installation. E.g. using: ssh -X root@xxxxxxxxx
_______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list