Thanks, adrian15!  Your info was able to help me drill down farther to the
error.

It looks like grub is hanging on this line of the source:
file: stage2/bios.c
line: err = biosdisk_int13_extensions ((read + 0x42) << 8, drive, &dap);

biosdisk_int13_extensions is an assembler function, so I'm not really sure
how to figure out what line in the assembly it is hanging on.

If anyone has any ideas on what is happening in this function, or how to
possibly debug this further I'm all ears.


adrian15,
You mentioned that to work around this error I should link the stage1 to the
stage2 directly.  I'm not exactly sure how to do this.  Do you have a link
to where this is in the documentation?

I have of source tried in the past to rerun grub-install and also the manual
grub command to install, but this never had any effect.  I have also tried
to zero out grub in the MBR using dd and reinstall and this also never
worked.


Tracy,
I think that your issue may be different than mine, but I'm not 100% sure on
that.  I have read that if your grub directory becomes corrupt this can
cause the hang as well.  In my case, I have verified that there is no
difference in the files between a working and non-working setup, so
corruption isn't to blame.

Are you sure that the USB device you are installing grub on isn't buggy?  I
would try to recreate your filesystem and check for badblocks.



Thanks,
Mike


--
On 10/28/07, adrian15 <[EMAIL PROTECTED]> wrote:
>
> Michael L. Gualtieri escribió:
> > Hi all,
> >
> > I'm curious if anyone has a fix, workaround, or advice for the "grub
> > loading stage1.5" hanging error.  This occurs sometimes on fresh
> > grub-installs, where grub never loads, and instead hangs on this text
> > with no error message:
> >
> > GRUB loading stage 1.5
> > GRUB loading, please wait...
>
> A workaround solution is to delete or rename the stage1_5 file and make
> link the stage1 to the stage2 directly by running root and setup
> commands again.
>
> > I have done some debugging of the grub source to find out where the
> > freeze happens.  I traced it to this line:
> >
> > file: stage2/disk_io.c
> > fuction: int grub_open (char *filename)
> > line: if (!errnum && (*(fsys_table[fsys_type].dir_func)) (filename))
> >
> > In particular it hangs at this part of the if statement:
> > (*(fsys_table[fsys_type].dir_func)) (filename)
>
> This code, if you are trying to read a file from an ext2 or ext3
> filesystem it runs:
>
> int
> ext2fs_dir (char *dirname)
>
> from the stage2/fsys_ext2fs.c file.
>
> You might try to find the hang there.
>
>
> adrian15
>
>
>
> _______________________________________________
> Bug-grub mailing list
> [email protected]
> http://lists.gnu.org/mailman/listinfo/bug-grub
>
_______________________________________________
Bug-grub mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-grub

Reply via email to