| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
This line needs to use the external tool to free network devices.
Related: rhbz#633469
(cherry picked from commit f7b19bda11cdf44f9e935f72d2eb17b6792660bc)
|
| |
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
| |
On s390, we use linuxrc.s390 for our /sbin/init. Make sure it starts up
rsyslogd like init.c handles on the other platforms.
|
| |
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
|
|
|
|
|
| |
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)
|
| | |
|
| |
|
|
| |
See ssh(1) for information about using ssh.
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Otherwise the fixed loader would leave them in the ifcfg file.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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>)
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
| |
On s390, increase the ping test to 3 tries and a 30 second max timeout
for each try.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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 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.
|
| |
|
|
| |
Also remove one call to dasd_settle_all(), which is not necessary.
|
| |
|
|
| |
Followup to 84904cdfc5b6822ac62c39694b07eb323b59b2f3.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 some stupid path mistakes in dasd_settle().
|
| |
|
|
|
|
| |
Give DASD devices some time to enter the online or unformatted state
before calling udevadm settle. Max duration of loop is suggestion from
IBM.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
| |
CONFIG_NETIUCV has been disabled in the kernel, so remove support for
these devices during installation.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
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'.
|
| | |
|
| |
|
|
| |
reipl is done correctly for DASD and zFCP in iutil.
|