When using an iSCSI root filesystem, the /usr/share/finalrd/open-iscsi.finalrd script runs an instance of iscsid, waits for iscsid to find the existing logged-in sessions, and then logs out from the iSCSI target.
This currently fails because iscsid happens to call getpwuid() on UID 0. Within the finalrd there are no libnss_*.so libraries and no /etc/passwd file, so the getpwuid() call returns NULL. This causes iscsid to report an error "peeruser_unix: unknown local user with uid 0", and prevents iscsid from recovering the existent session. The end result is that the open-iscsi.finalrd script waits for its maximum 30 seconds and then fails to log out from the iSCSI target.
The error message is most easily observed by modifying /usr/share/finalrd/open-iscsi.finalrd to run iscsid as "iscsid -f -d 8".
When using an iSCSI root filesystem, the /usr/share/ finalrd/ open-iscsi. finalrd script runs an instance of iscsid, waits for iscsid to find the existing logged-in sessions, and then logs out from the iSCSI target.
This currently fails because iscsid happens to call getpwuid() on UID 0. Within the finalrd there are no libnss_*.so libraries and no /etc/passwd file, so the getpwuid() call returns NULL. This causes iscsid to report an error "peeruser_unix: unknown local user with uid 0", and prevents iscsid from recovering the existent session. The end result is that the open-iscsi.finalrd script waits for its maximum 30 seconds and then fails to log out from the iSCSI target.
The error message is most easily observed by modifying /usr/share/ finalrd/ open-iscsi. finalrd to run iscsid as "iscsid -f -d 8".
An example of a minimal workaround may be seen at https:/ /github. com/ipxe/ sanbootable/ commit/ 30bc58ce013a4db 6b6d3480e42d4dc 42d927fc5f
(Ubuntu 20.04)