For reference, the initial kernel that works is:
Code: Select all
[root@localhost tmp]# uname -a
Linux localhost.localdomain 3.10.0-693.5.2.el7.x86_64 #1 SMP Fri Oct 20 20:32:50 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Code: Select all
[root@localhost tmp]# yum update kernel
Loaded plugins: fastestmirror, langpacks
base | 3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/2): extras/7/x86_64/primary_db | 145 kB 00:00:00
(2/2): updates/7/x86_64/primary_db | 5.3 MB 00:00:02
Determining fastest mirrors
* base: mirror.scalabledns.com
* extras: mirrors.umflint.edu
* updates: centos.mirrors.tds.net
Resolving Dependencies
--> Running transaction check
---> Package kernel.x86_64 0:3.10.0-693.11.6.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=========================================================================================================================================================================================================
Package Arch Version Repository Size
=========================================================================================================================================================================================================
Installing:
kernel x86_64 3.10.0-693.11.6.el7 updates 43 M
Transaction Summary
=========================================================================================================================================================================================================
Install 1 Package
Total download size: 43 M
Installed size: 59 M
Is this ok [y/d/N]: y
Downloading packages:
updates/7/x86_64/prestodelta | 680 kB 00:00:03
kernel-3.10.0-693.11.6.el7.x86_64.rpm | 43 MB 00:01:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : kernel-3.10.0-693.11.6.el7.x86_64 1/1
dracut module 'vfat' cannot be found or installed.
mkinitrd failed
warning: %posttrans(kernel-3.10.0-693.11.6.el7.x86_64) scriptlet failed, exit status 1
Non-fatal POSTTRANS scriptlet failure in rpm package kernel-3.10.0-693.11.6.el7.x86_64
Verifying : kernel-3.10.0-693.11.6.el7.x86_64 1/1
Installed:
kernel.x86_64 0:3.10.0-693.11.6.el7
Complete!
Code: Select all
[root@localhost tmp]# modinfo vfat
filename: /lib/modules/3.10.0-693.5.2.el7.x86_64/kernel/fs/fat/vfat.ko.xz
author: Gordon Chaffee
description: VFAT filesystem support
license: GPL
alias: fs-vfat
rhelversion: 7.4
srcversion: A3254796A3CD9815ABDDC94
depends: fat
intree: Y
vermagic: 3.10.0-693.5.2.el7.x86_64 SMP mod_unload modversions
signer: CentOS Linux kernel signing key
sig_key: C7:57:A9:FB:BD:0D:82:C9:E5:40:52:02:9A:09:08:D1:7C:F1:AD:C7
sig_hashalgo: sha256
[root@localhost tmp]# modinfo fat
filename: /lib/modules/3.10.0-693.5.2.el7.x86_64/kernel/fs/fat/fat.ko.xz
license: GPL
rhelversion: 7.4
srcversion: 48C5E88500B6EBB832D91D7
depends:
intree: Y
vermagic: 3.10.0-693.5.2.el7.x86_64 SMP mod_unload modversions
signer: CentOS Linux kernel signing key
sig_key: C7:57:A9:FB:BD:0D:82:C9:E5:40:52:02:9A:09:08:D1:7C:F1:AD:C7
sig_hashalgo: sha256
Code: Select all
[root@localhost tmp]# ll /lib/modules/3.10.0-693.11.6.el7.x86_64/kernel/fs/fat/
total 48
-rw-r--r--. 1 root root 30576 Jan 3 20:58 fat.ko.xz
-rw-r--r--. 1 root root 5828 Jan 3 20:58 msdos.ko.xz
-rw-r--r--. 1 root root 7892 Jan 3 20:58 vfat.ko.xz
For reference, the current working kernel modules:
Code: Select all
[root@localhost tmp]# ll /lib/modules/3.10.0-693.5.2.el7.x86_64/kernel/fs/fat/
total 48
-rw-r--r--. 1 root root 30588 Oct 20 17:45 fat.ko.xz
-rw-r--r--. 1 root root 5824 Oct 20 17:45 msdos.ko.xz
-rw-r--r--. 1 root root 7896 Oct 20 17:45 vfat.ko.xz
Code: Select all
# dracut modules to add to the default
add_dracutmodules+="vfat"
Code: Select all
/dev/sda2 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
/dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-ro)
**************************************************************************************
In the course of writing this post, I discovered the solution (why I couldn't figure this out yesterday...). The dracut error is technically right, but leads you down a rabbit hole. The vfat module is needed, but it gets loaded as part of the "uefi-lib" module. The fix is to edit /etc/dracut.conf:
Code: Select all
# dracut modules to add to the default
add_dracutmodules+="uefi-lib"