summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2025-03-31 12:06:33 +0200
committerSimon Rettberg2025-03-31 12:06:33 +0200
commit41916c7f5bdc1560335332f459e377333501427a (patch)
tree2a5721f9dc9d4c83198050609a34caa605cc26e8
parent[slx-dmsetup] More robust error handling, more logging (diff)
downloadsystemd-init-41916c7f5bdc1560335332f459e377333501427a.tar.gz
systemd-init-41916c7f5bdc1560335332f459e377333501427a.tar.xz
systemd-init-41916c7f5bdc1560335332f459e377333501427a.zip
[dracut] Allow specifying service type for slx service generator
-rwxr-xr-xbuild-initramfs.sh8
1 files changed, 6 insertions, 2 deletions
diff --git a/build-initramfs.sh b/build-initramfs.sh
index e937e4e9..fed70cc5 100755
--- a/build-initramfs.sh
+++ b/build-initramfs.sh
@@ -410,10 +410,11 @@ initialize_dracut() {
cat >> dracut-init.sh <<-"EOF"
slx_service() {
- local _name _desc _tmpfile
+ local _name _desc _tmpfile _type
declare -a _before=() _after=() _requires=() _wants=()
_name="$1"
_desc="$2"
+ _type="oneshot"
shift 2
while (( $# > 0 )); do
case "$1" in
@@ -435,6 +436,9 @@ initialize_dracut() {
--requires)
_requires+=("$2")
;;
+ --type)
+ _type="$2"
+ ;;
*)
dfatal "Invalid option: '$1'"
exit 10
@@ -460,7 +464,7 @@ initialize_dracut() {
[ -n "${_after}" ] && echo "After=${_after[*]}"
echo ""
echo "[Service]"
- echo "Type=oneshot"
+ echo "Type=${_type}"
echo "RemainAfterExit=yes"
echo "ExecStart=/usr/local/slx-services/${_name}.sh"
echo "KillMode=process"