bug-grub
[Top][All Lists]
Advanced

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

"Error 21" with JMicron BIOS


From: Michael Brown
Subject: "Error 21" with JMicron BIOS
Date: Wed, 26 Sep 2007 03:15:50 +0100 (BST)

I have a system on which LILO succeeds but grub fails after loading stage 
1.5 with a message reading simply "Error 21".  I have tracked this down to 
the fact that the INT 13,08 call to determine the (non-LBA) disk geometry 
is returning %ah=0x03, even though the call succeeds.

The following patch works around the problem and enables grub to boot the 
system.  However, it clearly isn't a proper fix.

Index: stage2/bios.c
===================================================================
RCS file: /sources/grub/grub/stage2/bios.c,v
retrieving revision 1.16
diff -u -r1.16 bios.c
--- stage2/bios.c       27 Mar 2004 17:02:54 -0000      1.16
+++ stage2/bios.c       26 Sep 2007 02:08:19 -0000
@@ -273,8 +273,8 @@
                                   &geometry->cylinders,
                                   &geometry->heads,
                                   &geometry->sectors);
-      if (err)
-       return err;
+      //      if (err)
+      //       return err;
 
       if (! total_sectors)
        {



I don't know what the preferred proper fix would be.  One option would be 
to attempt INT 13,08 only if we can't get the geometry via INT 13,48.

Comments from any grub developers?  If you let me know what you'd like the 
fix to be, I'll code it up and test it on this system.

Michael Brown
Etherboot Project




reply via email to

[Prev in Thread] Current Thread [Next in Thread]