dracut -fは「モジュールが見つかりません」とnvmeのエラーメッセージを表示します。

dracut -fは「モジュールが見つかりません」とnvmeのエラーメッセージを表示します。

dracut -f <pathToInitRamFs> <kernelVersion>initramfsにいくつかのカスタムドライバを追加するために実行すると、nvmeコマンドにエラーメッセージが表示されます。

また、これらのカスタムドライバをinitramfsにコピーできずに表示されます。

dracut-install: Failed to find module 'DtPcie' /lib/modules/4.18.0-147.el8.x86_64//kernel/drivers/misc/DtPcie.ko

ファイルがルートファイルシステムツリーに存在していても:

# ls -l /lib/modules/4.18.0-147.el8.x86_64//kernel/drivers/misc/Dta.ko
-rw-r--r-- 1 root root 56015744 Jul  6 13:03 /lib/modules/4.18.0-147.el8.x86_64//kernel/drivers/misc/Dta.ko

そして、lsinitrdinitramfsにDta.koドライバが含まれていないことを確認してください(実際には完全なdrivers/miscサブツリーではありません:

# lsinitrd /boot/initramfs-4.18.0-147.el8.x86_64.img | grep Dta
# (nothing)
# lsinitrd /boot/initramfs-4.18.0-147.el8.x86_64.img | grep misc
# (nothing)

元のエラーメッセージ

dracut -f /boot/initramfs-4.18.0-147.el8.x86_64.img 4.18.0-147.el8.x86_64
nvme-1.9.dirty
usage: nvme <command> [<device>] [<args>]

The '<device>' may be either an NVMe character device (ex: /dev/nvme0) or an
nvme block device (ex: /dev/nvme0n1).

The following are all implemented sub-commands:
  list                  List all NVMe devices and namespaces on machine
  list-subsys           List nvme subsystems
  id-ctrl               Send NVMe Identify Controller
  etc etc etc

See 'nvme <plugin> help' for more information on a plugin

dracut-install: Failed to find module 'DtPcie' /lib/modules/4.18.0-147.el8.x86_64//kernel/drivers/misc/DtPcie.ko
dracut-install: Failed to find module 'Dta' /lib/modules/4.18.0-147.el8.x86_64//kernel/drivers/misc/Dta.ko
dracut-install: Failed to find module 'Dtu' /lib/modules/4.18.0-147.el8.x86_64//kernel/drivers/misc/Dtu.ko
dracut-install: Failed to find module 'LXV4L2D_PL330B' /lib/modules/4.18.0-147.el8.x86_64//kernel/drivers/misc/LXV4L2D_PL330B.ko

nvmeこれは、必須パラメーターを使用して直接入力したのと同じ出力です。

上記のコマンドを使用してinitramfsを再構築した以外は何も間違っていませんでしたが、dracutこのエラーメッセージが表示されました。

initramfsにはこれらのモジュールが必要ですが、以前はこのdracutエラーを見たことがありません。この問題をどのように解決できますか?

システム情報:セントース8.1

# uname -a
Linux 4.18.0-147.el8.x86_64 #1 SMP Wed Dec 4 21:51:45 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

# yum list installed | grep dracut
dracut.x86_64                        049-27.git20190906.el8                 @anaconda
dracut-config-rescue.x86_64          049-27.git20190906.el8                 @anaconda
dracut-network.x86_64                049-27.git20190906.el8                 @anaconda
dracut-squash.x86_64                 049-27.git20190906.el8                 @anaconda

答え1

欠落しているモジュールは、dracut設定ファイルに手動で指定して含めることができます。/etc/dracut.conf.d/myModules.conf

add_drivers+="Dta Dtu DtPcie"

(+= 周囲にスペースを追加しないでください)

depmod -aまた、initramfsを再構築する前にdracutを実行する必要があります。

nvmeこれにより、コマンドのエラーは修正されません。

関連情報