QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 818|回复: 7

紧急求助!Redhat 9.0在Dell 8300的安装?

[复制链接]
发表于 2003-8-7 17:02:18 | 显示全部楼层 |阅读模式
小弟才购入的Dell Dimension 8300台式电脑,配置了Intel P4 HT 2.8GHz processor;双通道DDR400MHz/1G内存,FSB 800MHz;主板是Intel原厂的875P,Phoenix BIOS ;显卡是ATi 9800 pro;Sound Blaster Live! 5.1;显示器是三星M782 CRT;硬盘是希捷酷鱼120G 7200.7 Plus 型号是ST3120026AS,是个串行硬盘,才把硬盘格式化了,分了区,干净安装了Windows XP Professional Service 1,NTFS文件格式,一切顺利。小弟是个Linux的疯狂发烧友,花了68元大洋买了Redhat 9.0的正版软件(7CD),兴高采烈的准备作双系统。可图形安装界面进行到“分区”那里,不管选“自动分区”,还是“手动分区”,都会弹出一个对话框“出现错误——未找到要在其中创建新文件的有效设备。请检查你的硬件以找到问题的起因。”,(我还单独分出了29G的Linux Ext3以及1G的Linux Swap他也不认识,还是这样)然后就重启。总之,装不上。拿到我表弟的破“联想”上轻轻松松就装上了,轻轻松松就把双系统实现了,也是WinXP Pro,NTFS文件格式,我倒,郁闷啊!!!55555……请求众大虾帮助,小弟感激不尽,感激不尽……是不是linux 9.0不认识串行硬盘啊,是不是要在BIOS里做映射到并行上去啊,该怎么做啊?55555……苦恼死我了,各位大虾一定要帮帮我啊。
发表于 2003-8-7 20:39:07 | 显示全部楼层
WOW.厉害的机子!!! 我也想买INTEL的.但是我是AMD的拥戴者!我要买 Optron!!!!分区是用PQ8弄出来的? 我曾经说过, PQ是垃圾.

RH9.0根本就有自己的分区功能. 用什么鬼PQ呢?

再安装XP吧. 用XP安装程式把所有分区删除掉. 留下30G给LINUX, 记住用RH的DISKDRID呀! 再安装呀!
回复

使用道具 举报

发表于 2003-8-7 20:59:46 | 显示全部楼层
忘记RH9支不支持SATA了
我去查查先~~~~
你的SATA控制芯片是什么型号的?
???好像875已经集成了SATA控制芯片了
你的呢?
回复

使用道具 举报

 楼主| 发表于 2003-8-7 22:47:45 | 显示全部楼层
是ICH5南桥芯片,芯片的编号为82801EB。(可能DELL觉得普通用户、又是一个硬盘,是不用作RAID 0 模式的,给我用ICH5-R的话,反而会多生事端,加上ICH5与ICH5-R可互换,都集成了支持SATA硬盘的控制芯片。)
回复

使用道具 举报

发表于 2003-8-7 23:31:36 | 显示全部楼层
再看这个吧.

http://www.linuxhardware.org/Features/03/04/16/1610236.shtml

原来是SATA的东东!呵呵...

我就看不懂啦.哈哈哈!你懂不?等有2.4.22KERNEL的RH9.1?

听说ALAN COX六月才把ST3120026AS的支持PACTHED了.


