From: Harald Hoyer Date: Tue, 9 Apr 2013 08:48:26 +0000 (+0200) Subject: crypt/module-setup.sh: filter /etc/crypttab in host-only mode X-Git-Tag: 028~86 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=96efbc51acd7f65f0f254b17d87da7d0465032c1;p=platform%2Fupstream%2Fdracut.git crypt/module-setup.sh: filter /etc/crypttab in host-only mode only take those /etc/crypttab entries, which we need to boot the system --- diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh index b76f6ae..3c9a1f1 100755 --- a/modules.d/90crypt/module-setup.sh +++ b/modules.d/90crypt/module-setup.sh @@ -56,7 +56,22 @@ install() { if ! dracut_module_included "systemd"; then inst_hook cleanup 30 "$moddir/crypt-cleanup.sh" fi - [[ $hostonly ]] && inst_simple /etc/crypttab + + if [[ $hostonly ]]; then + # filter /etc/crypttab for the devices we need + while read _mapper _dev _rest; do + [[ $_mapper = \#* ]] && continue + [[ $_dev ]] || continue + for _hdev in "${!host_fs_types[@]}"; do + [[ ${host_fs_types[$_hdev]} == "crypto_LUKS" ]] || continue + if [[ $_hdev -ef $_dev ]] || [[ /dev/block/$_hdev -ef $_dev ]]; then + echo "$_mapper $_dev $_rest" + break + fi + done + done < /etc/crypttab > $initdir/etc/crypttab + fi + inst_simple "$moddir/crypt-lib.sh" "/lib/dracut-crypt-lib.sh" dracut_install -o \