[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- GRUB2 Reading floppy but not HD,
Steve Croom III <=