这个是重新封包核心的命令,例如你自己修改了一个设备的驱动,如果这个驱动要加入核心级别的话,就需要对核心进行重新封包,把新加的配置编译到核心内部去!
trd.html' target='_blank'>mkinitrd指令:建立要载入ramdisk的映像文件
语法:mkinitrd[选择性参数][必要参数]
功能说明:根据内核版本和指定参数生成映像文件。
参数说明:
必要参数的具体说明如下:
|
参 数 |
功 能 |
|
<映像文件> |
指定映像文件名称和路径 |
|
<内核版本> |
指定所依据的内核版本 |
选择性参数的具体说明如下:
|
参 数 |
功 能 |
|
--builtin=<模块> |
认为指定模块已经装入内核,忽略错误 |
|
-f |
允许覆盖已存在的映像文件 |
|
--image-version |
内核版本号将附加到建立的映像文件的目录前 |
|
--fstable=<文件系统列表> |
使用列表自动探测根设备所建立的文件系统类型 |
|
--nocompress |
不压缩生成的映像文件 |
|
--nopivot |
不使用pivot_root系统调用作为映像的一部分 |
|
--omit-lvm-modules |
不载入任何lvm模块 |
|
--omit-scsi-modules |
不载入任何scsi模块 |
|
--preload=<模块> |
将指定的模块载入映像中 |
|
-v |
在创建映像过程中打印信息 |
|
-version |
打印程序版本信息 |
执行范例:
范例704 在/boot目录下建立一个映像文件
[root@yingzheng 100dpi]# mkinitrd /boot/initrd-2.2.5-15.img 2.2.5-15 |
相关指令:
在进行内核编译时,需要进行制作initrd.img.在Fedora下面一般是用mkinitrd,而在Ubuntu/Debian下是用mkintramfs.
它们的用法稍微有些不一样,如下所示:
mkinitrd /boot/initrd.img 2.6.26
mkintramfs 2.6.26 -o /boot/initrd.img
其中2.6.26为/lib/modules下的目录名称.
扩展知识--关于升级内核失败的一篇文章
你再進入內核選項內看看你的scsi設備, scsi設備沒有選好.
一、准备工作
首先说明,下面带#号的行都是要输入的命令行,且本文提到的所有命令行都在终端里输入。
启动Linux系统,并用根用户登录,进入终端模式下。
1、查看Linux内核版本# uname -a
如果屏幕显示的是2.6.x,说明你的已经是2.6的内核,也用不着看下文了,该干什么干什么去吧!~~~如果显示的是2.4.x,那恭喜你,闯关通过,赶快进行下一步。
2、下载2.6内核源码
下载地址:http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2
3、下载内核升级工具
(1)下载module-init-tools-3.2.tar.bz2
http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-3.2.tar.bz2
(2)下载mkinitrd-4.1.18-2.i386.rpm
(3)下载lvm2-2.00.25-1.01.i386.rpm
(4)下载device-mapper-1.00.19-2.i386.rpm