root@livecd /usr/src/initramfs/bin # lddtree cryptsetup cryptsetup => ./cryptsetup (interpreter => none) root@livecd /usr/src/initramfs/bin # strace ./cryptsetup luksOpen /dev/sda foo execve("./cryptsetup", ["./cryptsetup", "luksOpen", "/dev/sda", "foo"], 0x7ffd429bc918 /* 31 vars */) = 0 brk(NULL) = 0x26fb000 brk(0x26fbe00) = 0x26fbe00 arch_prctl(ARCH_SET_FS, 0x26fb480) = 0 set_tid_address(0x26fb750) = 10815 set_robust_list(0x26fb760, 24) = 0 rseq(0x26fbda0, 0x20, 0, 0x53053053) = 0 prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=9788*1024, rlim_max=RLIM64_INFINITY}) = 0 readlinkat(AT_FDCWD, "/proc/self/exe", "/usr/src/initramfs/bin/cryptsetu"..., 4096) = 33 getrandom("\xd9\xea\x5f\xdc\x9a\xce\x2a\xb0", 8, GRND_NONBLOCK) = 8 brk(NULL) = 0x26fbe00 brk(0x271ce00) = 0x271ce00 brk(0x271d000) = 0x271d000 mprotect(0x8a3000, 385024, PROT_READ) = 0 rt_sigaction(SIGINT, {sa_handler=0x405fe0, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x6c8c10}, NULL, 8) = 0 rt_sigaction(SIGTERM, {sa_handler=0x405fe0, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x6c8c10}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [INT TERM], NULL, 8) = 0 openat(AT_FDCWD, "/dev/sda", O_RDONLY|O_DIRECT) = 3 newfstatat(3, "", {st_mode=S_IFBLK|0660, st_rdev=makedev(0x8, 0), ...}, AT_EMPTY_PATH) = 0 ioctl(3, BLKSSZGET, [512]) = 0 fstatfs(3, {f_type=TMPFS_MAGIC, f_bsize=4096, f_blocks=2560, f_bfree=2560, f_bavail=2560, f_files=4061245, f_ffree=4060759, f_fsid={val=[0x771800f3, 0xd4041554]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_NOSUID|ST_NOEXEC|ST_RELATIME}) = 0 read(3, "LUKS\272\276\0\1aes\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512 newfstatat(3, "", {st_mode=S_IFBLK|0660, st_rdev=makedev(0x8, 0), ...}, AT_EMPTY_PATH) = 0 fstatfs(3, {f_type=TMPFS_MAGIC, f_bsize=4096, f_blocks=2560, f_bfree=2560, f_bavail=2560, f_files=4061245, f_ffree=4060759, f_fsid={val=[0x771800f3, 0xd4041554]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_NOSUID|ST_NOEXEC|ST_RELATIME}) = 0 newfstatat(3, "", {st_mode=S_IFBLK|0660, st_rdev=makedev(0x8, 0), ...}, AT_EMPTY_PATH) = 0 ioctl(3, BLKSSZGET, [512]) = 0 close(3) = 0 openat(AT_FDCWD, "/dev/urandom", O_RDONLY|O_CLOEXEC) = 3 openat(AT_FDCWD, "/dev/random", O_RDONLY|O_NONBLOCK|O_CLOEXEC) = 4 futex(0x9100e8, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x9105d4, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x911a78, FUTEX_WAKE_PRIVATE, 2147483647) = 0 openat(AT_FDCWD, "/usr/lib64/ossl-modules/legacy.so", O_RDONLY|O_CLOEXEC) = 5 read(5, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=142040, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 144264, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0x7fd7e1f48000 mmap(0x7fd7e1f50000, 65536, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x8000) = 0x7fd7e1f50000 mmap(0x7fd7e1f60000, 24576, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x18000) = 0x7fd7e1f60000 mmap(0x7fd7e1f66000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x1d000) = 0x7fd7e1f66000 close(5) = 0 openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 5 newfstatat(5, "", {st_mode=S_IFREG|0644, st_size=39912, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 39912, PROT_READ, MAP_PRIVATE, 5, 0) = 0x7fd7e1f3e000 close(5) = 0 openat(AT_FDCWD, "/usr/lib64/libcrypto.so.3", O_RDONLY|O_CLOEXEC) = 5 read(5, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=4391168, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 4401616, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0x7fd7e1b0b000 mmap(0x7fd7e1bbb000, 2392064, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0xb0000) = 0x7fd7e1bbb000 mmap(0x7fd7e1e03000, 892928, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x2f8000) = 0x7fd7e1e03000 mmap(0x7fd7e1edd000, 385024, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x3d2000) = 0x7fd7e1edd000 mmap(0x7fd7e1f3b000, 10704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fd7e1f3b000 close(5) = 0 openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 5 read(5, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P>\2\0\0\0\0\0"..., 832) = 832 pread64(5, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=1892440, ...}, AT_EMPTY_PATH) = 0 pread64(5, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 mmap(NULL, 1923952, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0x7fd7e1935000 mmap(0x7fd7e1957000, 1384448, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x22000) = 0x7fd7e1957000 mmap(0x7fd7e1aa9000, 344064, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x174000) = 0x7fd7e1aa9000 mmap(0x7fd7e1afd000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x1c7000) = 0x7fd7e1afd000 mmap(0x7fd7e1b03000, 31600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fd7e1b03000 close(5) = 0 openat(AT_FDCWD, "/lib64/ld-linux-x86-64.so.2", O_RDONLY|O_CLOEXEC) = 5 read(5, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\247\1\0\0\0\0\0"..., 832) = 832 newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=235296, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 209592, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0x7fd7e1901000 mmap(0x7fd7e1902000, 151552, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x1000) = 0x7fd7e1902000 mmap(0x7fd7e1927000, 40960, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x26000) = 0x7fd7e1927000 mmap(0x7fd7e1931000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x30000) = 0x7fd7e1931000 close(5) = 0 mprotect(0x7fd7e1931000, 8192, PROT_READ) = 0 mprotect(0x7fd7e1afd000, 16384, PROT_READ) = 0 mprotect(0x7fd7e1edd000, 372736, PROT_READ) = 0 mprotect(0x7fd7e1f66000, 20480, PROT_READ) = 0 prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=9788*1024, rlim_max=RLIM64_INFINITY}) = 0 munmap(0x7fd7e1f3e000, 39912) = 0 getrandom("\x9c\xe5\x5b\x18\xc6\xfa\x58\xea", 8, GRND_NONBLOCK) = 8 mmap(NULL, 1048576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd7e1801000 futex(0x7fd7e1f3b1f4, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x7fd7e1f3ac38, FUTEX_WAKE_PRIVATE, 2147483647) = 0 uname({sysname="Linux", nodename="livecd", ...}) = 0 openat(AT_FDCWD, "/dev/sda", O_RDONLY|O_DIRECT) = 5 lseek(5, 0, SEEK_SET) = 0 read(5, "", 0) = 0 read(5, "LUKS\272\276\0\1aes\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512 close(5) = 0 futex(0x9105c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x9105c0, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x910698, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x9105b0, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x9105a8, FUTEX_WAKE_PRIVATE, 2147483647) = 0 openat(AT_FDCWD, "/dev/sda", O_RDONLY|O_DIRECT) = 5 lseek(5, 0, SEEK_SET) = 0 read(5, "LUKS\272\276\0\1aes\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024 openat(AT_FDCWD, "/dev/sda", O_RDONLY) = 6 newfstatat(6, "", {st_mode=S_IFBLK|0660, st_rdev=makedev(0x8, 0), ...}, AT_EMPTY_PATH) = 0 ioctl(6, BLKGETSIZE64, [2000398934016]) = 0 close(6) = 0 newfstatat(AT_FDCWD, "/dev/sda", {st_mode=S_IFBLK|0660, st_rdev=makedev(0x8, 0), ...}, 0) = 0 ioctl(0, TCGETS, {c_iflag=ICRNL|IXON, c_oflag=NL0|CR0|TAB0|BS0|VT0|FF0|OPOST, c_cflag=B38400|CS8|CREAD, c_lflag=ISIG|ICANON|ECHOE|ECHOK|IEXTEN|ECHOCTL|ECHOKE, ...}) = 0 ioctl(0, TCGETS, {c_iflag=ICRNL|IXON, c_oflag=NL0|CR0|TAB0|BS0|VT0|FF0|OPOST, c_cflag=B38400|CS8|CREAD, c_lflag=ISIG|ICANON|ECHOE|ECHOK|IEXTEN|ECHOCTL|ECHOKE, ...}) = 0 newfstatat(AT_FDCWD, "/dev/sda", {st_mode=S_IFBLK|0660, st_rdev=makedev(0x8, 0), ...}, 0) = 0 mlock(0x2715410, 529) = 0 openat(AT_FDCWD, "/dev/tty", O_RDWR) = 6 ioctl(6, TCGETS, {c_iflag=ICRNL|IXON, c_oflag=NL0|CR0|TAB0|BS0|VT0|FF0|OPOST, c_cflag=B38400|CS8|CREAD, c_lflag=ISIG|ICANON|ECHOE|ECHOK|IEXTEN|ECHOCTL|ECHOKE, ...}) = 0 write(6, "Enter passphrase for /dev/sda: ", 31Enter passphrase for /dev/sda: ) = 31 ioctl(6, TCSETSF, {c_iflag=ICRNL|IXON, c_oflag=NL0|CR0|TAB0|BS0|VT0|FF0|OPOST, c_cflag=B38400|CS8|CREAD, c_lflag=ISIG|ICANON|ECHOE|ECHOK|IEXTEN|ECHOCTL|ECHOKE, ...}) = 0 read(6,