bug-grub
[Top][All Lists]
Advanced

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

Re: grub crashes. Crash as in causes the PC to reboot.


From: James Courtier-Dutton
Subject: Re: grub crashes. Crash as in causes the PC to reboot.
Date: Sat, 03 Jan 2004 02:45:28 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6b) Gecko/20031208 Thunderbird/0.4

Hi, I have found what I think the problem is.
http://mail.gnu.org/archive/html/bug-grub/2001-08/msg00144.html

I have an "Adaptec AHA-2940", and I suspect it has the same problems as the "Adaptec AHA-2940UW" owned by the person who wrote that article.

I will try to find out some way for grub to auto-detect this bios, and therefore avoid the buggy calls.

One strange thing is that I thought that SCSI drives only used LBA, so I don't know what is supposed to happen if we try to access INT13 calls using heads/cylinders etc.

Cheers
James


James Courtier-Dutton wrote:
I have 2 Hard discs.
hd0 is IDE.
hd1 is SCSI   The SCSI controller is a very old Adaptec AHA-2940.


After booting from a floppy containing grub: -

grub> geometry (hd0)
Displays geometry and returns to grub> prompt.
grub> geometry (hd1)
Displays geometry and causes an immeadiate reboot!

It is only the SCSI drive that has problems.

hd1 has only one primary partition, containing a FAT32 formatted partition with Windows 98 on it.

 From looking at the grub source code, it looks like: -
File is stage2/builtins.c

/* geometry */
static int
geometry_func (char *arg, int flags)
{

<snip>
  grub_printf ("drive 0x%x: C/H/S = %d/%d/%d, "
               "The number of sectors = %d, %s\n",
               current_drive,
               geom.cylinders, geom.heads, geom.sectors,
               geom.total_sectors, msg);
  real_open_partition (1);


  return 0;
}


So, as it gets and actually prints that information from the grub_printf, my guess is the problem is in real_open_partition(1).

What exactly does real_open_partition(1) do, and can I remove that line for test purposes?

If by removing it, the geometry command works, I can then look at the real_open_partition function, and add a few grub_printf's to see where it reboots. Does grub have a "grub_pause_for_1_second" function? That would also help by giving me a chance to see what is printed before the reboot.

Cheers
James


_______________________________________________
Bug-grub mailing list
address@hidden
http://mail.gnu.org/mailman/listinfo/bug-grub







reply via email to

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