]> git.ipfire.org Git - thirdparty/dracut.git/blame - 50-dracut.install
50-dracut.install: fixed /proc/cmdline reading
[thirdparty/dracut.git] / 50-dracut.install
CommitLineData
9dd9d81f
HH
1#!/bin/sh
2# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
3# ex: ts=8 sw=4 sts=4 et filetype=sh
4
ccb8ce04
HH
5COMMAND="$1"
6KERNEL_VERSION="$2"
7BOOT_DIR_ABS="$3"
8KERNEL_IMAGE="$4"
83bb0893 9
ccb8ce04
HH
10ret=0
11case "$COMMAND" in
12 add)
13 if [[ -f /etc/kernel/cmdline ]]; then
14 readarray -t BOOT_OPTIONS < /etc/kernel/cmdline
15 fi
83bb0893 16
ccb8ce04
HH
17 if ! [[ "${BOOT_OPTIONS[@]}" ]]; then
18 read -ar BOOT_OPTIONS < /proc/cmdline
19 fi
83bb0893 20
ccb8ce04 21 unset noimageifnotneeded
83bb0893 22
ccb8ce04
HH
23 for ((i=0; i < "${#BOOT_OPTIONS[@]}"; i++)); do
24 if [[ ${BOOT_OPTIONS[$i]} == root\=PARTUUID\=* ]]; then
25 noimageifnotneeded="yes"
26 break
27 fi
28 done
29 dracut ${noimageifnotneeded:+--noimageifnotneeded} "$BOOT_DIR_ABS"/initrd "$KERNEL_VERSION"
9dd9d81f
HH
30 ret=$?
31 ;;
32 remove)
ccb8ce04 33 rm -f -- "$BOOT_DIR_ABS"/initrd
9dd9d81f
HH
34 ret=$?
35 ;;
36esac
37exit $ret