歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> Promise FastTrak Raid驅動的解決辦法

Promise FastTrak Raid驅動的解決辦法

日期:2017/2/27 14:20:20   编辑:更多Linux
  原文: http://members.rogers.com/sith.warrior/build.htm 下文為粗略的翻譯. ----------------------------------------*---------------------------------------- 好的. 到這兒. 我們假定你有一些成功編譯內核的經驗 盡管這個教程不是很確切復雜的.(以我的標准).有一些地方. 可以算是點經驗. 我將包括建立驅動磁盤和升級內核兩部分, 以 root 根用戶登陸. 打開一個或兩個桌面的控制台. <輔助資源> <<"Kernel (compiling) HowTo - Everyone should read this">> <<"ATA-RAID HowTo - Lots of useful tidbits">> <<"Linux Migration to Promise RAID-1 HowTo - More good stuff">> <<"Promise Technologies Inc. - FastTrak source code is in TX2 download">> <開始> 現在我們按步驟進行, 我們需要內核源代碼和 FastTrak 的源代碼.從 Promise 網站下載 FastTrak 的部分 源代碼.(FastTrak 100 Tx2下載頁面) 保存它到根用戶目錄(root's home)下. 並解壓它: #tar zxvf 4_ftsrc_b25.tgz 假設我們正工作再 Red Hat 9.0 內核 2.4.20-8 下.(但是我們可以工作在任何 Red Hat 內核) 這時本地目錄: #/usr/src/linux-2.4.20-8 但是 FastTrak 源代碼, 不知道這個目錄, 所以我們需要創建一個鏈接到這個目錄 #/ln -s /usr/src/linux-2.4.20-8 /usr/src/linux <主題> 下面分兩部分 建立驅動磁盤 升級內核 [建立驅動磁盤] 從此開始會比較有趣. 多數情況我們在這兒是編譯並重新打包. 但是我們怎麼制作它是更有意思的. 我們需要一張格式化好的軟盤.來放官方的 Promise's FastTrak 驅動程序包 你需要特別標柱的 - 單處理器 (Uniprocessor or SMP). 下載並解壓它到: /root/FastTrak 這個目錄就像臨時文件夾. 主要用來定制我們的驅動磁盤, 首先,我們需要解壓模塊並且創建我們定制所需要的目錄. #cd /root/FastTrak #mkdir modules #cp modules.cgz modules #cd modules #zcat modules.cgz cpio -i -d #rm -f modules.cgz #mkdir 2.4.20-8 #mkdir 2.4.20-8BOOT 注意被創建的目錄是服務於每個內核的. 在那有兩個驅動. 一個標准版和一個BOOT版. 這是關鍵的. 當你安裝 Red Hat 時. 安裝程序是建立在 kernel-2.4.20-8BOOT 配置上的. 在進行任何安裝動作之前. 安裝程序搜索磁盤上對應的 FastTrak BOOT 模塊並加載. 假如 BOOT 核心沒有搜索到與之匹配的 BOOT 版的模塊. 加載失敗. 你的FastTrak 設備 將不會被發現. 所以我們還需要編譯BOOT版的模塊. 安裝程序之所以匹配這個內核是必須需要這個配置文件的. 幸運的是 Red Hat 為我們提供了配置文件. 我們不許要編譯這個內核. 僅僅需要配置它: #cd /usr/src/linux-2.4.20-8 #make clean #make mrproper #rm -f .config #cp configs/kernel-2.4.20-BOOT.config .config 現在.使用你喜歡的文本編輯器來修改 Makefile : EXTRAVERSION=-8BOOT ...並且你應該這樣去定義變量: #make dep 到這裡核心配置算完成了. 我們可以繼續去編譯 FastTrak BOOT 版模塊: #cd /root/ftsrc #make #cp FastTrak.o /root/FastTrak/2.4.20-8BOOT


