In the meantime I found a solution on my own. One has to make the process wait for the iSCSI device to appear. By default this makes /etc/rc.local
inappropriate but wait, there's process forking!
This is my complete /etc/rc.local
and it works nice. When the graphical login manager appears it still takes 1-2 seconds for the filesystem to be mounted, so don't type in your password too fast.
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
(
# wait for mount device to appear
until [ -e /dev/mapper/iscsi_crypt ]
do
sleep 1s
done
# try to mount once and exit
mount /home
exit $?
)&
exit 0