bug-grub
[Top][All Lists]
Advanced

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

Thinkpad X20 can't boot (stage2/bios.c)


From: HORIKAWA Kazunori
Subject: Thinkpad X20 can't boot (stage2/bios.c)
Date: Wed, 13 Dec 2000 01:04:53 +0900
User-agent: Wanderlust/2.4.0 (Rio) EMY/1.13.9 (Art is long, life is short) FLIM/1.14.0 (Ninokuchi) APEL/10.2 MULE XEmacs/21.1 (patch 12) (Channel Islands) (i386-debian-linux)

Thinkpad X20 can't boot with GRUB.
GRUB reboots at stage2/bios.c:get_diskinfo().
if add dummy[10] to 'struct drive_parameters', GRUB boots fine.

below is a debug result
-------------------------------------------------------------
PC:thinkpad X20
grub> geometory (hd0)
version:48
0 0 0 0 0 bf 0 0 0 0     <------ bf? garbage?

PC:VAIO726
grub> geometry (hd0)
version:33
0 0 0 0 0 0 0 0 0 0      <------- OK


debug patch
--- grub-0.5.96.1-cvs.orig/stage2/bios.c        Sat Nov 11 00:33:10 2000
+++ grub-0.5.96.1-cvs/stage2/bios.c     Tue Dec 12 23:49:45 2000
@@ -134,6 +134,7 @@
       unsigned long total_sectors = 0;
       
       version = check_int13_extensions (drive);
+      printf("version:%d\n", version);
       if (version)
        {
          struct drive_parameters
@@ -157,10 +158,27 @@
            unsigned char device_path[8];
            unsigned char reserved2;
            unsigned char checksum;
+           unsigned char dummy[10];
          } drp;
          
+         {
+           int i;
+           for (i = 0; i < sizeof(drp.dummy); i++)
+             {
+               drp.dummy[i] = 0;
+             }
+         }
          drp.size = sizeof (drp);
          err = get_diskinfo_int13_extensions (drive, &drp);
+         {
+           int i;
+           for (i = 0; i < sizeof(drp.dummy); i++)
+             {
+               printf("%x ", drp.dummy[i]);
+             }
+         }
+         printf("\n");
+
          if (! err)
            {
              /* Set the LBA flag.  */



reply via email to

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