diff options
Diffstat (limited to 'modules.d/slx-splash/module-setup.sh')
-rwxr-xr-x | modules.d/slx-splash/module-setup.sh | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/modules.d/slx-splash/module-setup.sh b/modules.d/slx-splash/module-setup.sh index 58fd9561..00b51f5a 100755 --- a/modules.d/slx-splash/module-setup.sh +++ b/modules.d/slx-splash/module-setup.sh @@ -7,19 +7,35 @@ check() { depends() { echo slx-drm busybox } +slx_execpost() { + local _conf="/tmp/dracut-execpost-$RANDOM" + local _script="/usr/local/slx-scripts/${1##*/}" + inst_simple "${moddir}/scripts/${1}" "${_script}" || exit 10 + cat > "$_conf" <<-EXECPOST +[Service] +ExecStartPost=-${_script} + EXECPOST + inst_simple "$_conf" "/etc/systemd/system/${2}.d/${1##*/}.conf" || exit 10 + unlink "$_conf" +} install() { mkdir -p "${initdir}/opt/openslx" - cp -r "${moddir}/data/icons" "${initdir}/opt/openslx" - cp "${moddir}/data/splash.ppm" "${initdir}/etc/splash.ppm" - cp "${moddir}/scripts/splashtool" "${initdir}/usr/local/bin/splashtool" + cp -r "${moddir}/data/icons" "${initdir}/opt/openslx" || exit 1 + cp "${moddir}/data/splash.ppm" "${initdir}/etc/splash.ppm" || exit 1 + cp "${moddir}/scripts/splashtool" "${initdir}/usr/local/bin/splashtool" || exit 1 + + slx_service "s3-splash-init" "Initialize bootsplash" \ + --wafter "dracut-pre-trigger.service" - inst_hook pre-trigger 10 "${moddir}/scripts/slx-splash-init.sh" + # Change boot splash depending on boot mode = exam inst_hook pre-pivot 00 "${moddir}/scripts/slx-splash-exam.sh" - inst_hook pre-pivot 20 "${moddir}/scripts/restore-cursor.sh" + # Copy splashtool and icons to stage4, add service drop-in to reset console + inst_hook pre-pivot 20 "${moddir}/scripts/slx-splash-stage4.sh" - inst_hook pre-mount 00 "${moddir}/scripts/slx-splash-icon-hdd.sh" - inst_hook pre-mount 99 "${moddir}/scripts/slx-splash-icon-config.sh" - inst_hook pre-pivot 00 "${moddir}/scripts/slx-splash-icon-rootfs.sh" - inst_hook pre-pivot 99 "${moddir}/scripts/slx-splash-icon-puzzle.sh" + # Done in stage 4 by setup-partitions + #inst_hook pre-mount 00 "${moddir}/scripts/slx-splash-icon-hdd.sh" + slx_execpost "slx-splash-icon-config.sh" "s3-fetch-config.service" + slx_execpost "slx-splash-icon-rootfs.sh" "s3-mount-root.service" + slx_execpost "slx-splash-icon-puzzle.sh" "s3-setup-addons.service" # NOTE: network related stuff is in integrated in slx-network } |