申请 linux 光盘,定制安装光盘在RAID卡上安装LInux

目前方案:

方案一:直接在启动安装程序时加载官方提 供驱动,已失败。

linux dd,指定驱动的位置和名称失败;指 定驱动盘失败。

linux text,切换到2号控制台,挂载U盘, 复制驱动目录到/tmp/hptdd下,执行step1, 失败。

结论:官方驱动程序不适应相应的内核版本。最不解的是5U5版本的驱动居然在CENT5.5的系统中都不能支持,就别说Elastix了。

===================================== ========================

方案二:编译内核并替换掉原有光盘中的内核文件。然后生成新的initrd.img文件。

1、内核源码的选择问题

标准版本的内核源码编译后用在光盘安装应 该是没问题。但是为了能使用这份源码编译 生成rr272x_1x.ko文件,我还是选择了使用与光盘中内核版本相同的源码,下载地址如下:

http://vault.centos.org/5.6/centosplus/SRPMS/kernel-2.6.2021年05月13日8.12.1.el5.centos.plus.src.rpm

2、下载,并解压驱动源码

注意由于源码是.src.rpm文件,所以步骤如下:

#rpm -ivh kernel-2.6.2021年05月13日8.12.1.el5.centos.plus.src.rpm "安装源码RPM

#rpmbuild -bp /usr/src/redhat/SPECS/kernel-2.6.spec"生成源码文件

3、先编译出.ko(驱动模块文件)备用

在以下位置下载相应驱动源文件http://www.highpoint-tech.cn/China_new/product_support_sas6c.htm

# yum install ncurses-devel"(此步要求您的Linux工作站目前已联网)准备编译环境,如果没有gcc、ncurse类推处理。

# tar xzvf rr272"解压驱动源码包,注意是名为rr…….src.……这样的驱动包。

# cd rr272x-linux-src-v1.1/product/rr272x/linux/"进入驱动安装目录

# make patchkernel KERNELDIR= KERNEL_VER=2.6 "把驱动补丁嵌入内核,本例源文件目录为/usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.x86_64

#cd 内核源码路径

#make SUBDIRS=驱动源码目录"编译出驱动模块文件rr272x_1x.ko,此文件非常重要。

4、编译内核,把rr272x_1x的驱动直接写入内核文件,而不是以模块方式存在(保险起见)

#cd /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.x86_64 "进入 源码目录

#cp /boot/config* .config"为避免编译失败,复制系统原有的内核配置文件。

#make menuconfig"开始编译

我选择了以下项目:

--kernel hack里所有项目都拿掉不要(重要!)

--device driver下scsi device、scsi disk和low level项目下的"HighPoint RocketRAID 272x support" 全部加载到内核中

--low level下的"bus logic"加载到内核中(只有虚拟机vmware需要此驱动)

--iptables防火墙的一些相关选项,这个必须根据个人经验,与本案例无关

--其它项目如NTFS支持、不完整源码、源码校验等常用项目在本案例中不是很紧要,新手建议尽量少的修改选项。如果需要支持或移除某些功能可以自行实验(需要反复编译验证选项是否正确,有些项目选择会导致编译失败,此乃天命,君勿自扰)

如果编译失败或出现错误,就重新make menuconfig,建议不要按错误提示去修改include文件(会导致编译模块失败)。

#make modules"编译内核所需的模块文件

#make modules_install "把模块放到应该去的地方

#make install"安装新内核到系统中(本案例中,此步无意义)

5、提取安装光盘所需的内核文件,然后生成光盘所需的initrd.img文件。

我们需要的内核文件是/boot/vmlinuz-2.6.18-prep把它提取到某个目录。

下面生成initrd.img文件:

#mkdir /tmp/initrd"创建新镜像文件目录

#mkdir /tmp/initcd"创建光盘中原有镜像文件的解压目录

插入原安装光盘

#mount /dev/cdrom /mnt/cdrom "挂光盘

#cd /tmp/initcd

#gzip -dc /mnt/cdrom/isolinux/initrd.img|cpio -dvi"解压原光盘中的镜像文件

#cd modules"进入模块目录

#gzip -dc modules.cgz|cpio -dvi"解压模块文件

#cd 2.6.18-prep/x86_64"进入模块所在目录

#find .>cp.sh"把安装光盘的initrd.img中所需要的所有模块文件名列出并写入cp.sh这个文件,此步用于准备脚本。

#rm -rf *"删除原有的所有模块文件,方便观察效果

#vim cp.sh"写脚本

利用vim的查找替换功能(如果不会可以复制到windows中用wordpad解决),把所有的行改为以下的样子:

原先的行是./crc16.ko

