]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
Der Grub findet leider ohne diesen Patch nicht die richtige Partition.
authorms <ms@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Sun, 14 Oct 2007 10:59:34 +0000 (10:59 +0000)
committerms <ms@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Sun, 14 Oct 2007 10:59:34 +0000 (10:59 +0000)
git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@969 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8

lfs/grub
src/patches/grub-0.93-special-device-names.patch [new file with mode: 0644]

index 190488a2f3958adc8ad927f09a72c697209ec915..979dbe9d2c411a7b4efdcdeac12eaf09e2f4c29e 100644 (file)
--- a/lfs/grub
+++ b/lfs/grub
@@ -78,6 +78,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-0.93-graphics-bootterm.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-0.95-xpmjunk.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-0.95-splash-error-term.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-0.93-special-device-names.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-0.95-moreraid.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-0.94-i2o.patch
 
@@ -96,8 +97,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        for i in $(DIR_SRC)/config/grub/*; do \
            [ -f $$i ] && cp -f $$i /boot/grub; \
        done
-       
-       /usr/sbin/grub-set-default 1
 
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
diff --git a/src/patches/grub-0.93-special-device-names.patch b/src/patches/grub-0.93-special-device-names.patch
new file mode 100644 (file)
index 0000000..894f3e8
--- /dev/null
@@ -0,0 +1,18 @@
+--- grub-0.93/lib/device.c.raid        2002-05-20 05:53:46.000000000 -0400
++++ grub-0.93/lib/device.c     2002-12-28 23:24:10.000000000 -0500
+@@ -689,7 +689,14 @@
+       if (strcmp (dev + strlen(dev) - 5, "/disc") == 0)
+       strcpy (dev + strlen(dev) - 5, "/part");
+     }
+-  sprintf (dev + strlen(dev), "%d", ((partition >> 16) & 0xFF) + 1);
++
++  sprintf (dev + strlen(dev), "%s%d", 
++         /* Compaq smart and others */
++         (strncmp(dev, "/dev/ida/", 9) == 0 ||
++          strncmp(dev, "/dev/ataraid/", 13) == 0 ||
++          strncmp(dev, "/dev/cciss/", 11) == 0 ||
++          strncmp(dev, "/dev/rd/", 8) == 0) ? "p" : "",
++         ((partition >> 16) & 0xFF) + 1);
+   
+   /* Open the partition.  */
+   fd = open (dev, O_RDWR);