最近为电视台的dell r720服务器装debian的系统,发现debian系统并没有带对应的raid及网卡驱动,导致网卡及磁盘阵列无法识别,去dell及博通的官网下载相关驱动源码,在同样版本的debian系统(安装在我的虚拟机中)中编译出驱动模块,然后修改debian的系统光盘,将编译好的驱动模块添加进去,重新制作光盘,安装顺利通过。编译驱动没啥大问题,主要是头文件缺失,这个要下载对应版本的内核源码,将头文件拷贝过来即可,再有就是驱动源代码中使用的某些参数或函数在debian的内核中不被支持,这个主要是debian的内核太老的缘故,没有办法,只能根据错误提示,手动修改。
因为是第一次为系统盘添加内容,这里记录一下
1. 先将系统盘解压到目录~/debian_iso_source中,取出里边的initrd.gz,放到另一个目录中
2. 管理员登录终端,解压initrd.gz
#gunzip initrd.gz
3. 创建临时目录,进入临时目录,进一步解压2.中解压出来的initrd文件到临时目录
#mkdir tmp
#cd tmp
#cpio -i -t -F ../initrd > list
4. 添加驱动到3.解压出来的文件夹中
4-1. 添加网卡驱动(tg3.ko)到lib/modules/2.6.32-5-amd64/kernel/drivers/net/目录下,
若无net目录则自己建一个
4-2. 添加raid驱动(megaraid_sas.ko)到lib/modules/2.6.32-5-amd64/kernel/drivers/scsi/目录下
5. 将添加的文件及路径记录到list文件中
6. 使用list文件重新打包回initrd
#cpio -o -H newc -O ../initrd < list
7. 重新打包回initrd.gz
#cd .. && gzip -c initrd > initrd.gz
8. 用新制作的initrd.gz替换debian_iso_source中的原文件
9. 用genisoimage命令将debian_iso_source重新制作成安装光盘
#genisoimage -o /root/debian_6.0.6_amd64_Raid_BCom.iso -r -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ~/debian_iso_source/
这个新生成的debian_6.0.6_amd64_Raid_BCom.iso既是包含网卡,raid卡驱动的系统安装镜像
BTW:附件中包含的分别是我修改好的raid及BroadCom网卡驱动源码
debian最新稳定版 6.0.6基于2.6.32-5内核,所以要基于该源码编译对应版本的驱动,请确保你系统 的内核版本高于2.6.32-5(低于此版本没有测试)
附源码:
阅读(5849) | 评论(2) | 转发(0) |