Debian sarge 3.1r1 在Intel se7320ep2 主板上的安装

这两天一直忙着为了在一台双至强3.0G的服务器上安装Linux系统。作为debian的fans,我还是选择了使用debian作为操作系统,但是从一开始安装至今,一直挫折重重。今天终于基本解决了大多数的问题。因为查了一下网上, 发现这个主板现在在国内已经使用很广泛了,但是对于linux支持的介绍却少的要命,因此在这把碰到的问题和解决之道写下来,作为备忘,也和大家分享。
先介绍一下我的软硬件情况。网上查了很多资料,都没好好的加上碰到问题的软硬件说明,害的我走了不少弯路。首先我用的是宝德的服务器, 主要他们的东西质量还过得去(但是也小毛病多多,这次就碰到光驱质量狂差,气的我想退货,但是这个和我这里主要想说的没多大牵连,就不多说了)。 主板用的是Intel原装的SE7320EP2,可以到[url=www.intel.com/support/motherboards/server/se7320ep2/index.htm]Intel主页上看技术资料,这个主板配了2颗xeon 3.0G(支持64位)的cpu,这个不是问题,Linux内核可以很好支持。具有两个sata接口和两个pata(就是普通ide接口)接口, 我们配了一块80G的sata硬盘。 sata结果给我带来不小的麻烦。 此外板子上集成了两块千兆网卡,一块是Intel 82541PI,一块是Marvell Yukon -EC 88E8050。 这两块卡也让我头痛的要死。 好了,基本配置就介绍到这里了。
首先我下载刻录了sarg 3.1r1的安装盘, 打算用Linux26模式安装2.6的内核。 结果发现几次找不到光驱(折腾了n次后才知道是服务器的光驱有问题,要出错 3、4次才能读到光盘)。于是切换到了默认2.4的内核安装, 安装后sata硬盘被认成了hde。基本系统顺利安装完成。
但是由于内核不能支持板子上两块网卡,因此需要重新编译内核。其中intel的网卡系统默认就用e1000驱动去启动了, 启动后貌似正常,结果根本上不了网,害的我顺着网线一路怀疑到了交换机。但是编译后发现系统报错,说vfs找不到根分区。 开始以为是编译内核的时候忘记把ext3编译进去了,而只是做为模块编译。 但是重复几次后发现不对,自己再看内核启动信息,发现没找到sata硬盘。 原来以为Linux不需要为sata硬盘做额外的配置。后来去找网上找资料,知道主板的sata是由南桥芯片 6300ESB控制。网上中文没任何资料,英文少数资料说linux内核还不支持这个南桥芯片,所以不能用,要xxxxx手工修改内核代码,,我晕倒第一次; 但是安装盘的确可以启动sata硬盘,这样说好像没道理。有看到网上有人(鬼子)说sata应该认成sdx设备才对, 认成hdx设备是使用了老驱动,会是不是造成系统挂起,我一身冷汗......。 再看,又有人说应该如此如此配置内核,这样内核就会使用sdx而不会使用hdx,但是他联系了sata驱动的设计人,那人说以后要放弃把sata作为scsi设备,而变成hd设备,我开始坐飞机了.......。 由于linux上的资料实在太少了。 我当时真的不知道该怎么办了。但是我后来用lspci去看了一下系统的pci设备,发现能够正确认出6300ESB控制器,那样我排除了linux不支持6300ESB南桥的说法了。此外根据网上的说明,我知道了在内核中存在两种sata驱动,一种是ide设置中的sata支持,另外一种是scsi中的sata支持。在2.4.27内核开始,就应该废弃在ide支持中使用sata,而转由scsi中设置。但是我几种方式都试了,没有一点作用。 sata硬盘始终就是找不到。 后来在看网上资料的时候发现很多人提到bios设置中的sata/pata 模式设置的问题, 有个什么combine 和mix的。由于都是只言片语,实在不能懂。 由于没办法,我只能到bios里面看看。 intel的bios里面包括了 是否启用ide(废话,不启用我的光驱怎么挂);是否启用sata通道(也是废话)。 下面两个选项就比较费解了, 上面一个说 sata的主从关系(SATA Ports Definition),一个是A1-3rd M/A2-4th M ,另外一个选项是A1-4rd M/A2-3th M。 最后一个最要命了,叫Mixed P-ATA/SATA,这个就是我看到多次而不知道什么意思的。 打开设置,里面的选项为 First ATA Channel和 Second ATA Channel, 可选项为 PATA M-S/SATA M-S 还有一个是 3rd&4th ATA Channels 为灰的不可选(其实是可选的)。我就胡乱改变其中的设置(尝试也是一种办法啊),发现设置后重启在进入bios设置的ide设置项,其中这些选项下面的IDE分配表会不断变化,有时候硬盘被移动到了第一个ide上 显示为master,而光驱没有了,而有时硬盘被放到第三个ide上,显示为master,这个时候光驱被放到第一个ide上,显示为slaver从盘。由于每次修改后退回上层设置的时候,这个ide列表并不会变化,所以一直没引起我注意,唯一一次发现我的光驱没有了,但是硬盘变到第一个ide上了,才发现这个奥妙。最后我才弄明白这个规律:在系统中一共存在4个IDE通道,也就是bios里面说的Frist ATA Channel 到4th ATA Channle。 默认的情况, First ATA Channel和 Second ATA Channel都被设置成了PATA M-S, 这样主板上两个ide槽就分别对应第一和第二个ide通道了,而此时根据bios,光驱被挂在frist ATA Channel上,且为从盘,所以我在linux里面看到的光盘盘符为hdb了。此时两个sata通道被设置成到了第三个和第四个ide通道上,所以我的linux里面sata的盘符为hde了(linux 中第一个通道上主设备为hda 从设备为hdb,第二个分别为hdc和hdd....),如果我把frist ATA Channel 设置成了SATA M-S,则sata的第一个通道就被作为ide的第一个通道了,sata硬盘的盘符为hda了。 下面不用我说了把, 你该明白到底怎么回事了。 那么在debian中是怎么回事,为什么认不到硬盘。当我在内核中用ide支持sata时,sata硬盘的确变成了hde,但是在2.4.32最新版本的内核里面这么设,内核监测不到第三个ide通道(但是在sarg原带的2.4.27里面却可以,奇怪),所以死都看不到硬盘。而设置成scsi支持sata时,sata硬盘变成了sda了。但是内核在这个时候启动信息刷屏太快,根本看不到,所以仍用root=hdex显然不行了,后来我猜着用root=sdax,立刻就进去了。 这也说明sarg默认的2.4内核使用的是不推荐的ide方式支持sata硬盘,性能会比scsi支持sata低10M/s,所以大家要注意这个问题。
后来我发现了光驱的问题(说起来容易,事实上以痛苦换来的),换了光驱后顺利的进入linux26安装,这次2.6的内核直接就用scsi方式支持sata硬盘了,变成了sda了。由于有前面的经验,后来自己编译了2.6内核也顺利带起了sata硬盘了。
至于intel的千兆网卡,目前最新的2.6.16内核也无法正常支持。后来我在Intel的主页上找到了驱动,编译了一下就搞定了。至于marvell的千兆卡, 在内核里面使用的是sy98lin的驱动,也因为卡太新不能驱动。 但是我在官方网址上找了驱动,下载编译始终出错,而且多个版本(官方网址上是8.31版,intel给的随机驱动是8.16.3.2)给出的错误各个不同。虽然他也支持2.6内核,但是可能对最新的2.6.16的支持实在不好(前以版本说struct定义里面少了他所需要的一个成员变量),后者说是某些宏没定义且一个指针类型出了xxxx错。我实在无法解决。 只能到此告一段落了。

注:在sarg 安装基本系统后不能立刻使用make menuconfig 因为需要libncurses5的库支持。虽然系统安装后已经安装了该库,但是没有安装libncurses5-dev,且该deb包不再像在woody中那样带在光盘上,所以需要用u盘从网上拷贝了弄到机器上。

这篇文章是因为曾在Linuxsir.org的论坛debian版上说要复出多发些文章,但结果是总在忙而没时间兑现自己的诺言而希望能得到大家谅解的。此外也希望各位有空能到我的blog [url]http://nathanxu.blog.ccidnet.com[/url] 上去逛逛。我在上面写了一些关于自己的开发经验但并不很合适贴在bbs上,特别是debian专版上的文字,希望能和大家多交流。

加附: 今天我自己看了一下marvell的驱动,最新版本是06年1月发布,我就用了此前发布的linux内核(2.6.10),结果就能编译通过并且网卡正常启动。可推测,估计一直到2.6.14的内核,marvell的驱动都可以使用(因为2.6.14也在此前发布)。

本文出自 “Nathan的技术空间” 博客,转载请与作者联系!

你可能感兴趣的:(Debian,安装,主板,休闲,se7320ep2)