[syslinux] BIOS disk geometry and Linux 2.6

Michael Brown Michael_E_Brown at Dell.com
Thu Feb 26 18:10:04 PST 2004


re-reading my message, I may have not been clear. :-(

The "this" I was referring to was your comboot proposal.

Although HPA's EDD suggestion has merit. 

You can also look at writing an (iirc) head.S or setup.S (one of those)
extension to drop the info about geometry into empty_zero_page, which is
then exported proc/sysfs.

Then, you can use the (recently added) disksig patch in conjunction with
this information to actually find the disk from early userspace and
"fix" the geometry.
--
Michael

On Thu, 2004-02-26 at 20:03, Brown, Michael E wrote:
> I have run into exactly this problem on several occasions, and it
> certainly does suck.
> 
> The way I fixed it was to write a small "force_255_heads" patch. It
> works for all IDE. I've also submitted a patch to libata so that all
> SATA drives have this geometry. This sounds slightly more useful.  
> 
> --
> Michael
> 
> 
> On Thu, 2004-02-26 at 18:49, Patrick J. LoPresti wrote:
> > 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
> > 
> > _______________________________________________
> > SYSLINUX mailing list
> > Submissions to SYSLINUX at zytor.com
> > Unsubscribe or set options at:
> > http://www.zytor.com/mailman/listinfo/syslinux
> > Please do not send private replies to mailing list traffic.
> > 
> 
> _______________________________________________
> SYSLINUX mailing list
> Submissions to SYSLINUX at zytor.com
> Unsubscribe or set options at:
> http://www.zytor.com/mailman/listinfo/syslinux
> Please do not send private replies to mailing list traffic.
> 




More information about the Syslinux mailing list