This uses wwoods' suggestion for enabling the anaconda-direct.service. It also adds the new service file to the Makefile, which I forgot before.
--jlk
This is useful as the install user's shell, rather than having anaconda direct as that shell. --- scripts/Makefile.am | 2 +- scripts/run-anaconda | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100755 scripts/run-anaconda
diff --git a/scripts/Makefile.am b/scripts/Makefile.am index 01c0492..3813ee6 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -18,7 +18,7 @@ # Author: David Cantrell dcantrell@redhat.com
scriptsdir = $(libexecdir)/$(PACKAGE_NAME) -dist_scripts_SCRIPTS = upd-updates +dist_scripts_SCRIPTS = upd-updates run-anaconda dist_scripts_DATA = pyrc.py dist_noinst_SCRIPTS = upd-kernel makeupdates
diff --git a/scripts/run-anaconda b/scripts/run-anaconda new file mode 100755 index 0000000..d31f70c --- /dev/null +++ b/scripts/run-anaconda @@ -0,0 +1,6 @@ +#!/usr/bin/bash +# +# Quick script to attach to tmux where anaconda is running +# + +/usr/bin/tmux -u attach -t anaconda
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
anaconda-patches@lists.fedorahosted.org