Trigger installer only if interactive installer is not requested (#638)

This commit is contained in:
Itxaka
2024-01-30 15:26:43 +01:00
committed by GitHub
parent c9a0563e25
commit 528682cddf
2 changed files with 12 additions and 26 deletions

View File

@@ -1,4 +1,4 @@
packages: packages:
- name: "kairos-overlay-files" - name: "kairos-overlay-files"
category: "static" category: "static"
version: "1.1.22" version: "1.1.23"

View File

@@ -1,15 +1,10 @@
name: "Start installer on tty1" name: "Start installer on tty1"
stages: stages:
initramfs: initramfs:
- if: grep -q "nodepair.enable" /proc/cmdline && [ "$(kairos-agent state get kairos.init)" == "systemd" ] # Start installer if we get the nodepair.enable cmdline and NOT the interactive-install cmdline as we can have both
commands: # and we dont want to trigger both
- systemctl disable getty@tty1 # Works in livecd or uki install mode
- systemctl stop getty@tty1 - if: grep -q "nodepair.enable" /proc/cmdline && grep -vq "interactive-install" && ([ "$(kairos-agent state get boot)" == "livecd_boot" ] || [ -f /run/cos/uki_install_mode ]) && [ "$(kairos-agent state get kairos.init)" == "systemd" ]
- systemctl mask getty@tty1
- systemctl enable kairos
- systemctl enable kairos-webui
- if: |
grep -q "nodepair.enable" /proc/cmdline && [ -f /run/cos/uki_install_mode ] && [ "$(kairos-agent state get kairos.init)" == "systemd" ]
commands: commands:
- systemctl disable getty@tty1 - systemctl disable getty@tty1
- systemctl stop getty@tty1 - systemctl stop getty@tty1
@@ -17,21 +12,16 @@ stages:
- systemctl enable kairos - systemctl enable kairos
- systemctl enable kairos-webui - systemctl enable kairos-webui
# Starts installer on boot for openRC based systems # Starts installer on boot for openRC based systems
- if: grep -q "nodepair.enable" /proc/cmdline && [ "$(kairos-agent state get kairos.init)" == "openrc" ] - if: grep -q "nodepair.enable" /proc/cmdline && grep -vq "interactive-install" && [ "$(kairos-agent state get kairos.init)" == "openrc" ]
commands: commands:
- sed -i -e 's/tty1.*//g' /etc/inittab - sed -i -e 's/tty1.*//g' /etc/inittab
- echo "tty1::respawn:/usr/bin/kairos-agent install tty1" >> /etc/inittab - echo "tty1::respawn:/usr/bin/kairos-agent install tty1" >> /etc/inittab
# Starts installer on boot for systemd based systems # Starts interactive installer on boot for systemd based systems in livecd or uki install mode
- if: | - if: |
grep -q "interactive-install" /proc/cmdline && [ "$(kairos-agent state get kairos.init)" == "systemd" ] grep -q "interactive-install" /proc/cmdline && ([ "$(kairos-agent state get boot)" == "livecd_boot" ] || [ -f /run/cos/uki_install_mode ]) && [ "$(kairos-agent state get kairos.init)" == "systemd" ]
commands:
- systemctl disable getty@tty1
- systemctl stop getty@tty1
- systemctl mask getty@tty1
- systemctl enable kairos-interactive
- if: |
grep -q "interactive-install" /proc/cmdline && [ -f /run/cos/uki_install_mode ] && [ "$(kairos-agent state get kairos.init)" == "systemd" ]
commands: commands:
- systemctl stop kairos
- systemctl disable kairos
- systemctl disable getty@tty1 - systemctl disable getty@tty1
- systemctl stop getty@tty1 - systemctl stop getty@tty1
- systemctl mask getty@tty1 - systemctl mask getty@tty1
@@ -47,10 +37,6 @@ stages:
commands: commands:
- rc-service kairos-webui start - rc-service kairos-webui start
- if: | - if: |
[ "$(kairos-agent state get boot)" == "livecd_boot" ] && [ "$(kairos-agent state get kairos.init)" == "systemd" ] ([ "$(kairos-agent state get boot)" == "livecd_boot" ] || [ -f /run/cos/uki_install_mode ]) && [ "$(kairos-agent state get kairos.init)" == "systemd" ]
commands: commands:
- systemctl start kairos-webui - systemctl start kairos-webui
- if: |
[ -f /run/cos/uki_install_mode ] && [ "$(kairos-agent state get kairos.init)" == "systemd" ]
commands:
- systemctl start kairos-webui