Public bug reported:

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@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@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)

** Affects: dracut (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug cloud-image oracular

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2081172

Title:
  dracut generated initramfs doesn't contain necessary files for iscsi
  boot

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dracut/+bug/2081172/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to