[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] PV-GRUB - Does not read partition-less disk
On Fri, Sep 12, 2008 at 09:38:36PM +0200, Samuel Thibault wrote: > Bastian Blank, le Fri 12 Sep 2008 21:16:36 +0200, a Ãcrit : > > Anyway, I found it. It is buried in the filesystem modules of grub in > > the mount hook. > Cool, I currently don't have much time to spend on these :) Patch. Bastian diff -r 8abe082246d0 stubdom/grub.patches/50fs_fulldisk.diff --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/stubdom/grub.patches/50fs_fulldisk.diff Wed Sep 17 22:07:03 2008 +0200 @@ -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) -- All your people must learn before you can reach for the stars. -- Kirk, "The Gamesters of Triskelion", stardate 3259.2 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |