RHEL 8 CentOS 8, Alma Linux 8, Rocky Linux 8 System Not Booting with RAID or on other servers/computers Solution for dracut and initramfs missing kernel modules

This seems to have changed for RHEL 8 where a normal dracut to update your initramfs creates a system that only boots for the running kernel.  For example if you have Kernel 5 and then chroot into a RHEL 8 variant which uses kernel 4.18, and run dracut, it seems that by default the system will be unbootable.

It is also the case that if you move your RAID array or drives to another server that it will be unbootable, because dracut seems to only include modules needed for the current running kernel or system.

Take an example screen below, you'll see the dracut without -N which means --no-hostonly, is small and unbootable at 27M, at least in the circumstances that I describe (this issue does not seem to impact new Debian based installs).

If you find that your system is unbootable after a migration or chroot install and have a small initramfs, it's worth a shot to rebuild it with -N.  Also consider that you should check and update the grub.cfg and /etc/fstab to make sure the correct UUIDs are used and present.

You'll see the second example with -N produces an 89M initramfs which is essentially a rescue image that contains all possible kernel modules, which means it supports all possible devices, which is what we want.  I don't see why it's important to save 62M of space at the expense of the OS being unbootable.

 


Tags:

rhel, centos, alma, linux, rocky, booting, raid, servers, dracut, initramfs, kernel, modulesthis, update, creates, chroot, variant, default, unbootable, array, server, modules, ll, hostonly, debian, installs, migration, install, rebuild, grub, cfg, etc, fstab, uuids, produces, essentially, contains, supports, devices, expense, os,

Latest Articles

  • FreePBX 17 How To Add a Trunk
  • Docker Container Onboot Policy - How to make sure a container is always running
  • FreePBX 17 How To Add Phones / Extensions and Register
  • Warning: The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes. solution
  • Cisco How To Use a Third Party SIP Phone (eg. Avaya, 3CX)
  • Cisco Unified Communication Manager (CUCM) - How To Add Phones
  • pptp / pptpd not working in DD-WRT iptables / router
  • systemd-journald high memory usage solution
  • How to Install FreePBX 17 in Linux Debian Ubuntu Mint Guide
  • How To Install Cisco's CUCM (Cisco Unified Communication Manager) 12 Guide
  • Linux Ubuntu Redhat How To Extract Images from PDF
  • Linux and Windows Dual Boot Issue NIC Won't work After Booting Windows
  • Cisco CME How To Enable ACD hunt groups
  • How to install gns3 on Linux Ubuntu Mint
  • How to convert audio for Asterisk .wav format
  • Using Cisco CME Router with Asterisk as a dial-peer
  • Cisco CME How To Configure SIP Trunk VOIP
  • Virtualbox host Only Network Error Failed to save host network interface parameter - Cannot change gateway IP of host only network
  • Cisco CME and C7200 Router Testing and Learning Environment on Ubuntu 20+ Setup Tutorial Guide
  • Abusive IP ranges blacklist