当前位置:Linux教程 - Linux综合 - Promise FastTrak Raid驱动的解决办法

Promise FastTrak Raid驱动的解决办法

  原文: 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
[1] [2] 下一页 

#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 驱动模块 是没有任何错误了.

(出处:http://www.sheup.com)


上一页 [1] [2] 

注意.我们如何在加载FastTrak模块前 'preload' scsi & sd 模块. 这是认出 FastTrak 驱动前必须的 就像 psuedo-scsi 设备代替一个真实的 RAID 阵列. 创建一个真实的本地 Linux ATA-RAID 设备.请 阅读 HowTo. 我曾经考虑转换我的设置到本地的 ATA-RAID 但是又背离了我的本意. 它将仅仅能被GRUB引导. 而LILO不能. 并且由于我害怕硬盘只能被GRUB引导... 并且由于GURB 比较好. 但是我放弃了. 好了. 至此 在访问RAID阵列前 Initial Ramdisk 加载 FastTrak 驱动模块 是没有任何错误了.

(出处:http://www.sheup.com)


上一页 [1] [2] [3]