Chinaunix首页 | 论坛 | 博客
  • 博客访问: 131340
  • 博文数量: 19
  • 博客积分: 56
  • 博客等级: 民兵
  • 技术积分: 166
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-28 16:31
个人简介

不知道干嘛。不知道说啥。什么都没有!

文章分类

全部博文(19)

文章存档

2015年(1)

2014年(6)

2013年(12)

我的朋友

分类: LINUX

2013-05-23 23:44:45

最近安装一台服务器,找不到RIAD卡驱动,用DELL安装光盘引导,该死的DELL不对CENTOS系统支持,
想到从DELL光盘中提取驱动然后增加到系统光盘中,通过pxe方式安装,有了如下增加驱动的日志。
该死的6.2系统光盘中的initrd.img文件不在是5.2格式了,为什么都是该死,因为让楼主忙了半天的家伙都该死。哈哈
initrd.img使用lzma高压缩比的工具压缩了!言归正转,开始

#yum 安装lzma软件,也可以在安装盘中找相关的4个包,devel包是不需要的,二种方法任选其一。
yum install  xz-lzma-compat

xz-4.999.9-0.3.beta.20091007git.el6.i686.rpm
xz-devel-4.999.9-0.3.beta.20091007git.el6.i686.rpm
xz-lzma-compat-4.999.9-0.3.beta.20091007git.el6.i686.rpm
xz-libs-4.999.9-0.3.beta.20091007git.el6.i686.rpm

#修改文件名,不修改它还不认。郁闷
mv initrd.img initrd.lzma
#解压,解压出来是一个initrd文件
lzma -d initrd.lzma 
#cpio解压得到所有的文件
cpio -ivmd < initrd 

下面是模拟修改驱动,当然我不是修改CDROM驱动哈
cd ./modules/2.6.32-220.el6.i686/kernel/drivers/cdrom
#增加模块
gunzip  cdrom.ko.gz

gzip  cdrom.ko cdrom.ko.gz

显示模块CDROM的信息
modinfo cdrom.ko 

#修改相应的CDROM模块相关文件(根据自己的需要增加相应文件的信息)
cd /root/wj/modules/2.6.32-220.el6.i686 
ll  modules.*
-rw-r--r-- 1 root root 221143 Dec 13  2011 modules.alias
-rw-r--r-- 1 root root 207574 Dec 13  2011 modules.alias.bin
-rw-r--r-- 1 root root   1376 Dec  7  2011 modules.block
-rw-r--r-- 1 root root  39594 Dec 13  2011 modules.dep
-rw-r--r-- 1 root root  61932 Dec 13  2011 modules.dep.bin
-rw-r--r-- 1 root root     68 Dec  7  2011 modules.drm
-rw-r--r-- 1 root root     29 Dec  7  2011 modules.modesetting
-rw-r--r-- 1 root root   1887 Dec  7  2011 modules.networking
-rw-r--r-- 1 root root  74502 Dec  7  2011 modules.order
-rw-r--r-- 1 root root 131724 Dec 13  2011 modules.symbols
-rw-r--r-- 1 root root 164303 Dec 13  2011 modules.symbols.bin


#打包
find . |cpio -o   -H newc >initrd
lzma initrd  initrd.lzma
mv initrd.lzma initrd.img

希望光盘上安装就把文件复制到ISO中重新刻录,
也可以选用PXE,直接覆盖安装就可以了!

剩下的就是测试了!

第一次写微博,楼主小时没上“好”学,错字难免哈!他娘的楼主打了这么多字,结果提交叫我改头像,结果浏览器直接退出。吓死了。还好找到了。死的心都有了!

2013年7月24日修改
增加驱动的和修改模块文件的方法!(内核版本不同,你的路径和我的不一样)

