Bug 1443760

Summary: Backport request: dracut-install --kerneldir puts kernel modules in wrong directory
Product: [Fedora] Fedora Reporter: Marek Marczykowski <marmarek>
Component: dracutAssignee: dracut-maint-list
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 25CC: dracut-maint-list, harald, jonathan, zbyszek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-05-18 14:04:10 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Marek Marczykowski 2017-04-19 22:43:57 UTC
This is a mirror issue already fixed upstream:
https://github.com/dracutdevs/dracut/issues/194

Please backport relevant patch or update dracut to 045.

Description of problem:

`--kerneldir` option should only be about where to get kernel modules from, not about where to place them inside initramfs. But the actual result is that modules are copied preserving the full path, effectively making the modules "missing" in the initramfs (because are placed outside of `/lib/modules`).


Version-Release number of selected component (if applicable):
dracut-044-78.fc25.x86_64

How reproducible:

Example test case:
```
$ dracut --nomdadmconf --nolvmconf --kmoddir ~/install-mod/lib/modules/4.4.38-11.pvops.qubes.x86_64 --modules 'kernel-modules qubes-vm-simple' --conf '/dev/null' --confdir '/var/empty' -d 'xenblk xen-blkfront cdrom ext4 jbd2 crc16 dm_snapshot' -f initrd.test 4.4.38-11.pvops.qubes.x86_64
$ lsinitrd initrd.test |grep /lib/modules
Arguments: --nomdadmconf --nolvmconf --kmoddir '/home/user/install-mod/lib/modules/4.4.38-11.pvops.qubes.x86_64' --modules 'kernel-modules qubes-vm-simple' --conf '/dev/null' --confdir '/var/empty' -d 'xenblk xen-blkfront cdrom ext4 jbd2 crc16 dm_snapshot' -f
drwxr-xr-x   3 root     root            0 Nov  7 09:59 home/user/install-mod/lib/modules
drwxr-xr-x   3 root     root            0 Nov  7 09:59 home/user/install-mod/lib/modules/4.4.38-11.pvops.qubes.x86_64
drwxr-xr-x   6 root     root            0 Nov  7 09:59 home/user/install-mod/lib/modules/4.4.38-11.pvops.qubes.x86_64/kernel
drwxr-xr-x   3 root     root            0 Nov  7 09:59 home/user/install-mod/lib/modules/4.4.38-11.pvops.qubes.x86_64/kernel/crypto
drwxr-xr-x   2 root     root            0 Nov  7 09:59 home/user/install-mod/lib/modules/4.4.38-11.pvops.qubes.x86_64/kernel/crypto/async_tx
-rw-r--r--   1 root     root         6904 Nov  7 09:59 home/user/install-mod/lib/modules/4.4.38-11.pvops.qubes.x86_64/kernel/crypto/async_tx/async_memcpy.ko
-rw-r--r--   1 root     root        13288 Nov  7 09:59 home/user/install-mod/lib/modules/4.4.38-11.pvops.qubes.x86_64/kernel/crypto/async_tx/async_pq.ko
-rw-r--r--   1 root     root        13144 Nov  7 09:59 home/user/install-mod/lib/modules/4.4.38-11.pvops.qubes.x86_64/kernel/crypto/async_tx/async_raid6_recov.ko
-rw-r--r--   1 root     root         8120 Nov  7 09:59 home/user/install-mod/lib/modules/4.4.38-11.pvops.qubes.x86_64/kernel/crypto/async_tx/async_tx.ko
(...)
drwxr-xr-x   3 root     root            0 Nov  7 09:59 usr/lib/modules
drwxr-xr-x   2 root     root            0 Nov  7 09:59 usr/lib/modules/4.4.38-11.pvops.qubes.x86_64
-rw-r--r--   1 root     root           45 Nov  7 09:59 usr/lib/modules/4.4.38-11.pvops.qubes.x86_64/modules.alias
-rw-r--r--   3 root     root            0 Nov  7 09:59 usr/lib/modules/4.4.38-11.pvops.qubes.x86_64/modules.alias.bin
-rw-r--r--   1 root     root         6933 Nov  7 09:59 usr/lib/modules/4.4.38-11.pvops.qubes.x86_64/modules.builtin
-rw-r--r--   1 root     root         9440 Nov  7 09:59 usr/lib/modules/4.4.38-11.pvops.qubes.x86_64/modules.builtin.bin
-rw-r--r--   1 root     root            0 Nov  7 09:59 usr/lib/modules/4.4.38-11.pvops.qubes.x86_64/modules.dep
-rw-r--r--   3 root     root            0 Nov  7 09:59 usr/lib/modules/4.4.38-11.pvops.qubes.x86_64/modules.dep.bin
-rw-r--r--   1 root     root            0 Nov  7 09:59 usr/lib/modules/4.4.38-11.pvops.qubes.x86_64/modules.devname
-rw-r--r--   1 root     root       122893 Nov  7 09:59 usr/lib/modules/4.4.38-11.pvops.qubes.x86_64/modules.order
-rw-r--r--   1 root     root           55 Nov  7 09:59 usr/lib/modules/4.4.38-11.pvops.qubes.x86_64/modules.softdep
-rw-r--r--   1 root     root           49 Nov  7 09:59 usr/lib/modules/4.4.38-11.pvops.qubes.x86_64/modules.symbols
-rw-r--r--   3 root     root           12 Nov  7 09:59 usr/lib/modules/4.4.38-11.pvops.qubes.x86_64/modules.symbols.bin
```

Full debug output: https://gist.github.com/marmarek/2efecb1e4f74ce3a42bcc3e7c7aa64af


Actual results:

Broken initramfs image - modules placed in wrong directory.

Expected results:

Working initramfs image with modules usr/lib/modules

Additional info:

Comment 1 Harald Hoyer 2017-05-18 14:04:10 UTC

*** This bug has been marked as a duplicate of bug 1431317 ***