[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RE: linux + win95: linux boot partition/



On Wed, 15 Jul 1998, Nils Rennebarth wrote:

>>On Wed, Jul 15, 1998 at 08:39:00AM -0400, Richardson,Anthony wrote:
>> The 1024 problem is a very "real" one.
>Please, it really occurs in very few systems/configurations. It had been   
a
>problem for me occasinally because of some older mainboards lying around
>here. It is no problem with harddisks and mainboards bought over the   
last
>three years.

Sorry. I've still got a couple of old systems that I've added larger hard
drives too and the 1024/528 MB problem is one I've run into several   
times.
As larger hard drives become more common, maybe soon we'll be talking   
about
the 1024/8 GB problem. As in "Help I've installed Linux in the last 1 GB   
of
my 10 GB drive and LILO won't boot it."

>> that the BIOS uses. You can fix this by 1) passing the BIOS
>> geometry to the kernel as a boot option, 2) telling LILO
>> the BIOS geometry through LILO config options, 3)using LILO's
>> "linear" option which causes LILO to record linear sector
>> numbers in the map file instead of cylinder/head/sector
>> locations. I prefer option 1) because fdisk will also use the
>> "correct" geometry. Option 3) just postpones conversion of sector
>> numbers to C/H/S locations until boot time (when LILO can get
>> the BIOS geometry directly from the BIOS). It doesn't solve
>> the 1024 cylinder problem (which is a 528 MB or an 8 GB
>> problem depending on your BIOS).
>The last sentence is wrong. In case of LBA, BIOS as well as LILO to use
>linear sector numbers. The conversion is made in the drive itself, in a   
way
>noone else needs to be interested in.
>
>In short: Select LBA in the BIOS and linear als lilo option. Thats it.

I'll stand by my last sentence based on the LILO documentation and my
understanding of disk access through the BIOS (which comes from The
Undocumented PC).

LILO use BIOS routines to read sectors from the disk. Those
BIOS routines are all based on CHS addressing not LBA. Most modern IDE
disk can be addressed using either CHS or LBA (SCSI just use LBA). When
LBA mode is enabled in the BIOS, the BIOS converts the CHS address to an
LBA one to talk to the disk. In summary, programs communicate to the
BIOS using CHS, if LBA is enable the BIOS communicates to the disk using
LBA. The BIOS has to convert the CHS address to an LBA one.

The "linear" LILO option doesn't solve or fix anything. It causes sector
addresses to be written to the map file in LBA form.  At boot time LILO
gets the CHS geometry from the BIOS and converts the LBA addresses to CHS
ones so that it can call the BIOS routines to read sectors from the disk.
(The BIOS then converts this to LBA to communicate with the disk if LBA   
is
emabled.) You can avoid using "linear" by getting the LILO and BIOS
geometries to match. (Specifying "linear" has the disadvantage of slowing
down the boot process - although the slow down is completely   
insignificant.)
I'd rather get the geometries to match not only for LILO but also for
fdisk/cfdisk. fdisk is important if you are also running DOS on the same
machine.

Tony Richardson


--  
Unsubscribe?  mail -s unsubscribe debian-user-request@lists.debian.org < /dev/null


Reply to: