1 step forward, 5 steps back - newbie HD problems - please help!

1 step forward, 5 steps back - newbie HD problems - please help!

Post by Jay Raja » Fri, 02 Apr 1999 04:00:00



[sigh]

my own personal linux saga continues. I started 2 weeks ago, only to find
that the new drive I had bought was defective. So, I shipped it back and got
a new one. Initially, linux wasn't sensing the drive geometry correctly,
reporting fewer cylinders than it should have. Turned out to be a simple
jumper problem (I had misread my documentation), and I thought evething was
fine. Unfortunately, to my chagrin, it isn't.

Here's the problem: I have a 10G HD that I'm dedicating just to linux (IBM
Deskstar 10GXP). It's set up as the primary slave (cable select jumper
setting), and BIOS seems to be sensing it OK, i.e. it reports the correct
size.

When I start up linux, as it's booting up it correctly reports the drive's
(hdb on my system) size and partitions. So far, so good. However, when I go
into Druid or Fdisk to find out what the sizes of my partitions are, 2 G of
my drive are not accounted for, i.e. the total amount of allocatable space
is ~ 8G! I am pretty much at my wits end here - and would appreciate any
help anyone might have to offer. Specifically, what I'm wondering is whether
I ought to use the linux hd=c,h,s command at install time. But, as I said,
these #s seem to be reported correctly by the programs!

Other relevant info: the drive has LBA enabled, and is purely linux - I have
installed nothing else on it. All advice/guidance is really appreciated.
Thanks!

JR

 
 
 

1 step forward, 5 steps back - newbie HD problems - please help!

Post by Sydney Weidma » Sat, 03 Apr 1999 04:00:00


At the risk of wasting bandwidth (flame me if you must) here is the best
rundown on the problem that I have seen posted.
Quote:> > How do you partition a HD >8G? I just bought a Dell 400 cerelon wiht 12G.
> > I wiped out win98 promptly and plug in RedHat 5.2 boot.img as usual. But
> > RedHat fidisk only recognize 8G ? Bios says 12G and even the boot
> > diskette says 12G when it boots up. Am I missing something? Please share
> > your experience with large HDs. June

> This isn't by me, thank Tim Ewing.  Abstractly, the problem is that Linux
> can only access up to 8 gb without passing extra parameters to the kernel.
> What you need to do is type 'hdparm -i /dev/hda' and write down RawCHS and
> LBAsects.  Then, do this:
> Given RawCHS = x/y/z, LBAsects = a
> a / (z * 240) = b
> at linux install, pass this when you get a 'boot: ' prompt
> linux hda = b,240,z
> Thanks to Tim Ewing, you might want to read down (good read) just in case I
> got the #s wrong or I analyzed it wrong.
> Good evening,
> DeadMonkey

> Complete text by Tim Ewing follows:
> >Gentelmen,

> >     I am writing to each of you directly since I have not had a chance to
> >complete the registration process with www.searchlinux.com.  In the
> meantime, if
> >one of you would be so kind as to post my response, I believe it will be
> helpful
> >to others having the same problem.  Rob can safely ignore the posting
> request as
> >I am sending this information to him just for his own records.

> >     Recently I was given a Compaq Armada 7800 laptop which includes a
> 14.0GB
> >hard drive.  In fact, the specific model of hard drive is IBM DCYA-214000.
> I
> >initially ran into the same problem as everyone else with respect to having

> >access to the entire hard drive.  I did about a week's worth of
> investigation
> >and found that information from Partition Magic documentation along with a
> >posting from Raphael Clifford on 2-14-1999 proved to be an immense help.  I

> >would like to recap what I have learned and make a slight correction to the

> >posting provided by Raphael Clifford.

> >     Several years ago (1994), BIOS in modern PC systems had a hard drive
> >limitation of 504MB.  This stemmed from the fact that the BIOS could
> directly
> >access 1024 cylinders 16 heads and 63 sectors per track.  System designers
> >addressed this limitation through a BIOS enhancement known as Logical Block

