diff --git a/catalyst/targets/livecd_stage2.py b/catalyst/targets/livecd_stage2.py index 6f1eb5bc..4ee22f94 100644 --- a/catalyst/targets/livecd_stage2.py +++ b/catalyst/targets/livecd_stage2.py @@ -35,6 +35,7 @@ class livecd_stage2(StageBase): "livecd/readme", "livecd/rm", "livecd/root_overlay", + "livecd/systemd", "livecd/type", "livecd/unmerge", "livecd/users", diff --git a/targets/livecd-stage2/controller.sh b/targets/livecd-stage2/controller.sh index 2b27a92c..9b4b385e 100755 --- a/targets/livecd-stage2/controller.sh +++ b/targets/livecd-stage2/controller.sh @@ -61,9 +61,14 @@ case $1 in ;; rc-update) - exec_in_chroot ${clst_shdir}/support/rc-update.sh - ;; - + # Check for systemd enabled livecd + if [[ ${clst_livecd_systemd} == "yes" ]]; then + exec_in_chroot ${clst_shdir}/support/systemctl.sh + else + # Run as OpenRC + exec_in_chroot ${clst_shdir}/support/rc-update.sh + fi + ;; fsscript) exec_in_chroot ${clst_fsscript} ;; diff --git a/targets/support/systemctl.sh b/targets/support/systemctl.sh new file mode 100755 index 00000000..3d5f716a --- /dev/null +++ b/targets/support/systemctl.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# This script only runs when livecd/systemd: yes is set in the spec + +# Configure autologin on tty1 for systemd live media +mkdir -p /etc/systemd/system/getty@tty1.service.d +cat > /etc/systemd/system/getty@tty1.service.d/autologin.conf <