commit 9e5773ecc7fbb38bdbe595159113cd46aad2bcb8
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Thu Mar 2 11:05:59 2017 +0100
Add serial console role
roles/serial-console/files/serial-getty@.service | 35 ++++++++++++++++++++++
roles/serial-console/tasks/main.yml | 31 +++++++++++++++++++
2 files changed, 66 insertions(+), 0 deletions(-)
---
diff --git a/roles/serial-console/files/serial-getty@.service
b/roles/serial-console/files/serial-getty@.service
new file mode 100644
index 0000000..6539556
--- /dev/null
+++ b/roles/serial-console/files/serial-getty@.service
@@ -0,0 +1,35 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Serial Getty on %I
+Documentation=man:agetty(8) man:systemd-getty-generator(8)
+Documentation=http://0pointer.de/blog/projects/serial-console.html
+BindsTo=dev-%i.device
+After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service
+After=rc-local.service
+
+# If additional gettys are spawned during boot then we should make
+# sure that this is synchronized before getty.target, even though
+# getty.target didn't actually pull it in.
+Before=getty.target
+IgnoreOnIsolate=yes
+
+[Service]
+ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM
+Type=idle
+Restart=always
+UtmpIdentifier=%I
+TTYPath=/dev/%I
+TTYReset=yes
+TTYVHangup=yes
+KillMode=process
+IgnoreSIGPIPE=no
+SendSIGHUP=yes
+
+[Install]
+WantedBy=getty.target
diff --git a/roles/serial-console/tasks/main.yml b/roles/serial-console/tasks/main.yml
new file mode 100644
index 0000000..a333188
--- /dev/null
+++ b/roles/serial-console/tasks/main.yml
@@ -0,0 +1,31 @@
+#
+# This role sets up serial console on ttyS0
+#
+- name: check for grub serial setup
+ command: cat /etc/grub2.cfg
+ register: serial
+ check_mode: no
+ changed_when: '1 != 1'
+ tags:
+ - serial-console
+
+- name: set grub to use serial console
+ command: /sbin/grubby --update-kernel=ALL --args="console=tty0
console=ttyS0,115200"
+ when: serial is defined and serial.stdout.find("console=tty0
console=ttyS0,115200") == -1
+ tags:
+ - serial-console
+
+- name: setup systemd links for getty (S0)
+ copy: src=serial-getty@.service dest=/etc/systemd/system/serial-getty(a)ttyS0.service
+ tags:
+ - serial-console
+
+- name: link template in
+ file: dest=/etc/systemd/system/getty.target.wants/serial-getty@ttyS0
src=/etc/systemd/system/serial-getty(a)ttyS0.service state=link
+ tags:
+ - serial-console
+
+- name: start and enable
+ service: name=serial-getty@ttyS0 enabled=yes state=started
+ tags:
+ - serial-console
Show replies by date