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