When installing on s390x, we just want to run pure anaconda on the tty. This will either detect s390x and print out ssh details for the user to ssh in to continue the isntall (and get tmux), or if a kickstart was provided and the RUNKS option was used it will just blast through the kickstart in cmdline mode. Tmux doesn't work in x3270, the terminal for s390x, so we have to avoid using it. --- data/systemd/Makefile.am | 1 + data/systemd/anaconda-direct.service | 16 ++++++++++++++++ data/systemd/anaconda-generator | 7 +++++-- 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 data/systemd/anaconda-direct.service
diff --git a/data/systemd/Makefile.am b/data/systemd/Makefile.am index 96bd8f0..7edc212 100644 --- a/data/systemd/Makefile.am +++ b/data/systemd/Makefile.am @@ -21,6 +21,7 @@ systemddir = /lib/systemd/system generatordir = /lib/systemd/system-generators
dist_systemd_DATA = anaconda.service \ + anaconda-direct.service \ anaconda.target \ anaconda-tmux@.service \ anaconda-shell@.service \ diff --git a/data/systemd/anaconda-direct.service b/data/systemd/anaconda-direct.service new file mode 100644 index 0000000..1db1c55 --- /dev/null +++ b/data/systemd/anaconda-direct.service @@ -0,0 +1,16 @@ +[Install] +WantedBy=anaconda.target + +[Unit] +Description=the anaconda installation program +Wants=instperf.service rsyslog.service udev-settle.service NetworkManager.service +After=instperf.service rsyslog.service udev-settle.service NetworkManager.service + +[Service] +Environment=HOME=/root MALLOC_CHECK_=2 MALLOC_PERTURB_=204 PATH=/usr/bin:/bin:/sbin:/usr +Type=oneshot +WorkingDirectory=/root +ExecStart=/usr/sbin/anaconda +StandardInput=tty-force +TimeoutSec=0 + diff --git a/data/systemd/anaconda-generator b/data/systemd/anaconda-generator index 4c8b828..0d83297 100755 --- a/data/systemd/anaconda-generator +++ b/data/systemd/anaconda-generator @@ -24,8 +24,11 @@ while [ -f /sys/class/tty/$tty/active ]; do done consoletty="$tty"
-# put anaconda on the real console -service_on_tty anaconda-tmux@.service $consoletty +# put anaconda on the real console if not s390x, otherwise put anaconda direct +if [ $(uname -m) = "s390x" ]; then + systemctl enable anaconda-direct.service +else + service_on_tty anaconda-tmux@.service $consoletty
# put a shell on tty2 and the first virtualization console we find for tty in tty2 hvc0 hvc1 xvc0 hvsi0 hvsi1 hvsi2; do