#!/usr/bin/env bash check() { # Tell dracut that this module should only be included if it is required # explicitly. return 255 } 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" || 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" # Change boot splash depending on boot mode = exam inst_hook pre-pivot 00 "${moddir}/scripts/slx-splash-exam.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" # 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 }