rearrange systemd stuff to only run subiquity on tty1

for https://bugs.launchpad.net/ubuntu/+source/subiquity/+bug/1654085
This commit is contained in:
Michael Hudson-Doyle 2017-01-19 15:50:01 +13:00
parent 58af7dbb3b
commit 60982157b0
8 changed files with 51 additions and 7 deletions

8
bin/subiquity-debug Executable file
View File

@ -0,0 +1,8 @@
#!/bin/sh
set -e
stty -echo
echo "Please press Enter to activate this console."
read REPLY
stty echo
exec bash

9
debian/rules vendored
View File

@ -25,14 +25,17 @@ override_dh_python3:
override_dh_installinit: override_dh_installinit:
dh_installinit --no-start --name=console-conf@ dh_installinit --no-start --name=console-conf@
dh_installinit --no-start --name=subiquity@
dh_installinit --no-start --name=serial-console-conf@ dh_installinit --no-start --name=serial-console-conf@
mkdir $(CURDIR)/debian/console-conf/lib/systemd/system/getty@.service.d/ mkdir $(CURDIR)/debian/console-conf/lib/systemd/system/getty@.service.d/
install -m 0644 $(CURDIR)/debian/console-conf.conf $(CURDIR)/debian/console-conf/lib/systemd/system/getty@.service.d/ install -m 0644 $(CURDIR)/debian/console-conf.conf $(CURDIR)/debian/console-conf/lib/systemd/system/getty@.service.d/
mkdir $(CURDIR)/debian/subiquity/lib/systemd/system/getty@.service.d/
install -m 0644 $(CURDIR)/debian/subiquity.conf $(CURDIR)/debian/subiquity/lib/systemd/system/getty@.service.d/
mkdir $(CURDIR)/debian/console-conf/lib/systemd/system/serial-getty@.service.d/ mkdir $(CURDIR)/debian/console-conf/lib/systemd/system/serial-getty@.service.d/
install -m 0644 $(CURDIR)/debian/console-conf-serial.conf $(CURDIR)/debian/console-conf/lib/systemd/system/serial-getty@.service.d/ install -m 0644 $(CURDIR)/debian/console-conf-serial.conf $(CURDIR)/debian/console-conf/lib/systemd/system/serial-getty@.service.d/
dh_installinit --no-start --name=subiquity
dh_installinit --no-start --name=subiquity-debug@
mkdir $(CURDIR)/debian/subiquity/lib/systemd/system/getty@tty1.service.d/
install -m 0644 $(CURDIR)/debian/subiquity-tty1.conf $(CURDIR)/debian/subiquity/lib/systemd/system/getty@tty1.service.d/
mkdir $(CURDIR)/debian/subiquity/lib/systemd/system/getty@.service.d/
install -m 0644 $(CURDIR)/debian/subiquity-ttyN.conf $(CURDIR)/debian/subiquity/lib/systemd/system/getty@.service.d/
override_dh_auto_test: override_dh_auto_test:
@echo "No tests." @echo "No tests."

2
debian/subiquity-tty1.conf vendored Normal file
View File

@ -0,0 +1,2 @@
[Service]
ExecStartPre=/bin/systemctl start subiquity.service

2
debian/subiquity-ttyN.conf vendored Normal file
View File

@ -0,0 +1,2 @@
[Service]
ExecStartPre=/bin/systemctl start subiquity-debug@%i.service

View File

@ -1,2 +0,0 @@
[Service]
ExecStartPre=/bin/systemctl start subiquity@%i.service

View File

@ -1,2 +1,3 @@
bin/subiquity-tui usr/share/subiquity bin/subiquity-tui usr/share/subiquity
bin/subiquity-debug usr/share/subiquity
usr/share/subiquity/subiquity usr/share/subiquity/subiquity

View File

@ -1,5 +1,5 @@
[Unit] [Unit]
Description=Ubuntu Core Firstboot Configuration %I Description=Subiquity debug shell %I
After=systemd-user-sessions.service plymouth-quit-wait.service After=systemd-user-sessions.service plymouth-quit-wait.service
After=rc-local.service After=rc-local.service
IgnoreOnIsolate=yes IgnoreOnIsolate=yes
@ -9,7 +9,7 @@ ConditionPathExists=!/run/subiquity/complete
[Service] [Service]
Environment=PYTHONPATH=/usr/share/subiquity Environment=PYTHONPATH=/usr/share/subiquity
ExecStartPre=/bin/systemctl stop getty@%I ExecStartPre=/bin/systemctl stop getty@%I
ExecStart=/sbin/agetty -n --noclear -l /usr/share/subiquity/subiquity-tui %I $TERM ExecStart=/sbin/agetty -n --noclear -l /usr/share/subiquity/subiquity-debug %I $TERM
ExecStopPost=/bin/systemctl start getty@%I ExecStopPost=/bin/systemctl start getty@%I
Type=idle Type=idle
Restart=always Restart=always

30
debian/subiquity.subiquity.service vendored Normal file
View File

@ -0,0 +1,30 @@
[Unit]
Description=Subiquity, the installer for Ubuntu Server
After=systemd-user-sessions.service plymouth-quit-wait.service
After=rc-local.service
IgnoreOnIsolate=yes
ConditionPathExists=/dev/tty0
ConditionPathExists=!/run/subiquity/complete
[Service]
Environment=PYTHONPATH=/usr/share/subiquity
ExecStartPre=/bin/systemctl stop getty@tty1
ExecStart=/sbin/agetty -n --noclear -l /usr/share/subiquity/subiquity-tui tty1 $TERM
ExecStopPost=/bin/systemctl start getty@tty1
Type=idle
Restart=always
RestartSec=0
UtmpIdentifier=tty1
TTYPath=/dev/tty1
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes
KillMode=process
IgnoreSIGPIPE=no
SendSIGHUP=yes
#KillMode=process
#Restart=always
#StandardInput=tty-force
#StandardOutput=tty
#StandardError=tty