Date Sat, 7 Jun 2003 18:56:37 +0100
From Hugo Mills <>
Subject [PATCH][RFC] Add support for Adaptec 1210SA (was: Re: SiI3112 (Adaptec 1210SA): no devices)
On Thu, Jun 05, 2003 at 06:07:04PM -0400, Alan Cox wrote:
just couldn't find _any_ other SiI3112 SATA card on the market in this country. I don't run Red Hat or SuSE, and particularly not their kernels -- (I normally run Alan's kernels). Does this mean that I've bought a pig in a poke?


If its a standard SI3112 series device with a different device ID then it ought to work just by adding the ids to the driver.

Like the patch below?

I've assumed that it's exactly like a SiI3112 in making these changes. The kernel now recognises the device, and I can (e.g.) run cfdisk. However, any read or write on the disk causes huge delays, and these:

Jun 7 17:55:47 src@vlad kernel: hda: dma_timer_expiry: dma status == 0x24 Jun 7 17:55:57 src@vlad kernel: hda: DMA interrupt recovery Jun 7 17:55:57 src@vlad kernel: hda: lost interrupt
I don't have the knowledge to determine whether this is similar to the SiI3112 problems people have been having elsewhere, or if it's a
different cause due to something funny that Adaptec did when building
the controller.
Note, however, that the 'hdparm -X66 -d1' doesn't fix the lost interrupt problem, nor does the 'echo "max_kb_per_request:15" > /proc/ide/hde/settings'. I haven't tried Andre's suggestion of
drive->id->hwconfig |= 0x6000, because it's not clear to me where in
the code the line should go.
After running the hdparm command to set UDMA, I can get the following output:

vlad:/dev/ide# hdparm -i /dev/ide/host0/bus0/target0/lun0/disc
/dev/ide/host0/bus0/target0/lun0/disc:

Model=ST3120026AS, FwRev=3.05, SerialNo=3JT059GT

Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=16
CurCHS=65535/1/63, CurSects=4128705, LBA=yes, LBAsects=234441648
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes:  pio0 pio1 pio2 pio3 pio4
DMA modes:  mdma0 mdma1 *mdma2
UDMA modes: udma0 udma1 udma2
AdvancedPM=no WriteCache=enabled
Drive conforms to: ATA/ATAPI-6 T13 1410D revision 2:  1 2 3 4 5 6
FWIW, the hard drive is a 120Gb Seagate Barracuda V. The machine I'm running all this on is a K6-2/500, and I don't have APIC or ACPI support built into this kernel.

Hugo.



[view this diff only]
diff -ur -X patch-help/ignore linux-2.4.21-rc7-ac1/drivers/ide/pci/siimage.c linux-test/drivers/ide/pci/siimage.c
--- linux-2.4.21-rc7-ac1/drivers/ide/pci/siimage.c        2003-06-05 12:02:22.000000000 +0100
+++ linux-test/drivers/ide/pci/siimage.c        2003-06-07 13:26:59.000000000 +0100
@@ -172,6 +172,7 @@

        switch(hwif->pci_dev->device) {
                case PCI_DEVICE_ID_SII_3112:
+                case PCI_DEVICE_ID_ADAPTEC_1210SA:
                        /* FIXME: should we pick UDMA100 for
                           Maxtor devices in case its on a PATA adapter ? */
                        return 4;
@@ -367,7 +368,8 @@
        ultra &= ~0x3F;
        scsc = ((scsc & 0x30) == 0x00) ? 0 : 1;

-        scsc = (hwif->pci_dev->device == PCI_DEVICE_ID_SII_3112) ? 1 : scsc;
+        scsc = (hwif->pci_dev->device == PCI_DEVICE_ID_SII_3112
+                || hwif->pci_dev->device == PCI_DEVICE_ID_ADAPTEC_1210SA) ? 1 : scsc;

        switch(speed) {
                case XFER_PIO_4:
@@ -674,7 +676,8 @@
        if (drive->media != ide_disk)
                return;

-        if (HWIF(drive)->pci_dev->device == PCI_DEVICE_ID_SII_3112) {
+        if (HWIF(drive)->pci_dev->device == PCI_DEVICE_ID_SII_3112
+                || HWIF(drive)->pci_dev->device == PCI_DEVICE_ID_ADAPTEC_1210SA) {
                drive->special.b.set_geometry = 0;
                drive->special.b.recalibrate = 0;
        }
@@ -734,7 +737,8 @@
  
static void proc_reports_siimage (struct pci_dev *dev, u8 clocking, const char *name)
{
-        if (dev->device == PCI_DEVICE_ID_SII_3112)
+        if (dev->device == PCI_DEVICE_ID_SII_3112
+                || dev->device == PCI_DEVICE_ID_ADAPTEC_1210SA)
                goto sata_skip;

        printk(KERN_INFO "%s: BASE CLOCK ", name);
@@ -800,7 +804,8 @@
        pci_set_drvdata(dev, ioaddr);
        addr = (unsigned long) ioaddr;

-        if (dev->device == PCI_DEVICE_ID_SII_3112) {
+        if (dev->device == PCI_DEVICE_ID_SII_3112
+                || dev->device == PCI_DEVICE_ID_ADAPTEC_1210SA) {
                writel(0, addr + 0x14;
                writel(0, addr + 0x1C;
        }
@@ -838,7 +843,8 @@
        writel(0x43924392, addr + 0xE;
        writel(0x40094009, addr + 0xEC);

-        if (dev->device == PCI_DEVICE_ID_SII_3112) {
+        if (dev->device == PCI_DEVICE_ID_SII_3112
+                || dev->device == PCI_DEVICE_ID_ADAPTEC_1210SA) {
                writel(0xFFFF0000, addr + 0x10;
                writel(0xFFFF0000, addr + 0x18;
                writel(0x00680000, addr + 0x14;
@@ -976,7 +982,8 @@

        hw.io_ports[IDE_IRQ_OFFSET]        = 0;

-        if (dev->device == PCI_DEVICE_ID_SII_3112) {
+        if (dev->device == PCI_DEVICE_ID_SII_3112
+                        || dev->device == PCI_DEVICE_ID_ADAPTEC_1210SA) {
                 base = (unsigned long) addr;
                 if(ch)
                         base += 0x80;
@@ -993,7 +1000,8 @@
        memcpy(&hwif->hw, &hw, sizeof(hw));
        memcpy(hwif->io_ports, hwif->hw.io_ports, sizeof(hwif->hw.io_ports));

-        if (hwif->pci_dev->device == PCI_DEVICE_ID_SII_3112) {
+        if (hwif->pci_dev->device == PCI_DEVICE_ID_SII_3112
+                || hwif->pci_dev->device == PCI_DEVICE_ID_ADAPTEC_1210SA) {
                memcpy(hwif->sata_scr, hwif->hw.sata_scr, sizeof(hwif->hw.sata_scr));
                memcpy(hwif->sata_misc, hwif->hw.sata_misc, sizeof(hwif->hw.sata_misc));
        }
@@ -1035,7 +1043,8 @@
        hwif->hwif_data = 0;

        hwif->rqsize = 128;
-        if (dev->device == PCI_DEVICE_ID_SII_3112 && !class_rev)
+        if ((dev->device == PCI_DEVICE_ID_SII_3112
+                 || dev->device == PCI_DEVICE_ID_ADAPTEC_1210SA) && !class_rev)
                hwif->rqsize = 16;

        if (pci_get_drvdata(dev) == NULL)
@@ -1082,7 +1091,8 @@
        hwif->reset_poll = &siimage_reset_poll;
        hwif->pre_reset = &siimage_pre_reset;

-        if(hwif->pci_dev->device == PCI_DEVICE_ID_SII_3112)
+        if(hwif->pci_dev->device == PCI_DEVICE_ID_SII_3112
+                || hwif->pci_dev->device == PCI_DEVICE_ID_ADAPTEC_1210SA)
                hwif->busproc   = &siimage_busproc;

        if (!hwif->dma_base) {
@@ -1095,7 +1105,8 @@
        hwif->mwdma_mask = 0x07;
        hwif->swdma_mask = 0x07;

-        if (hwif->pci_dev->device != PCI_DEVICE_ID_SII_3112)
+        if (hwif->pci_dev->device != PCI_DEVICE_ID_SII_3112
+                && hwif->pci_dev->device != PCI_DEVICE_ID_ADAPTEC_1210SA)
                hwif->atapi_dma = 1;

        hwif->ide_dma_check = &siimage_config_drive_for_dma;
@@ -1159,6 +1170,7 @@
static struct pci_device_id siimage_pci_tbl[] __devinitdata = {
        { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_680,  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
        { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_3112, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1},
+        { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_ADAPTEC_1210SA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2},
        { 0, },
};

diff -ur -X patch-help/ignore linux-2.4.21-rc7-ac1/drivers/ide/pci/siimage.h linux-test/drivers/ide/pci/siimage.h
--- linux-2.4.21-rc7-ac1/drivers/ide/pci/siimage.h        2003-06-06 09:08:57.000000000 +0100
+++ linux-test/drivers/ide/pci/siimage.h        2003-06-07 13:37:41.000000000 +0100
@@ -73,6 +73,19 @@
                .enablebits        = {{0x00,0x00,0x00}, {0x00,0x00,0x00}},
                .bootable        = ON_BOARD,
                .extra                = 0,
+        },{        /* 2 */
+                .vendor                = PCI_VENDOR_ID_CMD,
+                .device                = PCI_DEVICE_ID_ADAPTEC_1210SA,
+                .name                = "Adaptec AAR-1210SA",
+                .init_chipset        = init_chipset_siimage,
+                .init_iops        = init_iops_siimage,
+                .init_hwif        = init_hwif_siimage,
+                .init_dma        = init_dma_siimage,
+                .channels        = 2,
+                .autodma        = AUTODMA,
+                .enablebits        = {{0x00,0x00,0x00}, {0x00,0x00,0x00}},
+                .bootable        = ON_BOARD,
+                .extra                = 0,
        },{
                .vendor                = 0,
                .device                = 0,
diff -ur -X patch-help/ignore linux-2.4.21-rc7-ac1/include/linux/pci_ids.h linux-test/include/linux/pci_ids.h
--- linux-2.4.21-rc7-ac1/include/linux/pci_ids.h        2003-06-05 12:02:27.000000000 +0100
+++ linux-test/include/linux/pci_ids.h        2003-06-06 08:51:42.000000000 +0100
@@ -761,6 +761,7 @@
#define PCI_DEVICE_ID_SUN_HUMMINGBIRD        0xa001

#define PCI_VENDOR_ID_CMD                0x1095
+#define PCI_DEVICE_ID_ADAPTEC_1210SA        0x0240
#define PCI_DEVICE_ID_CMD_640                0x0640
#define PCI_DEVICE_ID_CMD_643                0x0643
#define PCI_DEVICE_ID_CMD_646                0x0646

[unhandled content-type:application/pgp-signature]
--
=== Hugo Mills: hugo@... carfax.org.uk | darksatanic.net | lug.org.uk ===
  PGP key: 1C335860 from wwwkeys.eu.pgp.net or http://www.carfax.org.uk
       --- Never underestimate the bandwidth of a Volvo filled ---      
                           with backup tapes.
回复

使用道具 举报

 楼主| 发表于 2003-8-7 23:53:17 | 显示全部楼层
skyfolly老大,晕啊……谢谢你。谢谢你们。
回复

使用道具 举报

 楼主| 发表于 2003-8-19 00:06:59 | 显示全部楼层
5哈哈哈哈哈哈哈哈哈活活啊哈哈哈哈哈
回复

使用道具 举报

发表于 2003-8-19 04:01:37 | 显示全部楼层
swjsj,

No need to wait for the new kernel.  The problem with RH9 not recognizing the SATA drive is in the installer.  We fixed the issue and gave Axin at linuxfans.org the source code.

If you are interested in getting a set of Red Hat 9 CDs that will install on your motherboard, send a request to my email, [email protected].

We tested the CDs on the following boards

Intel 875 and 865 based boards
ASUS 875 and 865 based boards
MSI 875 and 865 based boards

We also fixed the problem with DMA, and PXE boot support for the gigabit controller on your 875 based boards.  Of course, we included all the latest updates and security patches.

Send me a note if you are interested.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-10-1 15:30 , Processed in 0.039129 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表