Well said Scott,
You have solved my problem and then some.
always a pleasure to be given more than you ask for.
With a few more words and some cursory info this would make for a fine howto
setup dual boot W$ and Linux.
Rob from no.weare
Behalf Of Benjamin Scott
Sent: Wednesday, November 22, 2000 9:45 AM
To: Greater NH Linux Users' Group
Subject: Re: several messages
On Tue, 21 Nov 2000, Rob Yelle wrote:
> I have partitioned the drive into 2 (10 gig for the windows fat32
> partition and 10gig for the linux)
I recommend at least three partitions for Linux (minimum):
- A small partition, 20 MB or so, mounted on /boot, for holding
kernels, ramdisk images, and the LILO boot map.
- A swap partition at least as big as your physical RAM.
- The rest of the space you want dedicated to Linux on /.
I recommend making the boot partition a primary partition. The others can
be logical partitions contained in an extended partition.
> I have run into a snag very early on in a custom install
> when I get to the partitioning piece of the redhat install it says the
> /boot partition is too big.
It isn't that /boot is too big, it is that it exists above the 1024
cylinder
limit of the IBM-PC BIOS. LILO, like any boot loader, has to use the BIOS
to
read the boot files from the disk. This is the problem you are
encountering.
(Incidentally, MS Windows has the same limit.)
TECHNICAL BACKGROUND
You can skip this part of if you are not interested in the nitty-gritty...
The BIOS provides a software interrupt vector, number 0x13 hex (usually
called INT13), for access to fixed disks. Any program which uses the BIOS
for
disk I/O has to use this interface. The problem is, INT13 is designed
around
the hard disk drives of 1982 or so, and addresses the disk by cylinder,
head,
and sector (CHS). The "cylinder" field cannot be larger than 1023 (and is
counted from zero), so the BIOS can provide access to a maximum of 1024
cylinders.
To work around this problem, hard drive and BIOS manufacturers
incorporated
something called "geometry translation". Basically, it rearranges the CHS
values to get a little more life out of the INT13 interface. This is why
you
see the BIOS reporting hard drives with things like 255 heads. There are
probably only five or six heads, max, but the firmware "translates" the
cylinders over 1024 into extra heads. (This is a simplification, but it
will
do.)
This limit was first encountered with IDE drives at around 528 MB, IIRC.
Geometry translation fixed this limit. (SCSI drives did not hit *that*
limit,
because they already had to create an imaginary geometry. (SCSI drives do
not
use CHS to address the disk.))
We have now encountered a second limit. Using all bits in all three CHS
fields, you can only address 8 GB or so. This is an absolute limit for
INT13.
Geometry translation cannot help.
To work around *this* limit, you have to use a different BIOS interface.
Recent BIOSes and motherboards (built after 1995 or so) support something
called LBA (Logical Block Addressing). It treats the disk as one big array
of
blocks, numbered from zero to <some large number>. If your software (i.e.,
your boot loader) is smart enough to use this interface, you can access
something like 2000 GB of storage via the BIOS.
BACK TO YOUR PROBLEM
You need to find space below the 8 GB mark for your Linux boot partition.
If you have a program like Partition Magic or GNU parted, you can move the
Windows partition up by 20 MB or so, and then create the boot partition
below
that.
Otherwise, you will have to delete your Windows partition -- this will
DESTROY ALL DATA on that partition -- and recreate it with space before it.
Then reinstall both OSes from scratch.
Alternatively, recent versions of LILO support the new BIOS calls that
bypass the 1024 cylinder limit. However, you then run into a
chicken-and-egg
problem: You cannot install the OS without LILO, and you cannot update LILO
without an OS. You will have to install Linux but tell it to boot from
floppy
disk. Once the system is up and running (booted from floppy, but running
from
the hard disk), you can download a new version of LILO and use that.
On Tue, 21 Nov 2000, Kurth Bemis wrote:
> try moving your windows partition to your second partition. fdisk and/or
> disk druid can't make bootable partitions beyond the 1024 cyl.
It has nothing to do with the partition table editor; it is a limit of the
system firmware (BIOS).
On Tue, 21 Nov 2000, Ken Ambrose wrote:
> I also suggest not moving the partition, 'cause weird things happen when
> you change the order of 'em -- I speak, alas, from unfortunate
> experiences.
He has not managed to install Linux yet, so Linux will not be an issue.
Windows NT 4.0 ignores Linux partitions completely, so the drive letters
would not change if you did this.
I do not know about Windows NT 5.0 (AKA Windows 2000).
> Looks like the current LILO rev is 21.6 (wups!), and "LILO is capable of
> booting beyond cylinder 1024 of a hard disk if the BIOS supports EDD
> packet call extensions to the int 0x13 interface." Wha? Can anyone
> translate that last bit, there?
EDD is one of the names for the new BIOS interface for LBA I described
above. I have yet to find out what it stands for.
On Wed, 22 Nov 2000, Jerry Feldman wrote:
> This is no longer a restriction. You can always use the linear option on
> the older LILOs.
Not quite.
In most cases, the "linear" option causes LILO to translate Linux's LBA
notation to the BIOS's CHS notation at runtime. It does *NOT*, however,
bypass the CHS interface and its accompanying limits. You need the newer
"lba32" (or "lba") option for that. However, some versions of LILO were
patched to support LBA using the "linear" option, so Jerry's advice may be
valid in some cases. This syntax is no longer supported in the "official"
LILO distribution, though, so I recommend against it.
**********************************************************
To unsubscribe from this list, send mail to
[EMAIL PROTECTED] with the following text in the
*body* (*not* the subject line) of the letter:
unsubscribe gnhlug
**********************************************************