> >Addressing (LBA).  In short, this allows some mathematical games to be
> played
> >which keep the total cylinder count at or under the magic number of 1024.
> >Suppose you bought a 4.3GB hard drive (I did this about two years ago) and
> >suppose its specifications were 4096 cylinders, 16 heads and 63 sectors per

> >track.  What LBA does is a translation so that the drive looks like it is
> 1024
> >cylinders, 64 heads and 64 sectors per track.  Mathematically speaking,
> 4096 x
> >16 is the same as 1024 x 64.

> >    All modern PC systems have this LBA capability which will address up to

> >about 8.4GB hard drive size.  Unfortunately Linux (getting its information
> from
> >the BIOS if no parameters are passed to the kernel) has the same
> limitation.
> >Hence, if you have a 10.2GB drive, it will look like only 7.8GB or
> thereabouts
> >is accessible.  To bypass this PC limitation, specific hard drive
> parameters
> >must be passed to the Linux kernel upon booting, and then can be hard
> coded into
> >/etc/lilo.conf.  Keep in mind that in order to boot Linux, the boot code
> (i.e.
> >/boot) must be within the first 8GB of the hard drive.  I have seen a
> number of
> >references to booting multiple OS or rather having problems doing this,
> and all
> >I can say is that it is some work but it is possible.  I currently have 4
> >operating systems installed on the Armada and can boot directly into any
> one of
> >them using LILO.  One of the most helpful hints about accomplishing this
> came
> >from p.40 in the Partition Magic documention.  It discusses limitations
> about
> >specific operating systems in terms of how far out on the hard drive the OS

> >can extend and still be bootable.

> >     Linux has a command (if you installed the hdparm-3.3-2.i386.rpm)
> called
> >hdparm which can be used to query the hard drive directly to gather actual
> >parameters.  In particular you want to issue the command "hdparm -i
> /dev/hda"
> >(assuming you are working with the first IDE hard drive).  The information
> that
> >is needed to calculate the correct parameters for the Linux kernel are
> "RawCHS"
> >and "LBASect".  What I will do is work through my actual example as I
> believe
> >this will be helpful to others.  When issuing the hdparm command my hard
> drive
> >returned:

> >    RawCHS = 27390/16/63        # These numbers are cylinders, heads,
> sectors
> >    LBASect = 27609120

> >    Using the same principle of how LBA works, I took 27609120 / (240 x 63)

> =
> >1826.  You might be wondering where I got 240 from.  This number is the
> largest
> >number that 16 divides into evenly.  In fact, this is the one minor
> correction
> >that I wanted to make to Raphael's posting where he suggested using (255 x
> 63).
> >The number 255 actually gives some errors/warnings when using the Linux
> fdisk
> >about partitions having diferent physical and logical cylinder endings.  I
> don't
> >recall the exact information returned from fdisk, but the the numbers I
> used
> >were actually confirmed using a "partition information" tool from the
> Partition
> >Magic software package.  Here again, mathematically speaking,  27390 x 16
> is the
> >same as 1826 x 240.  Also notice that 27390 / 1826 = 15.  If you take 16
> (the
> >real number of heads on the drive) x 15 = 240.  Everything must work out
> >perfectly so that each OS has the same view of the hard drive and no OS
> writes
> >onto a part of the hard drive that another OS owns.

> >    So the question remains how do I force Linux to see the whole drive.
> >Initially you will have to boot and install a minimal RedHat configuration
> so
> >you can use the "hdparm" command.  Once you have gotten those numbers, use
> the
> >boot diskette again and at the boot prompt, pass your newly calculated
> >parameters.  In my scenario, I did the following:

> >boot:  linux hda=1826,240,63

> >Linux then happily booted, could see the entire hard drive, and I could use

> >fdisk to partition the hard drive as I wanted to.  Once the system is
> built you
> >can either pass those parameters to LILO directly (there is a place during
> the
> >installation to pass kernel parameters) or add the following to
> /etc/lilo.conf:

