歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 定制安裝光盤在RAID卡上安裝Linux

定制安裝光盤在RAID卡上安裝Linux

日期:2017/2/28 15:58:04   编辑: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.18-238.12.1.el5.centos.plus.src.rpm

2、下載,並解壓驅動源碼

注意由於源碼是.src.rpm文件,所以步驟如下:
#rpm -ivh kernel-2.6.18-238.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<tab> "解壓驅動源碼包,注意是名為rr…….src.……這樣的驅動包。
# cd rr272x-linux-src-v1.1<tab>/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 "安裝新內核到系統中(本案例中,此步無意義)

Copyright © Linux教程網 All Rights Reserved