[syslinux] BIOS disk geometry and Linux 2.6

Patrick J. LoPresti patl at users.sourceforge.net
Thu Feb 26 16:49:40 PST 2004


I am working on a Linux-based boot disk for my project
(http://unattended.sourceforge.net/), and I have hit a snag.

Under Linux 2.6, the kernel (via HDIO_GETGEO) always reports the C/H/S
geometry of an IDE drive as X/16/63.  But most BIOSes want to use the
geometry Y/255/63.

Most partitioning tools (including Parted) will take clues from an
existing partition table and adapt to the BIOS values.  But if there
is no existing partition table, they cannot do that.

This matters because I am installing Windows while running Linux, not
unlike this other person:

  http://www.ussg.iu.edu/hypermail/linux/kernel/0312.2/0230.html

I can confirm that if I create a partition under Linux, format it, and
run the Windows installer under dosemu, Windows is not able to boot.
If I create the partition table under real DOS first, everything works
fine.

Now for the on-topic part of this message.  What I want to do is
invoke INT13/AH=08H in real mode to obtain the BIOS's idea of the
geometry of disk 0x80, then boot Linux and pass that information in as
a kernel command-line parameter.

My question is, can I do this with COMBOOT?

If not, does anybody have any other ideas?  This is a real
show-stopper for me...

Thanks!

 - Pat




More information about the Syslinux mailing list