#make clean 下一步的設置是正確的重復上面的步驟來恢復被我們為創建 BOOT 模塊所作的修改, 然後編譯標准核心模塊 #cd /usr/src/linux-2.4.20-8 #make clean #make mrproper #rm -f .config #cp configs/kernel-2.4.20-i386.config .config #vi Makefile (修改為 EXTRAVERSION=-8) #make dep #cd /root/ftsrc #make #cp FastTrak.o /root/FastTrak/2.4.20-8 #make clean 至此.我們編譯完成 FastTrak 驅動模塊. 現在我們需要重新打包. modules.cgz 並制作驅動軟盤. #cd /root/FastTrak/modules #find . -type f cpio -H crc -o gzip -9 > ../modules.cgz #cd .. #rm -fr modules 裝載 DOS 格式的軟盤並復制 FastTrak 目錄下所有的文件到軟盤. ...好了. ..... :-) 完成. 就這樣 ~! 這樣做可以創建你需要的任何版本的 Red Hat 驅動軟盤. [升級內核] 這個過程已經激怒了不少人. 使用正確的方法配置好的 FastTrak 設備. 啟動並運行你的系統. 你決定這個時候升級內核. 或者編譯一些新功能到你當前內核. 你試著重新啟動, 但是卻得到 'Kernel Panic' . 沒有任何問題. 在這是什麼錯誤. 按照 Red Hat 從 RAID 設備的啟動順序. 它必須首先加載 FastTrak (scsi & sd) 設備驅動 #cd /usr/src/linux-2.4.20-8 #make clean #make mrproper #make xconfig (如果需要請先修改 Makefile 文件中的 EXTRAVERSION = -8custom) #make dep #make bzImage #make modules #make modules_install #make install 假如你得到一個錯誤關於 FastTrak.o 當前內核版本沒有被尋找到. 正確的從/etc/modules.conf 裡移除 FastTrak 關聯並重新 'make' 編譯內核.那樣我們可以正確的執行並產生一個內核映象文件和一個initrd(initial ramdisk) 文件為你定制的的內核 (custom kernel). 但是它不考慮 FastTrak (和 scsi & sd) 模塊是需要 按順序的啟動新內核. 為此, 我們需要創建一個新的 initrd 文件. 但是首先需要更新 FastTrak 驅動: #cd /root/ftsrc #make #cp FastTrak.o /lib/modules/kernel-2.4.20-8custom/drivers/scsi 這樣編譯放置是為了更新 FastTrak 驅動, 在那兒內核能找到他們. 我們繼續編譯 initrd 映象: #cd /usr/src/linux-2.4.20-8 #rm -f /boot/initrd-2.4.20-8custom.img #mkinitrd --preload scsi --preload sd --with FastTrak /boot/initrd-2.4.20-8custom.img 2.4.20-8custom OR #new-kernel-pkg --depmod --mkinitrd --install 2.4.20-8custom 注意.我們如何在加載FastTrak模塊前 'preload' scsi & sd 模塊. 這是認出 FastTrak 驅動前必須的 就像 psuedo-scsi 設備代替一個真實的 RAID 陣列. 創建一個真實的本地 Linux ATA-RAID 設備.請 閱讀 HowTo. 我曾經考慮轉換我的設置到本地的 ATA-RAID 但是又背離了我的本意. 它將僅僅能被GRUB引導. 而LILO不能. 並且由於我害怕硬盤只能被GRUB引導... 並且由於GURB 比較好. 但是我放棄了. 好了. 至此 在訪問RAID陣列前 Initial Ramdisk 加載 FastTrak 驅動模塊 是沒有任何錯誤了.



注意.我們如何在加載FastTrak模塊前 'preload' scsi & sd 模塊. 這是認出 FastTrak 驅動前必須的 就像 psuedo-scsi 設備代替一個真實的 RAID 陣列. 創建一個真實的本地 Linux ATA-RAID 設備.請 閱讀 HowTo. 我曾經考慮轉換我的設置到本地的 ATA-RAID 但是又背離了我的本意. 它將僅僅能被GRUB引導. 而LILO不能. 並且由於我害怕硬盤只能被GRUB引導... 並且由於GURB 比較好. 但是我放棄了. 好了. 至此 在訪問RAID陣列前 Initial Ramdisk 加載 FastTrak 驅動模塊 是沒有任何錯誤了.



Copyright © Linux教程網 All Rights Reserved