Chinaunix首页 | 论坛 | 博客
  • 博客访问: 330565
  • 博文数量: 53
  • 博客积分: 1132
  • 博客等级: 少尉
  • 技术积分: 451
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-18 14:22
文章分类

全部博文(53)

文章存档

2014年(1)

2013年(11)

2012年(17)

2011年(16)

2010年(8)

分类: LINUX

2011-04-21 15:21:47

公司有几台连接存储前端的服务器使用的是Intel 5000vsa/sas 主板,2块300G的sas硬盘。新项目人员想要使用ext4文件系统,OK,升级内核版本为 2.6.32.27,更改grub,重启后却不料不能启动系统,报不认RAID了,查了半天的资料,最后直接使用新内核编译出来的库文件在重新编译RAID驱动,然后在initrd-.img文件里面载入新驱动才搞定。
具体步骤如下:
  1. #tar zxvf linux-2.6.32.27.tar.gz
  2. #cd /root/linux-2.6.32.27
  3. #make menuconfig (具体选项就根据自己服务器硬件和需求来选择)
  4. #make all
  5. #make modules_install
  6. #make install
  7. #cp /boot/initrd-2.6.32.27.img /tmp

下面的为重点了:下载 Intel 5000vsa/sas raid驱动,需要 ESRT2_Linux_v.13.21.0614.2010_u1.zip,最新的 v14版本会导致RAID丢失,解压后
  1. #cd ESRT2_Linux-v.13/shim/library/rhel5-64/
  2. #make -C /root/linux-2.6.32.27 SUBDIRS=$PWD
或者
  1. #cd /root/linux-2.6.32.27
  2. #make SUBDIRS=/root/ESRT2_Linux-v.13/shim/library/rhel5-64/
生成megasr.ko 文件备用
  1. #cd /tmp
  2. #mv initrd-2.6.32.27.img initrd-2.6.32.27.img.gz
  3. #gunzip initrd-2.6.32.27.img.gz
  4. #mkdir kernel;cd kernel
  5. #cpio -id < ../initrd-2.6.32.27.img
  6. #cp /root/ESRT2_Linux-v.13/shim/library/rhel5-64/megasr.ko lib/
  7. 修改 init 文件,在硬盘模块文件后插入:
  8. echo "Loading megasr.ko module"
  9. insmod /lib/megasr.ko

  10. #find . | cpio -o -H newc | gzip > initrd-2.6.32.27.img
将制作的img 文件cp到 /boot 目录,重新启动系统正常,RAID 驱动正常

其实还有一种更简单的方式
  1. #cd /root/linux-2.6.32.27
  2. #make menuconfig
  3. #make all
  4. #make modules_install

  5. #cd ESRT2_Linux-v.13/shim/library/rhel5-64/
  6. #make -C /root/linux-2.6.32.27 SUBDIRS=$PWD

  7. #mkdir /lib/modules/2.6.32.27/updates
  8. #cp ESRT2_Linux-v.13/shim/library/rhel5-64/megasr.ko /lib/modules/2.6.32.27/updates
  9. #cd /root/linux-2.6.32.27
  10. #make install
这样会自动把 megasr.ko 文件载入到 initrd-.img 文件中
阅读(2442) | 评论(0) | 转发(0) |
0

上一篇:XeServer迁移

下一篇:sort用法总结

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