From owner-freebsd-questions Tue May 21 19:25:23 2002 Delivered-To: freebsd-questions@freebsd.org Received: from b.smtp-out.sonic.net (b.smtp-out.sonic.net [208.201.224.39]) by hub.freebsd.org (Postfix) with SMTP id 2C2F337B408 for ; Tue, 21 May 2002 19:25:01 -0700 (PDT) Received: (qmail 436 invoked from network); 22 May 2002 01:21:07 -0000 Received: from ultra.sonic.net (208.201.224.22) by b.smtp-out.sonic.net with SMTP; 22 May 2002 01:21:07 -0000 Received: from LUCKYVAIO (adsl-208-201-244-240.sonic.net [208.201.244.240]) by ultra.sonic.net (8.11.6/8.8.5) with ESMTP id g4M2Osj16054 for ; Tue, 21 May 2002 19:24:56 -0700 X-envelope-info: From: "Lucky Green" To: Subject: Successfully cheating old IDE controller BIOS? Date: Tue, 21 May 2002 19:24:22 -0700 Message-ID: <00a901c20137$cc505140$c33a080a@LUCKYVAIO> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.3416 Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I am running an old motherboard containing an AMD K6-333 with a just as ancient IDE controller. My primary drive is a SCSII drive. I just added an 160GB Maxtor IDE drive for backup purposes. This is the only IDE drive on the system. Now of course the old BIOS in the motherboard would not begin to guess what to do with a 160GB drive. But I found in the past that you can assign bogus values for an IDE drive in the BIOS as long as you stay within a range the BIOS can comprehend, letting FreeBSD take over after boot using the real drive geometry. The process works as follows: 1) assign any value for the drive geometry the motherboard's BIOS is happy with. It really doesn't matter what that value is. This value can and should be totally unrelated to the actual drive geometry. Pick whatever your motherboard's BIOS will accept. You can tell the motherboard's BIOS that you have an 8GB drive connected when in fact your drive is over 100GB. 2) FreeBSD will figure out during boot what the true drive geometry looks like. 3) Run fdisk. fdisk will tell you that the drive geometry must be incorrect since it does not match the geometry stored in the BIOS. You blatantly ignore this warning and continue. 4) Surprise, surprise, fdisk sees the full drive. 5) You now assign the entire drive as one dedicated FreeBSD slice. Followed by labeling the drive. This has worked fine for me in the past. Only this time, FreeBSD would only assign 150GB of the 160GB actually available on the drive. Here is the output of fdisk: Disk name: ad0 FDISK Partition Editor DISK Geometry: 19929 cyls/255 heads/63 sectors = 320159385 sectors (156327MB) Offset Size(ST) End Name PType Desc Subtype Flags 0 63 62 - 6 unused 0 63 320159322 320159384 ad0s1 3 freebsd 165 C 320159385 13671 320173055 - 6 unused 0 And here is the output of dmesg: Copyright (c) 1992-2002 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 4.5-RELEASE-p4 #0: Wed Apr 24 01:15:47 CEST 2002 root@pakastelohi.cypherpunks.to:/usr/obj/usr/src/sys/PAKASTELOHI-2002042 3 Timecounter "i8254" frequency 1193182 Hz Timecounter "TSC" frequency 300683548 Hz CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU) Origin = "AuthenticAMD" Id = 0x580 Stepping = 0 Features=0x8001bf AMD Features=0x80000800 real memory = 134217728 (131072K bytes) avail memory = 126877696 (123904K bytes) Preloaded elf kernel "kernel" at 0xc03b1000. md0: Malloc disk Using $PIR table, 5 entries at 0xc00fdc80 npx0: on motherboard npx0: INT 16 interface pcib0: on motherboard pci0: on pcib0 pcib2: at device 1.0 on pci0 pci1: on pcib2 isab0: at device 7.0 on pci0 isa0: on isab0 atapci0: port 0xe000-0xe00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 sym0: <875> port 0xe800-0xe8ff mem 0xe6002000-0xe6002fff,0xe6000000-0xe60000ff i rq 11 at device 13.0 on pci0 sym0: No NVRAM, ID 7, Fast-20, SE, parity checking ste0: port 0xec00-0xec7f mem 0xe6001000-0xe60011 ff irq 10 at device 14.0 on pci0 ste0: Ethernet address: 00:05:5d:fb:37:72 miibus0: on ste0 ukphy0: on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ukphy1: on miibus0 ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto pcib1: on motherboard pci2: on pcib1 orm0: