I've got the Hard Disk Blues :( ... pls help

I've got the Hard Disk Blues :( ... pls help

Post by D'Arcy Smi » Tue, 11 Jul 1995 04:00:00



Hi all,

I am trying to install Linux on a Installing on a Compaq Presarrio CDS 972
and I am having trouble with the hard drive.  While installing I get the
following message:

   hd.c : ST-506 interface disk with more than 16 heads detected,
          probably due to non-standard sector translation.  Giving up.
          (disk 0, cyl=707, sect=63, head=32)

The hard drive is IDE (if that helps).

Any hints would be much appreciated,

thx,

.darcy

 
 
 

I've got the Hard Disk Blues :( ... pls help

Post by Karl_Kleinpa.. » Tue, 11 Jul 1995 04:00:00



> I am trying to install Linux on a Installing on a Compaq Presarrio CDS 972
> and I am having trouble with the hard drive.  While installing I get the
> following message:
>    hd.c : ST-506 interface disk with more than 16 heads detected,
>           probably due to non-standard sector translation.  Giving up.
>           (disk 0, cyl=707, sect=63, head=32)
> The hard drive is IDE (if that helps).

Just last evening, I wrote the following mail to

right down to the drive type.  Note that I'm effectively cribbing the
answers you get out of Patrick LoPresti's Large IDE Drive Mini-Howto,
as published by InfoMagic in their "developer's resource" CD-ROM set.
________________

Quote:> 2) Later on during the boot, I get:
>       hd.c: ST-506 interface disk with more than 16 heads detected,
>         probably due to a non-standard sector translation. Giving up.
>         (disk 0: cyl 425, sect 63, head 64)
> Obviously, this is because I have >16 heads. I looked at the BIOS and
> found that I can indeed configure my drive to have 16 logical heads,
> but that would mean re-partitioning my drive, which I didn't want to
> do.

No, actually, your disc probably has 16 heads.  The issue has to do
with the problem (and recurring discussion topic) of IDE disc sizes
larger than 528Mbytes.  The boundary in question is 1024 cylinders,
such that 1024cyl * 16hds * 63sectors * 512bytes/sector == 528Mbytes.

For large IDE drives under DOS, what is happening is that BIOS lies to
DOS about the actual disc geometry, doing 2x multiplies/divides of
cyl/hds in order to get cyl < 1024, because DOS can only address 1024
cyl, in turn because it stores cyl addresses in 10 bits.  DOS' usage
of BIOS for disc I/O uses these halved/doubled (quartered/quad)
addresses, which BIOS converts when speaking to the controller.
Apparently, your drive has CHS = (1700,16,63) geometry, since it takes
a 4x multiplier to cause trouble going over 1024.

The confusion arises when Linux queries BIOS at boot time to learn
disc geometry, which is the only time it uses BIOS, choosing
thereafter to speak to the controller directly.

I've dealt with this twice in as many weeks, so here's a quick script
for how to make DOS, BIOS and Linux all happy:

1. Know real drive geometry.  The drive itself probably says so, on
its model# sticker.
2. Boot linux from boot floppy, including an "hd=C,H,S" spec using
real geometry.  Thus, Linux will not query BIOS at all.
3. Use fdisk to create appropriate partitions.  However, this will
cause an appearance of trouble, because fdisk will be operating in
BIOS-compatible lies -vs- the rest of Linux believing reality.  So:
        a. Go to fdisk's expert mode with "x".
        b. Change cylinders and heads to BIOS lies.
        c. Back out to normal mode with "r".
        d. Build partitions in a BIOS-lies environment.
4. When you define your swap partition, remember its BIOS-lies block
size, because that's the number you need to hand to mkswap.
5. When you prepare lilo.conf, arrange for an "append hd=C,H,S" with
real geometry, just as when you booted from floppy.

When all is said and done, BIOS knows the real geometry, it can lie to
DOS all it wants, and Linux will know real geometry from the append
spec while still coping with the BIOS-lies partition table.  It works,
shockingly enough.
________________

 
 
 

1. I've got a BIG problem... pls help

It is really a big problem....

I am writing my final year project using Motif and C under Solaris and
it should work at home with Linux too I hope...

But the progarm is now ok at Solaris, but core dump at my Linux 2.0.17
with gcc 2.7.

Following is my procedure...
1) I make a pointer to a structure which have some strings and some other
structure pointer inside. I fill up all the field under a procedure using
strdup.

2) I run a procedure to free all resources like memory for pointer.

3) Then I run step 1) again. Core dump....

No problem at Solaris at university. I can create and destroy 100 times
at Solaris without any problem. The core dump is not out at the 1st
strdup under the creation routine... One of my testing program dump at
the 3rd one and one dump at the 6th one.

What's wrong.... It true to me and I am not telling lies. Pls help.

--
---
Bestregards
Louis Chan

   /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  /_/  Louis Chan, Kwong Kit                                      /_/_
 /_/_/ Computer Studies, Year 4                                  /_/_/
  /_/  City Univerity of Hong Kong.                               /_/
 /_/                                                             /_/
  /_/                        http://www.cs.cityu.edu.hk/~ckkchan  /_/

  /_/                      pager : +(852)7111 1076 a/c 4624       /_/
 /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
                                            Printed on Recycled Paper.

2. 2 mice in XFree86

3. my trashed hard drive. :( :( :(

4. kdm failure after update to 1.1.2

5. Now I've gone and lost my hard disk

6. Termcap entry for VT-52 needed

7. Pls help: Can't change disk type for Seagate ST34371W disks

8. Need libXaw.a for SCO ODT 2.0

9. Help! I've gotten this far...

10. I've got the Plug and Play(PNP) blues...

11. I've got the modem blues...

12. [Fwd: I've got the SiS6326 blues...]

13. I've got the SiS6326 blues...