HEX
Server: Apache/2.4.41 (Amazon) OpenSSL/1.0.2k-fips PHP/5.6.40
System: Linux ip-172-31-40-18 4.14.146-93.123.amzn1.x86_64 #1 SMP Tue Sep 24 00:45:23 UTC 2019 x86_64
User: apache (48)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: //usr/share/dracut/modules.d/90crypt/check
#!/bin/bash

# if cryptsetup is not installed, then we cannot support encrypted devices.
which cryptsetup >/dev/null 2>&1 || exit 1

# hostonly checking should only return true if root is on a LUKS device
# in some way, but I am too lazy to figure out how to do that.
# Instead, fail if we do not have a LUKS device in use somewhere.

. $dracutfunctions

is_crypt() { [[ $(get_fs_type /dev/block/$1) = crypto_LUKS ]]; }

[[ $1 = '-h' ]] && {
    rootdev=$(find_root_block_device)
    if [[ $rootdev ]]; then
	# root lives on a block device, so we can be more precise about 
	# hostonly checking
	check_block_and_slaves is_crypt "$rootdev" || exit 1
    else
	# root is not on a block device, use the shotgun approach
	blkid | grep -q crypto\?_LUKS || exit 1
    fi
}

exit 0