改为find /lib/modules/2.6.18-prep/ -name "crc16.ko" -exec cp {} . ;

这句的意思是在我们自己编译的模块中找到安装光盘所需要的,然后复制到我现在这里。

#chmod 700 cp.sh"给我们的脚本加执行权限

#./cp.sh"执行我们的脚本,如果顺利的话,应该会把刚才删除的文件都“找回来”,但已经是我们自己编译的模块文件了。

#rm -rf cp.sh"过河拆桥

#cd ../.."回到模块目录

#find 2.6*|cpio -o -H newc|gzip -9>modules.cgz"生成新的modules.cgz文件

#rm -rf 2.6*"过河拆桥

#cd .."回到镜像文件解压的根目录

#find .|cpio -o -H newc|gzip -9>initrd.img"生成新的镜像文件

6、用ultraISO等光盘镜像工具打开原安装光盘

把前步的vmlinuz-2.6.18-prep文件放到光盘isolinux目录下,改名为vmlinuz,替换原文件。

把前步的initrd.img文件放到光盘isolinux目录下,替换原文件。

7、为了让操作系统在将来安装完成后仍然能识别rr272x的驱动,进行光盘的后续工作:

编辑光盘根目录下的ks_default.cfg文件,找到reboot --eject这行,在前面加"#"注释掉。

在光盘中创建AI目录(我的意思是After Install,不是人工智能哦)

#mkdir /tmp/new"随便建个目录

#cp /boot/initrd-2.6.2021年05月13日8.12.1.el5.img . "把现在用的镜像文件复制过来

#gzip -dc initrd-2.6.2021年05月13日8.12.1.el5.img|cpio -ivd"解压

#rm -rf initrd-2.6.2021年05月13日8.12.1.el5.img "过河拆桥

#把前面提取的rr272x_1x.ko文件放到lib目录下

#vim init"编辑初始化文件,加入以下内容

echo "Loading rr272x_1x.ko module"

insmod Loading rr272x_1x.ko module

#find .|cpio -o -H newc|gzip -9>../initrd-2.6.2021年05月13日8.12.1.el5.img"生成新的镜像文件

把刚才生成的initrd-2.6.2021年05月13日8.12.1.el5.img放到光盘的AI目录。

8、刻盘,用此盘安装系统后,千万不要马上重启。alt+f2进入2号控制台。

把我们自己生成的initrd-2.6.2021年05月13日8.12.1.el5.img放到/boot下替换原文件。

至此,方案二完成。

=====================================

方案三:手工编译制作driver disk以适应 内核版本,并回到方案一。

1、生成驱动源码,参见方案二。

2、生成.ko文件

进入内核源码目录

make SUBDIRS=驱动源码目录

在驱动源码目录中找到.ko文件,提取到某个目录比如/tmp/myimg

3、cd /tmp/myimg

--写文件modules.dep,内容为:

rr272x_1x: scsi_mod

--写文件rhdd,内容为:

rr272x_1x-v1 driver disk for Elastix (Generated By bob)

--写文件modinfo,内容为:

Version 0

rr272x_1x

scsi

"RocketRAID 271x/272x SAS Controller"

--写文件pcitable,内容为:

0x1103 0x02720"rr272x_1x" "HighPoint|RocketRAID 272x_1x SAS Controller"

0x1103 0x02721"rr272x_1x" "HighPoint|RocketRAID 272x_1x SAS Controller"

0x1103 0x02722"rr272x_1x" "HighPoint|RocketRAID 272x_1x SAS Controller"

0x1103 0x02710"rr272x_1x" "HighPoint|RocketRAID 272x_1x SAS Controller"

0x1103 0x02711"rr272x_1x" "HighPoint|RocketRAID 272x_1x SAS Controller"

4、生成cgz文件(加上前步所编辑的共五大文件)

#mkdir -r 2.6.2021年05月13日8.12.1.el5/x86_64"创建规定模式的目录名,不然可能找不到

#cp 我们的.ko文件 2.6.2021年05月13日8.12.1.el5/x86_64"把模块文件复制过来

#find 2.6 |cpio -H crc -o|gzip - 9>modules.cgz

#rm -rf 2.6*"过河拆桥

#cd ..

#find .|cpio -H crc -o|gzip - 9>bob.img"生成驱动盘镜像文件

把这个文件放到U盘就行。

5、安装时用标准的安装光盘启动系统,在出现安装方式选择界面前一定要插入U盘。

输入linux dd,选择U盘,找到bob.img即可。

本文转自 霜寒未试 51CTO博客,原文链接:http://blog.51cto.com/51bbs/769243,如需转载请自行联系原作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值