diff --git a/elements/serial-console/README.md b/elements/serial-console/README.md index 202a5788..73ce59c9 100644 --- a/elements/serial-console/README.md +++ b/elements/serial-console/README.md @@ -1,5 +1,10 @@ -Start getty on ttyS0 or ttyS1 +Start getty on ttyS0 and/or ttyS1 With ILO and other remote admin environments, having a serial console can be -useful for debugging / troubleshooting. If ttyS1 exists, getty will run on -that, otherwise on ttyS0. +useful for debugging and troubleshooting. + +For upstart: + If ttyS1 exists, getty will run on that, otherwise on ttyS0. + +For systemd: + Try to start getty on both ttyS0 and ttyS1. diff --git a/elements/serial-console/install.d/20-stty b/elements/serial-console/install.d/20-stty index ca91e7df..fe1e0b12 100755 --- a/elements/serial-console/install.d/20-stty +++ b/elements/serial-console/install.d/20-stty @@ -3,5 +3,10 @@ home=$(dirname $0) set -uex -install -m 0644 -o root -g root $home/ttySx.conf /etc/init/ttySx.conf - +DIB_INIT_SYSTEM=$(dib-init-system) +if [ "$DIB_INIT_SYSTEM" == "upstart" ]; then + install -m 0644 -o root -g root $home/ttySx.conf /etc/init/ttySx.conf +elif [ "$DIB_INIT_SYSTEM" == "systemd" ]; then + ln -s /usr/lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@ttyS0.service + ln -s /usr/lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@ttyS1.service +fi