/lib/modules/2.6.18-92.el5/modules.pcimap
/lib/modules/2.6.18-92.el5/modules.dep
/lib/modules/2.6.18-92.el5/modules.alias
基本上是修改这三个文件,其实很简单,
1,找一台服务器系统相同的服务器,安装系统,备份上面三个文件,最好把modules开头的文件全备份,
2.编译你要的驱动,然后安装,确实驱动安装好了,可以正常工作,(其实我以前都在虚拟机中安装驱动,虚拟机驱动少,这几个文件基本很少内容,比较增加内容非常方便
3.把上面备份的文件与你当前的几个文件较较,复制出来安装驱动增加的部份到你要修改的initrd目录中。
4./lib/modules/2.6.18-92.el5/modules.dep 文件中有写你驱动存放的位置,你需要把这个驱动文件复制到相同位置上去(有时需要重建目录最好一样)。
4.打包测试基本就成功了

其实你也可以编译驱动安装成功后,用下面的方法可以复制出来,但要注意回车和空格这些字符可以和文件中的不一样,grep带你驱动的名字。我这是sk98lin网卡的。
more  /lib/modules/2.6.18-92.el5/modules.pcimap  |grep sk98
more  /lib/modules/2.6.18-92.el5/modules.dep  |grep sk98
more  /lib/modules/2.6.18-92.el5/modules.alias  |grep sk98

非常重要一点希望你要注意,就是内存问题,因为你系统可能超过3.2G内存。linux就会使用PAE的内核安装系统(当然更不能在64位上编译,那是肯定不能驱动的,如果你不知道内核和你系
统是不是一样的,你可以拆开initrd文件,看版本),安装向导过程中使用的不带PAE的内核(当时我在测试的5.2的系统),当年我在这个上折腾了几天!









阅读(6364) | 评论(9) | 转发(2) |
1

上一篇:没有了

下一篇:mysql 提示 Writing to net

给主人留下些什么吧!~~

hzj198404142013-09-10 23:32:12

楼主你好,有注意到,
你写的:增加驱动的和修改模块文件的方法!(内核版本不同,你的路径和我的不一样)

/lib/modules/2.6.18-92.el5/modules.pcimap
 /lib/modules/2.6.18-92.el5/modules.dep
 /lib/modules/2.6.18-92.el5/modules.alias

其中,/lib/modules/2.6.18-92.el5/modules.pcimap 在你 ll  modules.*   的结果中是没有的,是否需要手动添加这个文件

alingmeng2013-07-23 18:35:31

alingmeng:我还尝试了一个方法,就是解压initrd文件后,里面有个init,用来初始化环境的,想在init里边加一句insmod /lib/XX.ko,但是init是个可执行文件,没修改成功方法流产

5系列的都没这问题,6系列的搞了这么多可执行文件,真蛋疼啊

回复 | 举报

alingmeng2013-07-23 18:33:39

我还尝试了一个方法,就是解压initrd文件后,里面有个init,用来初始化环境的,想在init里边加一句insmod /lib/XX.ko,但是init是个可执行文件,没修改成功方法流产

alingmeng2013-07-23 18:28:27

楼主你好,这个问题困扰我好长时间了。。。看你的文档关键的地方也没写啊,哭了,能不能加QQ求教啊~~~292545730跪求,被这个问题快折磨疯了
modules.alias  modules.dep和他们对应的BIN都是咋改的啊???

alingmeng2013-07-23 18:28:05

其安易持:楼主,你这个可轻松了。我这一批DELL的服务器没有centos网卡驱动。为了pxe安装,我把网卡驱动弄到initrd.img费了老大劲儿。先是把模块弄进去打包,老是不行,然后发现还依赖另一个模块,但是这个模块initrd.img里面本身没有!加了两个模块,还要改写alias文件,其他几个文件也要改。弄了好几天才弄成功。

楼主你好,这个问题困扰我好长时间了。。。看你的文档关键的地方也没写啊,哭了,能不能加QQ求教啊~~~292545730跪求,被这个问题快折磨疯了
modules.alias  modules.dep和他们对应的BIN都是咋改的啊???

回复 | 举报