grub-devel
[Top][All Lists]
Advanced

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

GRUB2 Reading floppy but not HD


From: Steve Croom III
Subject: GRUB2 Reading floppy but not HD
Date: Thu, 30 Dec 2004 23:51:52 -0500

Hello,

I am having a small problem with GRUB2 reading my HD.
Mr. Gerards ask me to post it here, what we were talking on IRC
Here is the info as to what I have and then what is going on:
12/29/04 CVS GRUB2 checkout..
P5-266 with a 2.5 HD, grub2 on floppy (fd0)   

I built GRUB2 with no errors and loaded it on an floppy w/ all the mod's
After booting off the floppy I get this screen and do the following
commands
And you can see what happens:
------------------------------------------------------------------------
---------------------------------------
                         GNU GRUB  version 1.90

 [ Minimal BASH-like line editing is supported. For the first word, TAB
   lists possible command completions. Anywhere else TAB lists possible
   device/file completions. ]

grub> insmod boot
grub> insmod linux
grub> insmod ls
grub> ls
(fd0) (hd0)
grub> ls /
grub/ vmlinuz initrd-2.4.23.img
grub> ls (fd0)/
grub/ vmlinuz initrd-2.4.23.img
grub>ls (hd0,0)/
alloc magic is broken at 0x97ff0
------------------------------------------------------------------------
--------------------------------------
I put my vmlinuz and initrd on the floppy and I can load from the floppy
with no problems.
But I can not read off the HD... Grub leg has no problems doing this.
Here is the cmd line
/vmlinuz-2.4.23 ro root=LABEL=/ idebus=66

I added this small patch to boot.S so it would look the same as Leg grub
and still
Same results..
--- old-boot.S  2004-12-30 16:41:51.000000000 -0500
+++ boot.S      2004-12-30 17:14:06.000000000 -0500
@@ -108,6 +108,15 @@
 /* general setup */
        cli             /* we're not safe here! */

+        /*
+         * This is a workaround for buggy BIOSes which don't pass boot
+         * drive correctly. If GRUB is installed into a HDD, do
+         * "orb $0x80, %dl", otherwise "orb $0x00, %dl" (i.e. nop).
+         */
+        .byte   0x80, 0xca
+boot_drive_mask:
+        .byte   0x00
+
        /*
         * ljmp to the next instruction because some bogus BIOSes
         * jump to 07C0:0000 instead of 0000:7C00.

I see where the "alloc is broken." message is in mm.c and dealing with 
"get_header_from_pointer(void *ptr, grub_mm_header_t *p,
grub_mm_region_t *r)"
I am trying to look at this to see what is going on...??????????


Thank you
Steve








reply via email to

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