Author: Patrick Volkerding,volkerdi@slackware.com
Date: Wed Jun 27 15:58:08 CDT 2007
翻译:Scongwei Linn,scongwei_linn@yahoo.com.cn
日期:2007年 11月 22日 星期四 10:20:58 CST
本文档描述怎样创建和安装initrd(可能需要2.6内核)。可参考"man mkinitrd"。
1. initrd是什么?
2. 为什么要使用initrd?
3. 怎样创建initrd?
4. 怎样使用initrd?
1. initrd是什么?
Initrd是"initial ramdisk"(初始随机存储器)的简称。initrd ramdisk是一个非常小的Linux文件系统,在根文件系统挂载之前被加载进内存,并挂载为内核启动(模块)。
2. 为什么要使用initrd?
在挂载根文件系统之前,我们需要加载各个内核模块,这就是我们需要 initrd的原因。通常根分区(ext3,reiserfs,xfs)或与磁盘驱动器相关联的控制器(SCSI,RAID等)需要这些模块的支持。基本上,在现在的Linux内核中有许多可用选项,所以想要发送许多不同内核来满足每一个用户的需求是不切实际的。发布一个通用内核和一些相关的内核模块更具有可定制性。
3.怎样创建initrd?
最简单的方法就是使用包含在mkinitrd包里的mkinitrd脚本。我可以使用slackware/a/目录下的包来升级至通用的2.6.21.5-smp内核。
首先,确定已经安装了内核,内核模块和mkinitrd包(当前版本数字可能不一致,以下例子仅供参考)。
installpkg kernel-generic-2.6.21.5_smp-i486-1.tgz
installpkg kernel-modules-2.6.21.5_smp-i486-1.tgz
installpkg mkinitrd-1.1.2-i486-3.tgz
