]> xenbits.xensource.com Git - people/pauldu/xen.git/commitdiff
pvgrub: Allow to work with a partitionless virtual disc.
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 18 Sep 2008 09:43:08 +0000 (10:43 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 18 Sep 2008 09:43:08 +0000 (10:43 +0100)
From: Bastian Blank <bastian@waldi.eu.org>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
stubdom/grub.patches/50fs_fulldisk.diff [new file with mode: 0644]

diff --git a/stubdom/grub.patches/50fs_fulldisk.diff b/stubdom/grub.patches/50fs_fulldisk.diff
new file mode 100644 (file)
index 0000000..d0fbb07
--- /dev/null
@@ -0,0 +1,72 @@
+diff -urN grub-0.97.orig/stage2/fsys_ext2fs.c grub-0.97/stage2/fsys_ext2fs.c
+--- grub-0.97.orig/stage2/fsys_ext2fs.c        2004-08-08 18:19:18.000000000 +0000
++++ grub-0.97/stage2/fsys_ext2fs.c     2008-09-16 19:31:15.000000000 +0000
+@@ -254,7 +254,7 @@
+ {
+   int retval = 1;
+-  if ((((current_drive & 0x80) || (current_slice != 0))
++  if ((((current_slice != 0))
+        && (current_slice != PC_SLICE_TYPE_EXT2FS)
+        && (current_slice != PC_SLICE_TYPE_LINUX_RAID)
+        && (! IS_PC_SLICE_TYPE_BSD_WITH_FS (current_slice, FS_EXT2FS))
+diff -urN grub-0.97.orig/stage2/fsys_fat.c grub-0.97/stage2/fsys_fat.c
+--- grub-0.97.orig/stage2/fsys_fat.c   2005-03-15 16:52:00.000000000 +0000
++++ grub-0.97/stage2/fsys_fat.c        2008-09-16 19:31:26.000000000 +0000
+@@ -70,7 +70,7 @@
+   __u32 magic, first_fat;
+   
+   /* Check partition type for harddisk */
+-  if (((current_drive & 0x80) || (current_slice != 0))
++  if (((current_slice != 0))
+       && ! IS_PC_SLICE_TYPE_FAT (current_slice)
+       && (! IS_PC_SLICE_TYPE_BSD_WITH_FS (current_slice, FS_MSDOS)))
+     return 0;
+diff -urN grub-0.97.orig/stage2/fsys_ffs.c grub-0.97/stage2/fsys_ffs.c
+--- grub-0.97.orig/stage2/fsys_ffs.c   2003-07-09 11:45:52.000000000 +0000
++++ grub-0.97/stage2/fsys_ffs.c        2008-09-16 19:31:32.000000000 +0000
+@@ -82,7 +82,7 @@
+ {
+   int retval = 1;
+-  if ((((current_drive & 0x80) || (current_slice != 0))
++  if ((((current_slice != 0))
+        && ! IS_PC_SLICE_TYPE_BSD_WITH_FS (current_slice, FS_BSDFFS))
+       || part_length < (SBLOCK + (SBSIZE / DEV_BSIZE))
+       || !devread (SBLOCK, 0, SBSIZE, (char *) SUPERBLOCK)
+diff -urN grub-0.97.orig/stage2/fsys_minix.c grub-0.97/stage2/fsys_minix.c
+--- grub-0.97.orig/stage2/fsys_minix.c 2003-07-09 11:45:53.000000000 +0000
++++ grub-0.97/stage2/fsys_minix.c      2008-09-16 19:32:01.000000000 +0000
+@@ -160,7 +160,7 @@
+ int
+ minix_mount (void)
+ {
+-  if (((current_drive & 0x80) || current_slice != 0)
++  if ((current_slice != 0)
+       && ! IS_PC_SLICE_TYPE_MINIX (current_slice)
+       && ! IS_PC_SLICE_TYPE_BSD_WITH_FS (current_slice, FS_OTHER))
+     return 0;                 /* The partition is not of MINIX type */
+diff -urN grub-0.97.orig/stage2/fsys_ufs2.c grub-0.97/stage2/fsys_ufs2.c
+--- grub-0.97.orig/stage2/fsys_ufs2.c  2004-06-19 12:17:52.000000000 +0000
++++ grub-0.97/stage2/fsys_ufs2.c       2008-09-16 19:32:32.000000000 +0000
+@@ -87,7 +87,7 @@
+   sblockloc = -1;
+   type = 0;
+   
+-  if (! (((current_drive & 0x80) || (current_slice != 0))
++  if (! (((current_slice != 0))
+        && ! IS_PC_SLICE_TYPE_BSD_WITH_FS (current_slice, FS_BSDFFS)))
+     {
+       for (i = 0; sblock_try[i] != -1; ++i)
+diff -urN grub-0.97.orig/stage2/fsys_vstafs.c grub-0.97/stage2/fsys_vstafs.c
+--- grub-0.97.orig/stage2/fsys_vstafs.c        2003-07-09 11:45:53.000000000 +0000
++++ grub-0.97/stage2/fsys_vstafs.c     2008-09-16 19:32:39.000000000 +0000
+@@ -47,7 +47,7 @@
+ {
+   int retval = 1;
+   
+-  if( (((current_drive & 0x80) || (current_slice != 0))
++  if( (((current_slice != 0))
+        && current_slice != PC_SLICE_TYPE_VSTAFS)
+       ||  ! devread (0, 0, BLOCK_SIZE, (char *) FSYS_BUF)
+       ||  FIRST_SECTOR->fs_magic != 0xDEADFACE)