Edit file File name : open-iscsi.finalrd Content :#!/bin/sh # SPDX-License-Identifier: GPL-3.0-only set -e if [ "$1" = "setup" ] then . /usr/share/initramfs-tools/hook-functions copy_exec /bin/grep copy_exec /bin/sleep copy_exec /sbin/iscsiadm copy_exec /sbin/iscsid # hm, not sure why expr is copied copy_exec /usr/bin/expr copy_file config /etc/iscsi/iscsid.conf copy_file config /etc/iscsi/initiatorname.iscsi # needed to resolve UIDs (LP: #1922976) copy_exec /usr/lib/*/libnss_files.so.* exit 0 fi # if not present in the environment, then fake a trivial passwd file (LP: #1922976) if [ ! -e /etc/passwd ] ; then echo "root:x:0:0:root:/:/bin/sh" > /etc/passwd fi # re-establish connection and logout during shutdown # if initramfs did bring up open-iscsi on boot [ -f /open-iscsi.interface ] || exit 0 iscsid # After restarting iscsid, wait for an active connection. # Limit the wait time in case of unexpected failure of iscsid. MAX_RETRIES=30 RETRY=0 while ! iscsiadm -m session -P 1 | grep -q "iSCSI Connection State: LOGGED IN"; do RETRY=$(($RETRY + 1)) if [ $RETRY -gt $MAX_RETRIES ]; then echo "Unexpected iSCSI Connection State, forcing iSCSI logout." break fi sleep 1 done # Issue an iSCSI logout. iscsiadm -m node -u Save