30.5. Verifying the Initial RAM Disk Image
The job of the initial RAM disk image is to preload the block device modules, such as for IDE, SCSI or RAID, so that the root file system, on which those modules normally reside, can then be accessed and mounted. On Red Hat Enterprise Linux 6 systems, whenever a new kernel is installed using either the Yum, PackageKit, or RPM package manager, the Dracut utility is always called by the installation scripts to create an initramfs (initial RAM disk image).
On all architectures other than IBM eServer System i (see the section called “Verifying the Initial RAM Disk Image and Kernel on IBM eServer System i”), you can create an
initramfsby running the
dracutcommand. However, you usually don't need to create an
initramfsmanually: this step is automatically performed if the kernel and its associated packages are installed or upgraded from RPM packages distributed by Red Hat.
You can verify that an
initramfscorresponding to your current kernel version exists and is specified correctly in the
grub.confconfiguration file by following this procedure:
Procedure 30.1. Verifying the Initial RAM Disk Image
- As root, list the contents in the
/boot/directory and find the kernel (
initramfs-<kernel_version>with the latest (most recent) version number:
Example 30.1. Ensuring that the kernel and initramfs versions match
ls /boot/config-2.6.32-17.el6.x86_64 lost+found config-2.6.32-19.el6.x86_64 symvers-2.6.32-17.el6.x86_64.gz config-2.6.32-22.el6.x86_64 symvers-2.6.32-19.el6.x86_64.gz efi symvers-2.6.32-22.el6.x86_64.gz grub System.map-2.6.32-17.el6.x86_64 initramfs-2.6.32-17.el6.x86_64.img System.map-2.6.32-19.el6.x86_64 initramfs-2.6.32-19.el6.x86_64.img System.map-2.6.32-22.el6.x86_64 initramfs-2.6.32-22.el6.x86_64.img vmlinuz-2.6.32-17.el6.x86_64 initrd-2.6.32-17.el6.x86_64kdump.img vmlinuz-2.6.32-19.el6.x86_64 initrd-2.6.32-19.el6.x86_64kdump.img vmlinuz-2.6.32-22.el6.x86_64 initrd-2.6.32-22.el6.x86_64kdump.img
- we have three kernels installed (or, more correctly, three kernel files are present in
- the latest kernel is
initramfsfile matching our kernel version,
initramfs-2.6.32-22.el6.x86_64.img, also exists.
/boot/directory you may find several
initrd-<version>kdump.imgfiles. These are special files created by the Kdump mechanism for kernel debugging purposes, are not used to boot the system, and can safely be ignored.
- (Optional) If your
initramfs-<kernel_version>file does not match the version of the latest kernel in
/boot/, or, in certain other situations, you may need to generate an
initramfsfile with the Dracut utility. Simply invoking
dracutas root without options causes it to generate an
initramfsfile in the
/boot/directory for the latest kernel present in that directory:
dracutYou must use the
--forceoption if you want
dracutto overwrite an existing
initramfs(for example, if your
initramfshas become corrupt). Otherwise
dracutwill refuse to overwrite the existing
dracutWill not override existing initramfs (/boot/initramfs-2.6.32-22.el6.x86_64.img) without --forceYou can create an initramfs in the current directory by calling
dracut <initramfs_name> <kernel_version>:
dracut "initramfs-$(uname -r).img" $(uname -r)If you need to specify specific kernel modules to be preloaded, add the names of those modules (minus any file name suffixes such as
.ko) inside the parentheses of the
add_dracutmodules="<module> [<more_modules>]"directive of the
/etc/dracut.confconfiguration file. You can list the file contents of an
initramfsimage file created by dracut by using the
lsinitrd initramfs-2.6.32-22.el6.x86_64.imginitramfs-2.6.32-22.el6.x86_64.img: ======================================================================== dracut-004-17.el6 ======================================================================== drwxr-xr-x 23 root root 0 May 3 22:34 . drwxr-xr-x 2 root root 0 May 3 22:33 proc -rwxr-xr-x 1 root root 7575 Mar 25 19:53 init drwxr-xr-x 7 root root 0 May 3 22:34 etc drwxr-xr-x 2 root root 0 May 3 22:34 etc/modprobe.d [output truncated]See
man dracut.conffor more information on options and usage.
- Examine the
grub.confconfiguration file in the
/boot/grub/directory to ensure that an
initrdexists for the kernel version you are booting. See Section 30.6, “Verifying the Boot Loader” for more information.
Verifying the Initial RAM Disk Image and Kernel on IBM eServer System i
On IBM eServer System i machines, the initial RAM disk and kernel files are combined into a single file, which is created with the
addRamDiskcommand. This step is performed automatically if the kernel and its associated packages are installed or upgraded from the RPM packages distributed by Red Hat; thus, it does not need to be executed manually. To verify that it was created, use the command
ls -l /boot/to make sure the
/boot/vmlinitrd-<kernel_version>file already exists (the
<kernel_version>should match the version of the kernel just installed).