[PATCH 2/4] Add a service to run anaconda directly on the tty

Jesse Keating jkeating at redhat.com
Wed Oct 10 23:12:54 UTC 2012


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 | 19 +++++++++++++++++++
 data/systemd/anaconda-generator      |  8 ++++++--
 3 files changed, 26 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 at .service \
 		    anaconda-shell at .service \
diff --git a/data/systemd/anaconda-direct.service b/data/systemd/anaconda-direct.service
new file mode 100644
index 0000000..c92dd9b
--- /dev/null
+++ b/data/systemd/anaconda-direct.service
@@ -0,0 +1,19 @@
+[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 anaconda-sshd.service
+Requires=anaconda.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=
+StandardOutput=journal+console
+StandardError=journal+console
+TimeoutSec=0
+
diff --git a/data/systemd/anaconda-generator b/data/systemd/anaconda-generator
index 4c8b828..41ee092 100755
--- a/data/systemd/anaconda-generator
+++ b/data/systemd/anaconda-generator
@@ -24,8 +24,12 @@ while [ -f /sys/class/tty/$tty/active ]; do
 done
 consoletty="$tty"
 
-# put anaconda on the real console
-service_on_tty anaconda-tmux at .service $consoletty
+# put anaconda on the real console if not s390x, otherwise put anaconda direct
+if [ $(uname -m) = "s390x" ]; then
+    ln -sf $systemd_dir/anaconda-direct.service $target_dir/
+else
+    service_on_tty anaconda-tmux at .service $consoletty
+fi
 
 # put a shell on tty2 and the first virtualization console we find
 for tty in tty2 hvc0 hvc1 xvc0 hvsi0 hvsi1 hvsi2; do
-- 
1.7.11.4



More information about the anaconda-patches mailing list