> >    append="hda=1826,240,63"      (or whatever your parameters need to be)

> >My /etc/lilo.conf entry looks like this:

> >    boot=/dev/hda
> >    map=/boot/map
> >    install=/boot/boot.b
> >    prompt
> >    other=/dev/hda1
> >        label=freebsd
> >        table=/dev/hda
> >    other=/dev/hda2
> >        label=dos
> >        table=/dev/hda
> >    other=/dev/hda3
> >        label=winnt
> >        table=/dev/hda
> >    image=/boot/vmlinuz-2.0.36-0.7
> >        label=linux
> >        root=/dev/hda5
> >        append="hda=1826,240,63"
> >        read-only

> >This seemed to do it for me and I hope this writeup has been beneficial.
> I have
> >been working with Linux since early 1990 and thought it was about time I
> gave
> >something back.

> >- Tim


 
 
 

1 step forward, 5 steps back - newbie HD problems - please help!

Post by Tyle » Wed, 07 Apr 1999 04:00:00


I do know, from this weeks experience, that to get (RH 5.2) Linux's Fdisk to
read 10+ G HD's you need to go into expert mode and set the correct number
of cylinders.  It doesn't detect it correctly and assumes 1024 cyl. (8G).
Someone said for LBA enabled drives you can use 1280 but I don't know if
that is true.  I had to use 2748 which is the number of repoted cylinders
from Partition Magic.   Someone correct me if I'm mis-informing ppl.... :)

-Tyler


>[sigh]

>my own personal linux saga continues. I started 2 weeks ago, only to find
>that the new drive I had bought was defective. So, I shipped it back and
got
>a new one. Initially, linux wasn't sensing the drive geometry correctly,
>reporting fewer cylinders than it should have. Turned out to be a simple
>jumper problem (I had misread my documentation), and I thought evething was
>fine. Unfortunately, to my chagrin, it isn't.

>Here's the problem: I have a 10G HD that I'm dedicating just to linux (IBM
>Deskstar 10GXP). It's set up as the primary slave (cable select jumper
>setting), and BIOS seems to be sensing it OK, i.e. it reports the correct
>size.

>When I start up linux, as it's booting up it correctly reports the drive's
>(hdb on my system) size and partitions. So far, so good. However, when I go
>into Druid or Fdisk to find out what the sizes of my partitions are, 2 G of
>my drive are not accounted for, i.e. the total amount of allocatable space
>is ~ 8G! I am pretty much at my wits end here - and would appreciate any
>help anyone might have to offer. Specifically, what I'm wondering is
whether
>I ought to use the linux hd=c,h,s command at install time. But, as I said,
>these #s seem to be reported correctly by the programs!

>Other relevant info: the drive has LBA enabled, and is purely linux - I
have
>installed nothing else on it. All advice/guidance is really appreciated.
>Thanks!

>JR

 
 
 

1. one step forward, two steps back

I had to place the kernel on a non root fs for my raid set which would
include root.

I edited /etc/rc to have kvm_mkdb /boot/bsd

but now I am getting savecore errors

savecore: /bsd: kvm_openfiles: /bsd: No such file or directory

I have tried doing savecore -c /boot/bsd and savecore -f /boot/bsd and that
didnt work either?

any ideas?

2. Install RedHat5.0 in a COMPAQ ProLiant 3000

3. one step forward, two steps back..

4. PPPoE on Mandrake Linux 9

5. NT:One Step Forward,Two Steps Back

6. ANNOUCEMENT: XPipeman2

7. Two steps forward: two steps back.

8. not yet supported USB-Ethernet adapter

9. Step by Step IPChains setup? Total Newbie here

10. Securing Solaris (HELP ME)Step by Step?????????

11. Seeking step by step help with Postgres and Php in Redhat6.0

12. Help: Step by step Token Ring for 2.0.27 (RedHat)

13. Step-by-Step Apache install HELP?