[Bug 2081172] Re: dracut generated initramfs doesn't contain necessary files for iscsi boot
Benjamin Drung
2081172 at bugs.launchpad.net
Thu Nov 21 11:50:58 UTC 2024
** Changed in: dracut (Ubuntu)
Importance: Undecided => High
** Changed in: dracut (Ubuntu)
Status: New => In Progress
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to dracut in Ubuntu.
Matching subscriptions: dracut
https://bugs.launchpad.net/bugs/2081172
Title:
dracut generated initramfs doesn't contain necessary files for iscsi
boot
Status in dracut package in Ubuntu:
In Progress
Bug description:
When running Ubuntu 24.10 (Oracular Oriole) and switching from
initramfs to dracut (by installing dracut packages and following
instructions in /usr/share/doc/dracut-core/README.Debian), the
initramfs generated by dracut won't include the necessary files to
allow an instance to boot from iscsi. The following packages were
installed:
ii dracut 103-1ubuntu2 all Initramfs generator using udev
ii dracut-core 103-1ubuntu2 amd64 dracut is an event driven initramfs infrastructure (core tools)
ii dracut-install 103-1ubuntu2 amd64 dracut is an event driven initramfs infrastructure (dracut-install)
ii dracut-network 103-1ubuntu2 all dracut is an event driven initramfs infrastructure (network modules)
When trying to boot from iscsi by adding the following cmdline to grub (booting from ISCSI in an Oracle Cloud instance):
BOOT_IMAGE=/vmlinuz-6.8.0-1005-oracle
root=UUID=f692dbf6-c1a4-4a31-8585-2571fbbd2f7e ro console=tty1
console=ttyS0 nvme.shutdown_timeout=10 libiscsi.debug_libiscsi_eh=1
crash_kexec_post_notifiers rd.luks=0 rd.md=0 rd.dm=0
rd.net.timeout.carrier=5
rd.iscsi.param=node.session.timeo.replacement_timeout=6000
net.ifnames=1 ipmi_si.tryacpi=0 ipmi_si.trydmi=0
libiscsi.debug_libiscsi_eh=1 loglevel=4 rd.net.timeout.dhcp=10 ip=dhcp
netroot=iscsi:169.254.0.2:::1:iqn.2015-02.oracle.boot:uefi
The boot fails with:
[ OK ] Reached target network-online.target - Network is Online.
Starting iscsid.service - iSCSI initiator daemon (iscsid)...
[FAILED] Failed to start iscsid.service - iSCSI initiator daemon (iscsid).
See 'systemctl status iscsid.service' for details.
Starting iscsid.service - iSCSI initiator daemon (iscsid)...
[FAILED] Failed to start iscsid.service - iSCSI initiator daemon (iscsid).
See 'systemctl status iscsid.service' for details.
Starting iscsid.service - iSCSI initiator daemon (iscsid)...
[FAILED] Failed to start iscsid.service - iSCSI initiator daemon (iscsid).
See 'systemctl status iscsid.service' for details.
Starting iscsid.service - iSCSI initiator daemon (iscsid)...
[FAILED] Failed to start iscsid.service - iSCSI initiator daemon (iscsid).
See 'systemctl status iscsid.service' for details.
Starting iscsid.service - iSCSI initiator daemon (iscsid)...
[FAILED] Failed to start iscsid.service - iSCSI initiator daemon (iscsid).
See 'systemctl status iscsid.service' for details.
[FAILED] Failed to start iscsid.service - iSCSI initiator daemon (iscsid).
See 'systemctl status iscsid.service' for details.
[ 6.891677] dracut-initqueue[582]: iscsiadm: read error (-1/104), daemon died?
[ OK ] Listening on iscsid.socket - Open-iSCSI iscsid Socket.
[FAILED] Failed to start iscsid.service - iSCSI initiator daemon (iscsid).
See 'systemctl status iscsid.service' for details.
[ 7.909211] dracut-initqueue[582]: iscsiadm: read error (-1/104), daemon died?
[ 7.910096] dracut-initqueue[582]: iscsiadm: Cannot perform discovery. Initiatorname required.
[ 7.911164] dracut-initqueue[582]: iscsiadm: Could not perform SendTargets discovery: could not communicate to iscsid
[ 7.913629] dracut-initqueue[521]: Warning: Target discovery to 169.254.0.2:3260 failed
Eventually the instance will drop to an emergency shell and we can
check the error in details:
# journalctl -u iscsid --no-pager
Sep 18 19:58:40 localhost systemd[1]: Starting iscsid.service - iSCSI initiator daemon (iscsid)...
Sep 18 19:58:40 localhost (hecks.sh)[584]: iscsid.service: Unable to locate executable '/usr/lib/open-iscsi/startup-checks.sh': No such file or directory
Sep 18 19:58:40 localhost (hecks.sh)[584]: iscsid.service: Failed at step EXEC spawning /usr/lib/open-iscsi/startup-checks.sh: No such file or directory
Sep 18 19:58:40 localhost systemd[1]: iscsid.service: Control process exited, code=exited, status=203/EXEC
Sep 18 19:58:40 localhost systemd[1]: iscsid.service: Failed with result 'exit-code'.
Sep 18 19:58:40 localhost systemd[1]: Failed to start iscsid.service - iSCSI initiator daemon (iscsid).
Extracting the initramfs generated by dracut, we can see that
/usr/lib/open-iscsi/startup-checks.sh is not included:
ubuntu at oracular-dracut:~/initrd$ ls -l usr/lib/
total 636
drwxr-xr-x 2 ubuntu ubuntu 4096 Sep 18 22:13 dracut
-rwxr-xr-x 1 ubuntu ubuntu 8177 Jul 25 03:45 dracut-crypt-lib.sh
-rwxr-xr-x 1 ubuntu ubuntu 4078 Jul 25 03:45 dracut-dev-lib.sh
-rwxr-xr-x 1 ubuntu ubuntu 29345 Jul 25 03:45 dracut-lib.sh
drwxr-xr-x 2 ubuntu ubuntu 4096 Sep 18 22:13 firmware
-rwxr-xr-x 1 ubuntu ubuntu 6552 Dec 6 2023 fs-lib.sh
-rw-r--r-- 1 ubuntu ubuntu 510 Sep 6 14:20 initrd-release
-rw-r--r-- 1 ubuntu ubuntu 14648 Jul 23 13:41 libmpathcmd.so.0
-rw-r--r-- 1 ubuntu ubuntu 39224 Jul 23 13:41 libmpathpersist.so.0
-rw-r--r-- 1 ubuntu ubuntu 47424 Jul 23 13:41 libmpathutil.so.0
-rw-r--r-- 1 ubuntu ubuntu 404112 Jul 23 13:41 libmultipath.so.0
drwxr-xr-x 2 ubuntu ubuntu 4096 Sep 18 22:13 modprobe.d
drwxr-xr-x 4 ubuntu ubuntu 4096 Sep 18 22:13 modules
drwxr-xr-x 2 ubuntu ubuntu 4096 Sep 18 22:13 modules-load.d
-rwxr-xr-x 1 ubuntu ubuntu 26819 Jul 25 03:45 net-lib.sh
-rwxr-xr-x 1 ubuntu ubuntu 5004 Jul 25 03:45 nfs-lib.sh
lrwxrwxrwx 1 ubuntu ubuntu 14 Sep 6 14:20 os-release -> initrd-release
drwxr-xr-x 2 ubuntu ubuntu 4096 Sep 18 22:13 sysctl.d
drwxr-xr-x 6 ubuntu ubuntu 4096 Sep 18 22:13 systemd
drwxr-xr-x 2 ubuntu ubuntu 4096 Sep 18 22:13 sysusers.d
drwxr-xr-x 2 ubuntu ubuntu 4096 Sep 18 22:13 tmpfiles.d
drwxr-xr-x 3 ubuntu ubuntu 4096 Sep 18 22:13 udev
drwxr-xr-x 6 ubuntu ubuntu 4096 Sep 18 22:13 x86_64-linux-gnu
ubuntu at oracular-dracut:~/initrd$ ls -l usr/lib/open*
ls: cannot access 'usr/lib/open*': No such file or directory
ProblemType: Bug
DistroRelease: Ubuntu 24.10
Package: dracut 103-1ubuntu2
ProcVersionSignature: User Name 6.8.0-1005.5-oracle 6.8.1
Uname: Linux 6.8.0-1005-oracle x86_64
ApportVersion: 2.30.0-0ubuntu2
Architecture: amd64
CasperMD5CheckResult: unknown
CloudArchitecture: x86_64
CloudBuildName: server
CloudID: oracle
CloudName: oracle
CloudPlatform: oracle
CloudSerial: 20240831
CloudSubPlatform: metadata (http://169.254.169.254/opc/v2/)
Date: Thu Sep 19 11:27:44 2024
PackageArchitecture: all
ProcEnviron:
LANG=C.UTF-8
PATH=(custom, no user)
SHELL=/bin/bash
TERM=xterm-256color
XDG_RUNTIME_DIR=<set>
RebootRequiredPkgs: Error: path contained symlinks.
SourcePackage: dracut
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dracut/+bug/2081172/+subscriptions
More information about the foundations-bugs
mailing list