21.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 Fedora 17 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 architectures that use the GRUB 2 boot loader, you can verify that an initramfs
corresponding to your current kernel version exists and is specified correctly in the /boot/grub2/grub.cfg
configuration file by following this procedure:
Procedure 21.1. Verifying the Initial RAM Disk Image
As root
, list the contents in the /boot
directory and find the kernel (vmlinuz-kernel_version
) and initramfs-kernel_version
with the latest (most recent) version number:
~]# ls /boot
config-3.1.0-0.rc6.git0.3.fc16.x86_64
config-3.1.0-0.rc9.git0.0.fc16.x86_64
elf-memtest86+-4.20
grub
grub2
initramfs-3.1.0-0.rc6.git0.3.fc16.x86_64.img
initramfs-3.1.0-0.rc9.git0.0.fc16.x86_64.img
initrd-plymouth.img
memtest86+-4.20
System.map-3.1.0-0.rc6.git0.3.fc16.x86_64
System.map-3.1.0-0.rc9.git0.0.fc16.x86_64
vmlinuz-3.1.0-0.rc6.git0.3.fc16.x86_64
vmlinuz-3.1.0-0.rc9.git0.0.fc16.x86_64
The example above shows that:
we have two kernels installed (or, more correctly, two kernel files are present in the /boot
directory),
the latest kernel is vmlinuz-vmlinuz-3.1.0-0.rc9.git0.0.fc16.x86_64
, and
an initramfs
file matching our kernel version, initramfs-3.1.0-0.rc9.git0.0.fc16.x86_64.img
, also exists.
In the
/boot
directory you may find several
initrd-<kernel_version>
kdump.img
files. 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. For more information on
kdump
, refer to
Chapter 23, The kdump Crash Recovery Service.
(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 initramfs
file with the Dracut utility. Simply invoking dracut
as root
without options causes it to generate an initramfs
file in the /boot
directory for the latest kernel present in that directory:
~]# dracut
You must use the --force
option if you want dracut
to overwrite an existing initramfs
(for example, if your initramfs
has become corrupt). Otherwise dracut
will refuse to overwrite the existing initramfs
file:
~]# dracut
F: Will not override existing initramfs (/boot/initramfs-3.1.0-0.rc9.git0.0.fc16.x86_64.img) without --force
You can create an initramfs in the current directory by calling dracut initramfs_name
kernel_version
, for example:
~]# 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.conf
configuration file. You can list the file contents of an initramfs
image file created by dracut by using the lsinitrd initramfs_file
command:
~]# lsinitrd /boot/initramfs-3.1.0-0.rc9.git0.0.fc16.x86_64.img
/boot/initramfs-3.1.0-0.rc9.git0.0.fc16.x86_64.img: 16M
========================================================================
dracut-013-15.fc16
========================================================================
drwxr-xr-x 8 root root 0 Oct 11 20:36 .
lrwxrwxrwx 1 root root 17 Oct 11 20:36 lib -> run/initramfs/lib
drwxr-xr-x 2 root root 0 Oct 11 20:36 sys
drwxr-xr-x 2 root root 0 Oct 11 20:36 proc
lrwxrwxrwx 1 root root 17 Oct 11 20:36 etc -> run/initramfs/etc
[output truncated]
Refer to man dracut
and man dracut.conf
for more information on options and usage.
Examine the /boot/grub2/grub.cfg
configuration file to ensure that an initrd /path
/initramfs-kernel_version
.img
exists for the kernel version you are booting. For example:
~]# grep initrd /boot/grub2/grub.cfg
initrd /initramfs-3.1.0-0.rc6.git0.3.fc16.x86_64.img
initrd /initramfs-3.1.0-0.rc9.git0.0.fc16.x86_64.img
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 addRamDisk
command. This step is performed automatically if the kernel and its associated packages are installed or upgraded from the RPM packages distributed by The Fedora Project; thus, it does not need to be executed manually. To verify that it was created, run the following command as root
to make sure the /boot/vmlinitrd-kernel_version
file already exists:
ls -l /boot
The kernel_version
should match the version of the kernel just installed.