#!/bin/bash

. /.initrd/initenv
. uevent-sh-functions
. initrd-sh-functions

split() {
	local IFS=:
	set -- $1
	path="$1" keydev="${2-}" luksdev="${3-}"
}

[ -z "${NO_LUKS-}" ] ||
	exit 0

[ -n "$LUKS_KEY" ] && [ "$LUKS_KEY" != 0 ] ||
	exit 0
i=0
while [ "$i" -lt "$LUKS_KEY" ]; do
	path='' keydev='' luksdev=''
	eval "split \"\$LUKS_KEY$i\""
	i=$(( $i + 1 ))
	[ -n "$keydev" ] ||
		continue
	realdev=
	get_dev realdev "$keydev" ||
		continue
	printf '%s\t%s\t%s\n' "$path" "$realdev" "$luksdev"
done >> /etc/luks.keys
