United States (change)
Shortcuts: Downloads Fedora Red Hat Network
[英文原文]How do I rebuild the initial ramdisk image?
当系统添加新的scsi,sata以及光纤通道控制卡HBA后,一般需要重新build系统的initrd.img,使得initrd.img包含对新的硬件驱动模块的支持,修改/etc/modules.conf(RHEL2.1和RHEL3)和mod probe.conf(RHEL4)以后,执行下面命令来重建initrd.img:
# cp /boot/initrd-(kernel-version).img /boot/initrd-(kernel-version).img.bak
# mkinitrd -f initrd-$(uname -r).img $(uname -r)
例如
# cp /boot/initrd-2.4.21-27.0.2.ELsmp.img /boot/initrd-2.4.21-27.0.2.ELsmp.img.bak
# mkinitrd -v -f /boot/initrd-2.4.21-27.0.2.ELsmp.img 2.4.21-27.0.2.ELsmp
这个例子对一个运行2.4.21-27.0.2smp内核的系统重建了initrd.img,根据自己系统的实际运行版本自行调整mkinitrd的参数(可以使用uname -r得到本机运行的内核版本号)。
* mkinitrd的-v参数可以显示initrd.img中包括的所有模块。
* mkinitrd的-f参数可以强制覆盖initrd.img中已有的同名模块。
备注:此方法不适用于ICH7 SATA 芯片,建议核实支持Linux的驱动而不是重建initrd镜像。
如果不确信其稳定性或执行mkinitrd命令前针对新模块的配置,建议备份/boot下现有内核的.img文件。
# cp /boot/initrd-(kernel-version).img /boot/initrd-(kernel-version).img.bak
可选项:可在/boot/grub/grub.conf文件中对启动ramdisk镜像生成单独一项,以便在启动时方便的选择老版本而不需要恢复为备份文件。下面实例允许从grug菜单来选择新或旧的启动ramdisk镜像:
title Red Hat Enterprise Linux AS (2.4.21-27.0.2.ELsmp)
root (hd0,0)
kernel /vmlinuz-2.4.21-27.0.2.EL ro root=LABEL=/
initrd /initrd-2.4.21-27.0.2.EL.img
title Backup initrd (2.4.21-27.0.2.ELsmp)
root (hd0,0)
kernel /vmlinuz-2.4.21-27.0.2.EL ro root=LABEL=/
initrd /initrd-2.4.21-27.0.2.EL.img.bak