summaryrefslogtreecommitdiffstats
path: root/loader/linuxrc.s390
Commit message (Collapse)AuthorAgeFilesLines
* move linuxrc.s390 out of harm's wayWill Woods2012-02-151-994/+0
| | | | | We still need linuxrc.s390 (that's a project for another year), so move it out of loader/ while we warm up the orbital lasers.
* Remove networking configuration steps from linuxrc.s390 (#783227)David Cantrell2012-02-141-2114/+29
| | | | | | | | | dracut does this now by using the ip= and rd.znet= parameters when booting the system, thus rendering everything linuxrc.s390 does in this area pointless. Some support code is there to ensure that NetworkManager does not drive over the already-configured interface.
* Use znet_cio_free to clear network devices from cio_ignore.David Cantrell2011-04-061-11/+1
| | | | | | | | This line needs to use the external tool to free network devices. Related: rhbz#633469 (cherry picked from commit f7b19bda11cdf44f9e935f72d2eb17b6792660bc)
* Unmount filesystems before shutdown or reboot on s390x (#605577)David Cantrell2011-01-211-0/+2
| | | | | | | | | Prevents unclean root filesystem on first reboot. On all platforms but s390x, this is handled by the unmountFilesystems() function in loader/undomounts.c, but since init on s390x is a shell script, we need this forced umount call. (cherry picked from commit f6c6dd0369bd691c6979cc02ca10b222b028b649)
* Update example ssh command in linuxrc.s390David Cantrell2011-01-131-1/+1
| | | | | | | | The [-x|-X] shows up as gibberish when echoed on the 3270 console, so just change it to the recommended -x option. Leave the other explanatory text. Related: rhbz#621590
* Start rsyslogd from linuxrc.s390 (#601337)David Cantrell2011-01-131-0/+4
| | | | | On s390, we use linuxrc.s390 for our /sbin/init. Make sure it starts up rsyslogd like init.c handles on the other platforms.
* Use cio_ignore and *_cio_free commands in linuxrc.s390 (#633469)David Cantrell2010-12-221-36/+4
| | | | | | | | | Remove blocks that interact with /proc/cio_ignore directly. Use cio_ignore, dasd_cio_free, and zfcp_cio_free commands from the s390utils package instead. These commands handle waiting for the device to appear as well, so we can also remove the sleep and settle code all over the place. (cherry picked from commit f7852a41036ba7cc31e3df78cb0a684e4086d566)
* Clarify the ssh modes for installation on s390x (#621590).David Cantrell2010-12-091-2/+5
| | | | | | | | | | If X11 forwarding is enabled on the ssh client, anaconda will automatically start up and display via X11 forwarding. Some users are confused and are expecting VNC -or- they prefer VNC over X11 forwarding because of their network configuration. Clarify the instructions given to the user so they know how exactly they should invoke the ssh client to start installation. (cherry picked from commit 8444a817157d38c346061bc3c931ef05c809753a)
* Correct paths of things started by loader/init that have moved.Chris Lumens2010-10-151-7/+7
|
* Remove telnet support.David Lehman2010-08-171-1/+2
| | | | See ssh(1) for information about using ssh.
* Only write changed DASD attributes to rd_DASD params (#606783)David Cantrell2010-07-211-0/+4
| | | | | | | Only include option values in the rd_DASD parameter if the user has changed the value. This should reduce the amount of data written to zipl.conf by a reasonable amount, which should keep most use cases from exceeding the boot parameter length limit.
* Rebind hybrid lcs/ctc network devices to correct driver if necessary (#596826)Steffen Maier2010-06-111-0/+26
| | | | | | | | | | | There are two network device types 3088/08 and 3088/1f which can be either lcs or ctc. Therefore, both device drivers lcs and ctcm are loaded and the one that happens to get loaded first binds such devices. If the user specified the device to be handled by the other driver, then rebind the subchannels to the specified driver. Related: rhbz#557522 Related: rhbz#561814
* Get netdev name without CONFIG_SYSFS_DEPRECATED_V2 in linuxrc.s390 (#596826)Steffen Maier2010-06-111-10/+3
| | | | | | | | | | Linuxrc.s390 used to read the symlink net:<netdev> to get the name of the just configured network device of type lcs or ctc. This symlink only exists if the kernel is compiled with CONFIG_SYSFS_DEPRECATED_V2. Since more recent kernel are built without that option, we read the content of directory 'net' which is another directory having the name of the network device.
* Allow loader to parse DNS and write DNS1, DNS2, ... itself (again). (#595388)Steffen Maier2010-06-111-0/+8
|
* GATEWAY in linuxrc.s390's ifcfg is really IPv4 only (#595388)Steffen Maier2010-06-111-1/+1
|
* Tell which stacks to configure in /etc/sysconfig/network on s390 (#595388)Steffen Maier2010-06-021-0/+5
|
* Really ignore deprecated parm/conf file options in linuxrc.s390 (#595388)Steffen Maier2010-06-021-0/+2
| | | | Otherwise the fixed loader would leave them in the ifcfg file.
* Correctly pass netdev name from linuxrc.s390 to loader (#595382)Steffen Maier2010-06-021-38/+7
| | | | | | | | Pass configured network device on s390 to loader via /tmp/s390net rather than the DEVICE environment variable. Using the environment variable only works when loader is the child process of /sbin/init, which only happens with RUNKS=1. Other installs on s390 invoke loader as the ssh login shell, so they never see the DEVICE environment variable.
* Fix most of what is necessary for install over IPv6 on s390 (#594090)David Cantrell2010-06-021-3/+1
| | | | | | | | We need loader support to parse and write out an IPv6 prefix. Write out IPV6_AUTOCONF=no in writeEnabledNetInfo for manual IPv6 method. (Patch from Steffen Maier <maier@linux.vnet.ibm.com>)
* Remove long deprecated writing of alias for network in linuxrc.s390Steffen Maier2010-06-021-14/+0
| | | | | | Udev automatically loads device drivers by means of aliases in the driver modules and corresponding events on the buses so we don't need to write alias to modprobe.conf.
* Only kill init for reboot/halt and then exit linuxrc.s390Steffen Maier2010-06-021-0/+2
| | | | | | | | | | | | | | | Like init.c, linuxrc.s390 should exit immediately after having sent the corresponding signal to the init process when called as reboot or halt (or poweroff in the future). While it might often not be noticed, if linuxrc continues after sending the signal since the system shuts down anyway, there are practical cases where the signalling does not work and linuxrc would otherwise startup yet another instance of the installer. Even though, linuxrc detects that it does not run with PID==1, we should not bet on its "test" mode for the cases where it serves as replacement for reboot/halt. Related: rhbz#571370
* Support cio_ignore functionality for zFCP devices (#533492)David Cantrell2010-05-251-2/+2
| | | | | | | | | Honor FCP_* lines passed at boot time as well as runtime additions of zFCP devices by the user. Call zfcp_cio_free to free the device from the cio_ignore facility and then set the remaining values necessary for the device as we used to do. Record all devices freed during installation in the /etc/zfcp.conf file and make sure that file is copied to the target system during installation.
* Add /sbin/reboot and /sbin/halt to s390 initrd.img (#571370)David Cantrell2010-04-141-0/+6
| | | | | | Necessary for reboot or halt support from rescue mode. Since linuxrc.s390 currently does everything on s390x, add in handlers for reboot and halt modes.
* Increase ping timeout for gateway/dns server reachability check (#536815)David Cantrell2010-04-141-5/+10
| | | | | On s390, increase the ping test to 3 tries and a 30 second max timeout for each try.
* Fix typo in linuxrc.s390. ctm should be ctcm.David Cantrell2010-03-301-1/+1
|
* Remove dasdSetup() from loader.David Cantrell2010-03-301-4/+0
| | | | | | | | | | | | The dasdSetup() function in hardware.c is no longer necessary with the current linuxrc.s390. The linuxrc.s390 handles all DASD setup except dasdfmt. If a DASD needs dasdfmt, that's handled by the anaconda storage code. The dasdSetup() function would take the contents of /tmp/dasd_ports and pass it as the dasd= parameter during a forced reload of the dasd_mod kernel module. We do not need to do this anymore since linuxrc.s390 sets up the DASD devices before loader starts.
* Use /sbin/dasd_cio_free to free blacklisted DASDs (#558881)David Cantrell2010-03-301-9/+14
| | | | | | | | | | | | | Use the dasd_cio_free command to free blacklisted DASDs and block until they are available to set online and set other attributes. We were just writing "free $DEVICE" to /proc/cio_ignore, but we lacked the wait loop to make sure the device showed up. The /sbin/dasd_cio_free command does that for us, so we can just call that. NOTE: The dasd_cio_free command reads the DASD list from the output of the 'modprobe --showconfig' command, so the $DASD list is placed in the /etc/modprobe.d/dasd_mod.conf in module option format so that modprobe can return it correctly.
* Fix return values for dasd_settle_all() in linuxrc.s390 (#558881).David Cantrell2010-02-121-4/+3
| | | | Also remove one call to dasd_settle_all(), which is not necessary.
* Correct references to lcs and ctcm devices (#561816).David Cantrell2010-02-111-7/+7
| | | | Followup to 84904cdfc5b6822ac62c39694b07eb323b59b2f3.
* Use lsznet.raw from s390utils package (#563548).David Cantrell2010-02-111-7/+3
| | | | | | The lsznet.raw and controlunits.sh files are now part of the s390-tools project, which is in the s390utils package. Remove our copies and make sure we use the ones from the s390utils package.
* Revert "Write ARP=no to ifcfg file when VSWITCH=1 is set on s390x (#561926)."David Cantrell2010-02-111-1/+0
| | | | | | | | | This reverts commit 3b90bea90eb3c65f34e358babcb866b1514a4994. ARP=no did not actually fix the problem with VSWITCH=1, nor did ARP=yes. The problem was found to be in the /lib/udev/ccw_init file, which is part of initscripts. The ifup script is not able to handle the asynchronous bring up of s390x network devices.
* Use /sys/devices/lcs instead of /sys/devices/cu3088 (#561816).David Cantrell2010-02-111-6/+6
| | | | | | The kernel change is in place and the cu3088 sysfs path is going away at some point. For CTC and LCS devices, we need to use the /sys/devices/lcs path.
* Wait for all DASDs to be online after autodetection (#558881).David Cantrell2010-02-111-0/+12
| | | | | | | | | | | | | | | | | | | | When a user boots with cio_ignore=all,!0.0.0009 on s390x, it tells the kernel to only bring device 0.0.0009 online before booting. Device 0.0.0009 is the 3270 console. The idea behind cio_ignore is to prevent long bootups when the kernel will see thousands of devices and have to bring up each one and gather stats. With cio_ignore, you get in to Linux faster and then specifically enable the devices you want. We support this in anaconda via linuxrc.s390. Your CMS conf file can specify the devices or device ranges to use during installation. If you don't specify that information, linuxrc.s390 prompts you. If you don't know what information to provide, you can just press Enter and the entire system is scanned. When a DASD scan happens and each one is brought online, make sure we wait until the devices enter the 'active' or 'unformatted' states. The other states indicate we should continue waiting for the device to come up.
* Write ARP=no to ifcfg file when VSWITCH=1 is set on s390x (#561926).David Cantrell2010-02-051-0/+1
| | | | | | | | | | | When using LAYER2=1 VSWITCH=1 in your CMS conf file on s390x, the ifcfg file written by anaconda will result in a non-working network connection on reboot after installation. When LAYER2=1, we already prevent writing of the HWADDR to the ifcfg file, but when VSWITCH=1, we need to write ARP=no to the ifcfg file as well. Make sure to carry over VSWITCH in linuxrc.s390, but also make sure we don't write it to the final ifcfg file on the target system.
* Add 5 second ping delay for gateway and dns test on s390x (#536815).David Cantrell2010-01-271-3/+3
|
* Update =~ regexps in linuxrc.s390 for bash-4.1 (#558537).David Cantrell2010-01-271-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GNU bash 4.1 changes the behavior of the =~ operator in the [[ command. From the bash FAQ: E14) Why does quoting the pattern argument to the regular expression matching conditional operator (=~) cause regexp matching to stop working? In versions of bash prior to bash-3.2, the effect of quoting the regular expression argument to the [[ command's =~ operator was not specified. The practical effect was that double-quoting the pattern argument required backslashes to quote special pattern characters, which interfered with the backslash processing performed by double-quoted word expansion and was inconsistent with how the == shell pattern matching operator treated quoted characters. In bash-3.2, the shell was changed to internally quote characters in single- and double-quoted string arguments to the =~ operator, which suppresses the special meaning of the characters special to regular expression processing (`.', `[', `\', `(', `), `*', `+', `?', `{', `|', `^', and `$') and forces them to be matched literally. This is consistent with how the `==' pattern matching operator treats quoted portions of its pattern argument. Since the treatment of quoted string arguments was changed, several issues have arisen, chief among them the problem of white space in pattern arguments and the differing treatment of quoted strings between bash-3.1 and bash-3.2. Both problems may be solved by using a shell variable to hold the pattern. Since word splitting is not performed when expanding shell variables in all operands of the [[ command, this allows users to quote patterns as they wish when assigning the variable, then expand the values to a single string that may contain whitespace. The first problem may be solved by using backslashes or any other quoting mechanism to escape the white space in the patterns. Bash-4.0 introduces the concept of a `compatibility level', controlled by several options to the `shopt' builtin. If the `compat31' option is enabled, bash reverts to the bash-3.1 behavior with respect to quoting the rhs of the =~ operator.
* Fix reading dasd status sysfs attribute (#536803).David Cantrell2010-01-191-1/+2
|
* Look for the SSH config file in /etc/ssh on s390 as well (#555691).Chris Lumens2010-01-151-1/+1
|
* Fix path mistakes in dasd_settle() in loader/linuxrc.s390David Cantrell2010-01-131-3/+3
| | | | Fix some stupid path mistakes in dasd_settle().
* Poll DASD status for 'online' or 'unformatted' (#536803)David Cantrell2010-01-131-0/+24
| | | | | | Give DASD devices some time to enter the online or unformatted state before calling udevadm settle. Max duration of loop is suggestion from IBM.
* Get correct boot device in reIPL code for s390 (#537390).Mark Hamzy2009-11-171-0/+10
| | | | | | Account for the /boot existing on its own partition or as part of /. Output the values of the reipl configuration in linuxrc.s390 before reboot.
* Honor existing RUNKS conf file variable on s390 (#513951).David Cantrell2009-11-101-0/+4
| | | | | | The linuxrc.s390 rewrite changed the behavior of RUNKS on RHEL-5. We've done away with RUNKS on RHEL-6, but we still need to maintain existing functionality on RHEL-5.
* Add "Hipersockets" to qeth NETTYPE description (#511962).David Cantrell2009-11-101-1/+1
|
* Remove support for IUCV networking devices on s390. (#531494)David Cantrell2009-10-281-170/+58
| | | | | CONFIG_NETIUCV has been disabled in the kernel, so remove support for these devices during installation.
* Add sshd support for non-s390 platforms.Peter Jones2009-10-281-1/+1
| | | | | | This leaves the sshd support on the s390 intact and functional (testing needed), and at the same time add the ability to ssh in and get a terminal on non-s390 platforms.
* Write LAYER2 and PORTNO correctly as parts of OPTIONS to ifcfg for s390xSteffen Maier2009-10-151-5/+10
| | | | | | | | | | | | | | | | | | On s390x, linuxrc.s390 brings up the network completely and writes an NM compliant /etc/sysconfig/network-scripts/ifcfg-<DEVICE>. Apparently, loader never hits STEP_IP or writeEnabledNetworkInfo(). The latter would convert LAYER2= and PORTNO= into OPTIONS="". Since it does not seem to be called, linuxrc.s390 now writes OPTIONS="". Fixed readIfcfgContents() to not swallow OPTIONS which contains '='. With this in place, network.py writes a correct ifcfg to /mnt/sysimage. This patch completes ifcfg production on s390x of the following commits: 25f58fe7c701c453d39d2a9c5c0850eefce07f76 9249e40f42ffbbdcf42cd1caad72e3d622c7a75b 5f0fcf6688d08f83826c2892bb9fc97d6b4d7dd0 81163960a6137d39a5f2082e9f8d9f0a7b2ada57 This patch is intended for both devel and F-12.
* Don't run 70-anaconda.rules on an installed system (#527781).Chris Lumens2009-10-131-0/+2
| | | | | | | | The livecd includes anaconda, for obvious reasons. However this means that 70-anaconda.rules will be installed on the finished system and running our rules has some unusual side effects. While we slowly push our udev rules changes into upstream packages, this should make them a no-op on the installed system.
* Add 'install' user to start anaconda on s390x.David Cantrell2009-09-211-3/+3
| | | | | | | | | | This is a usability improvment. Once you've booted up the kernel and initrd on s390x, you are told to ssh in to the host to start the installation. In the past, we had rigged the root account to launch loader on the first login and a shell on subsequent logins. In this patch, I've added an 'install' user that has loader for the shell. The root user still has bash for the shell. Also change the recommendation to run 'ssh -X' rather than 'ssh -x'.
* It's controlunits, not controlunits.sh.Chris Lumens2009-09-101-1/+1
|
* Remove unused reipl code in linuxrc.s390Steffen Maier2009-08-181-24/+2
| | | | reipl is done correctly for DASD and zFCP in iutil.