On Sat, Aug 6, 2022 at 12:27 PM stan via users
<users@lists.fedoraproject.org> wrote:
>
> dracut is not putting libraries like libmount and libblkid in the
> initramfs on my system for a few weeks now.  Those initramfs' are not
> booting.  Do you know a way to explicitly request that libraries be
> included in the initramfs?  I haven't found a way in my research, and
> in fact that research says that if programs like mount are included in
> the initramfs, then the libraries needed by that executable will also be
> included automatically.  But, it isn't happening.  Which seems strange,
> since:
>
> $ ldd /usr/bin/mount
> /usr/bin/ldd: line 160: /lib/ld-linux.so.2: cannot execute binary file: Exec 
> format error
>         linux-vdso.so.1 => linux-vdso.so.1 (0x00007ffc9935e000)
>         libmount.so.1 => /lib64/libmount.so.1 (0x00007fd3de77a000)
>         libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fd3de74a000)
>         libc.so.6 => /lib64/libc.so.6 (0x00007fd3de572000)
>         libblkid.so.1 => /lib64/libblkid.so.1 (0x00007fd3de532000)
>         libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007fd3de492000)
>         /lib64/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 
> (0x00007fd3de83a000)
>
> mount is included by default in the initramfs, yet,
>
> # lsinitrd 
> /boot/initramfs-5.19.0-0.rc4.20220701gita175eca0f3d7.36.20220727.fc37.x86_64.img
>  | grep mount
> usrmount
> lrwxrwxrwx   1 root     root           17 Jul 20 18:03 etc/mtab -> 
> /proc/self/mounts
> lrwxrwxrwx   1 root     root           44 Jul 20 18:03 
> etc/systemd/system/initrd.target.wants/dracut-mount.service -> 
> /usr/lib/systemd/system/dracut-mount.service
> lrwxrwxrwx   1 root     root           48 Jul 20 18:03 
> etc/systemd/system/initrd.target.wants/dracut-pre-mount.service -> 
> /usr/lib/systemd/system/dracut-pre-mount.service
> -rwxr-xr-x   1 root     root         1095 Jun 19 15:35 usr/bin/dracut-mount
> -rwxr-xr-x   1 root     root          508 Jun 19 15:35 
> usr/bin/dracut-pre-mount
> -rwsr-xr-x   1 root     root        49240 Jul 20 18:03 usr/bin/mount
> -rwsr-xr-x   1 root     root        36888 Jul 20 18:03 usr/bin/umount
> drwxr-xr-x   2 root     root            0 Jul 20 18:03 
> usr/lib/dracut/hooks/mount
> drwxr-xr-x   2 root     root            0 Jul 20 18:03 
> usr/lib/dracut/hooks/pre-mount
> -rw-r--r--   1 root     root          756 Jun 19 15:35 
> usr/lib/systemd/system/dracut-mount.service
> -rw-r--r--   1 root     root          785 Jun 19 15:35 
> usr/lib/systemd/system/dracut-pre-mount.service
> -rw-r--r--   1 root     root         1136 Jul 13 04:12 
> usr/lib/systemd/system/sys-kernel-config.mount
> -rw-r--r--   1 root     root          465 Jul 13 04:12 
> usr/lib/systemd/system/umount.target
>
> This is what an initramfs that boots looks like with respect to mount.
>
> # lsinitrd 
> /boot/initramfs-5.19.0-0.rc4.20220701gita175eca0f3d7.36.20220703.fc37.x86_64.img
>  | grep mount
> usrmount
> lrwxrwxrwx   1 root     root           17 Apr 19 16:17 etc/mtab -> 
> /proc/self/mounts
> lrwxrwxrwx   1 root     root           44 Apr 19 16:17 
> etc/systemd/system/initrd.target.wants/dracut-mount.service -> 
> /usr/lib/systemd/system/dracut-mount.service
> lrwxrwxrwx   1 root     root           48 Apr 19 16:17 
> etc/systemd/system/initrd.target.wants/dracut-pre-mount.service -> 
> /usr/lib/systemd/system/dracut-pre-mount.service
> -rwxr-xr-x   1 root     root         1095 Feb 18 04:32 usr/bin/dracut-mount
> -rwxr-xr-x   1 root     root          508 Feb 18 04:32 
> usr/bin/dracut-pre-mount
> -rwsr-xr-x   1 root     root        49240 Apr 19 16:17 usr/bin/mount
> -rwsr-xr-x   1 root     root        36888 Apr 19 16:17 usr/bin/umount
> -rwxr-xr-x   1 root     root       292512 Apr 19 16:17 
> usr/lib64/libmount.so.1.1.0
> lrwxrwxrwx   1 root     root           29 Apr 19 16:17 
> usr/lib64/libmount.so.1 -> ../../lib64/libmount.so.1.1.0
> lrwxrwxrwx   1 root     root           29 Apr 19 16:17 usr/lib64/libmount.so 
> -> ../../lib64/libmount.so.1.1.0
> drwxr-xr-x   2 root     root            0 Apr 19 16:17 
> usr/lib/dracut/hooks/mount
> drwxr-xr-x   2 root     root            0 Apr 19 16:17 
> usr/lib/dracut/hooks/pre-mount
> -rw-r--r--   1 root     root          772 Feb 18 04:32 
> usr/lib/systemd/system/dracut-mount.service
> -rw-r--r--   1 root     root          801 Feb 18 04:32 
> usr/lib/systemd/system/dracut-pre-mount.service
> -rw-r--r--   1 root     root         1136 Apr 19 16:17 
> usr/lib/systemd/system/sys-kernel-config.mount
> -rw-r--r--   1 root     root          465 Apr 19 16:17 
> usr/lib/systemd/system/umount.target
>
> Or failing that, do you know a way to edit the initramfs after it has
> been created, in order to add such libraries?  In other words, a manual
> workaround.

Add this option on the dracut command line:

 --install-optional <file list>

Or add a file in /etc/dracut.conf.d that contains this:
      install_optional_items+=" <file>[ <file> ...] "
           Specify additional files to include in the initramfs,
separated by spaces, if they exist.

You may need to add quite a list if it is messing up other
libraries/executables.
_______________________________________________
users mailing list -- users@lists.fedoraproject.org
To unsubscribe send an email to users-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to