xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH, PV-GRUB DOC] Add details to PV-GRUB documentation
@ 2010-03-03 19:45 Samuel Thibault
  2010-03-03 22:48 ` Jeremy Fitzhardinge
  2010-03-07 22:45 ` [PATCH, PV-GRUB] Fix gzip support and iso support on x86_64 Samuel Thibault
  0 siblings, 2 replies; 6+ messages in thread
From: Samuel Thibault @ 2010-03-03 19:45 UTC (permalink / raw)
  To: xen-devel

Add a couple of documentation details about PV-GRUB support

- the menu.lst content can be passed as a ramdisk.
- virtual partitions are not supported.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

diff -r b8d2a4134a68 stubdom/README
--- a/stubdom/README	Wed Mar 03 17:41:58 2010 +0000
+++ b/stubdom/README	Wed Mar 03 20:42:53 2010 +0100
@@ -52,11 +52,17 @@
 
 extra = "(hd0,0)/boot/grub/menu.lst"
 
-you can also use a tftp path (dhcp will be automatically performed):
+or you can provide the content of a menu.lst stored in dom0 by passing it as a
+ramdisk:
+
+ramdisk = "/boot/domU-1-menu.lst"
+
+or you can also use a tftp path (dhcp will be automatically performed):
 
 extra = "(nd)/somepath/menu.lst"
 
-or you can set it in option 150 of your dhcp server and leave extra empty
+or you can set it in option 150 of your dhcp server and leave extra and ramdisk
+empty (dhcp will be automatically performed)
 
 Limitations
 ===========
@@ -69,6 +75,13 @@
 - bootsplash is supported, but the ioemu backend does not yet support restart
 for use by the booted kernel.
 
+- PV-GRUB doesn't support virtualized partitions. For instance:
+
+disk = [ 'phy:hda7,hda7,w' ]
+
+will be seen by PV-GRUB as (hd0), not (hd0,6), since GRUB will not see any
+partition table.
+
 
                                 Your own stubdom
                                 ================

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH, PV-GRUB DOC] Add details to PV-GRUB documentation
  2010-03-03 19:45 [PATCH, PV-GRUB DOC] Add details to PV-GRUB documentation Samuel Thibault
@ 2010-03-03 22:48 ` Jeremy Fitzhardinge
  2010-03-03 22:59   ` Samuel Thibault
  2010-03-07 22:45 ` [PATCH, PV-GRUB] Fix gzip support and iso support on x86_64 Samuel Thibault
  1 sibling, 1 reply; 6+ messages in thread
From: Jeremy Fitzhardinge @ 2010-03-03 22:48 UTC (permalink / raw)
  To: Samuel Thibault, xen-devel

On 03/03/2010 11:45 AM, Samuel Thibault wrote:
> Add a couple of documentation details about PV-GRUB support
>
> - the menu.lst content can be passed as a ramdisk.
> - virtual partitions are not supported.
>    

BTW, I had a problem with pvgrub with an ext4 /boot, where it hung 
indefinitely after starting.  It seemed to be spinning in a readdir loop 
on a zero-length directory entry.  The directory in question was a 
single extent.

Does pvgrub support ext4 /boot?

Thanks,
     J

> Signed-off-by: Samuel Thibault<samuel.thibault@ens-lyon.org>
>
> diff -r b8d2a4134a68 stubdom/README
> --- a/stubdom/README	Wed Mar 03 17:41:58 2010 +0000
> +++ b/stubdom/README	Wed Mar 03 20:42:53 2010 +0100
> @@ -52,11 +52,17 @@
>
>   extra = "(hd0,0)/boot/grub/menu.lst"
>
> -you can also use a tftp path (dhcp will be automatically performed):
> +or you can provide the content of a menu.lst stored in dom0 by passing it as a
> +ramdisk:
> +
> +ramdisk = "/boot/domU-1-menu.lst"
> +
> +or you can also use a tftp path (dhcp will be automatically performed):
>
>   extra = "(nd)/somepath/menu.lst"
>
> -or you can set it in option 150 of your dhcp server and leave extra empty
> +or you can set it in option 150 of your dhcp server and leave extra and ramdisk
> +empty (dhcp will be automatically performed)
>
>   Limitations
>   ===========
> @@ -69,6 +75,13 @@
>   - bootsplash is supported, but the ioemu backend does not yet support restart
>   for use by the booted kernel.
>
> +- PV-GRUB doesn't support virtualized partitions. For instance:
> +
> +disk = [ 'phy:hda7,hda7,w' ]
> +
> +will be seen by PV-GRUB as (hd0), not (hd0,6), since GRUB will not see any
> +partition table.
> +
>
>                                   Your own stubdom
>                                   ================
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
>
>    

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH, PV-GRUB DOC] Add details to PV-GRUB documentation
  2010-03-03 22:48 ` Jeremy Fitzhardinge
@ 2010-03-03 22:59   ` Samuel Thibault
  2010-03-03 23:04     ` Jeremy Fitzhardinge
  0 siblings, 1 reply; 6+ messages in thread
From: Samuel Thibault @ 2010-03-03 22:59 UTC (permalink / raw)
  To: Jeremy Fitzhardinge; +Cc: xen-devel

Jeremy Fitzhardinge, le Wed 03 Mar 2010 14:48:47 -0800, a écrit :
> On 03/03/2010 11:45 AM, Samuel Thibault wrote:
> >Add a couple of documentation details about PV-GRUB support
> >
> >- the menu.lst content can be passed as a ramdisk.
> >- virtual partitions are not supported.
> 
> BTW, I had a problem with pvgrub with an ext4 /boot, where it hung 
> indefinitely after starting.  It seemed to be spinning in a readdir loop 
> on a zero-length directory entry.  The directory in question was a 
> single extent.
> 
> Does pvgrub support ext4 /boot?

According to the ext4 howto, once extents are enabled, the filesystem
can not be mounted by ext2/3 tools: “If you convert your root
filesystem ("/") to ext4, and you use the GRUB boot loader, you will
need to install a version of GRUB which understands ext4. Your system
may boot OK the first time, but when your kernel is upgraded, it will
become unbootable.”

So I guess for now we at least need to document that ext4 is not
supported. The long-term plan could probably be to PV-ize grub2 of
course...

Samuel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH, PV-GRUB DOC] Add details to PV-GRUB documentation
  2010-03-03 22:59   ` Samuel Thibault
@ 2010-03-03 23:04     ` Jeremy Fitzhardinge
  2010-03-03 23:16       ` Samuel Thibault
  0 siblings, 1 reply; 6+ messages in thread
From: Jeremy Fitzhardinge @ 2010-03-03 23:04 UTC (permalink / raw)
  To: Samuel Thibault, xen-devel

On 03/03/2010 02:59 PM, Samuel Thibault wrote:
> According to the ext4 howto, once extents are enabled, the filesystem
> can not be mounted by ext2/3 tools: “If you convert your root
> filesystem ("/") to ext4, and you use the GRUB boot loader, you will
> need to install a version of GRUB which understands ext4. Your system
> may boot OK the first time, but when your kernel is upgraded, it will
> become unbootable.”
>
> So I guess for now we at least need to document that ext4 is not
> supported.

Yes.  It should also test the filesystem feature flags for features it 
doesn't support and give a useful error message (though I did finally 
work out how to use gdbsx while tracking this down).

>   The long-term plan could probably be to PV-ize grub2 of
> course...
>    

I suppose.  At least Fedora's grub1 supports ext4 (it was the F12 
installer which made this /boot); perhaps pvgrub needs a resync with 
upstream grub?

     J

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH, PV-GRUB DOC] Add details to PV-GRUB documentation
  2010-03-03 23:04     ` Jeremy Fitzhardinge
@ 2010-03-03 23:16       ` Samuel Thibault
  0 siblings, 0 replies; 6+ messages in thread
From: Samuel Thibault @ 2010-03-03 23:16 UTC (permalink / raw)
  To: Jeremy Fitzhardinge; +Cc: xen-devel

Jeremy Fitzhardinge, le Wed 03 Mar 2010 15:04:33 -0800, a écrit :
> >  The long-term plan could probably be to PV-ize grub2 of
> >course...
> 
> I suppose.  At least Fedora's grub1 supports ext4 (it was the F12 
> installer which made this /boot);

Ah, so we can probably steal their patch.

> perhaps pvgrub needs a resync with upstream grub?

Upstream has stopped all grub1 developments after 0.97.  Everything else
is patches on top of it in various distributions (see debian's 60th
version of package :) )

Samuel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH, PV-GRUB] Fix gzip support and iso support on x86_64
  2010-03-03 19:45 [PATCH, PV-GRUB DOC] Add details to PV-GRUB documentation Samuel Thibault
  2010-03-03 22:48 ` Jeremy Fitzhardinge
@ 2010-03-07 22:45 ` Samuel Thibault
  1 sibling, 0 replies; 6+ messages in thread
From: Samuel Thibault @ 2010-03-07 22:45 UTC (permalink / raw)
  To: xen-devel

Fix gzip support and iso support on x86_64

Signed-off-by: Samuel Thibault <sthibault@debian.org>

diff -r 8dada4c897c9 stubdom/grub.patches/99minios
--- a/stubdom/grub.patches/99minios	Sat Mar 06 13:31:42 2010 +0000
+++ b/stubdom/grub.patches/99minios	Sun Mar 07 23:41:26 2010 +0100
@@ -1501,3 +1501,70 @@
  #else
  	/* This is slower but this works on all x86 architectures.  */
  	__asm__("xchgb %b0, %h0" \
+--- grub.orig/stage2/gunzip.c	2010-03-07 23:03:34.000000000 +0100
++++ grub/stage2/gunzip.c	2010-03-07 23:05:36.000000000 +0100
+@@ -141,7 +141,7 @@
+ static int gzip_filemax;
+ static int gzip_fsmax;
+ static int saved_filepos;
+-static unsigned long gzip_crc;
++static unsigned int gzip_crc;
+ 
+ /* internal extra variables for use of inflate code */
+ static int block_type;
+@@ -157,7 +157,7 @@
+  *  Linear allocator.
+  */
+ 
+-static unsigned long linalloc_topaddr;
++static unsigned int linalloc_topaddr;
+ 
+ static void *
+ linalloc (int size)
+@@ -253,7 +253,7 @@
+ 
+ typedef unsigned char uch;
+ typedef unsigned short ush;
+-typedef unsigned long ulg;
++typedef unsigned int ulg;
+ 
+ /*
+  *  Window Size
+@@ -316,8 +316,8 @@
+       return 0;
+     }
+ 
+-  gzip_crc = *((unsigned long *) buf);
+-  gzip_fsmax = gzip_filemax = *((unsigned long *) (buf + 4));
++  gzip_crc = *((unsigned int *) buf);
++  gzip_fsmax = gzip_filemax = *((unsigned int *) (buf + 4));
+ 
+   initialize_tables ();
+ 
+diff -ur grub.orig/stage2/fsys_iso9660.c grub-upstream/stage2/fsys_iso9660.c
+--- grub.orig/stage2/fsys_iso9660.c	2010-03-07 23:39:00.000000000 +0100
++++ grub/stage2/fsys_iso9660.c	2010-03-07 23:39:56.000000000 +0100
+@@ -43,7 +43,7 @@
+ 
+ /* iso fs inode data in memory */
+ struct iso_inode_info {
+-  unsigned long file_start;
++  unsigned int file_start;
+ };
+ 
+ #define ISO_SUPER	\
+@@ -88,12 +88,12 @@
+   if (byte_len <= 0)
+     return 1;
+ 
+-  sector += (byte_offset >> sector_size_lg2);
+-  byte_offset &= (buf_geom.sector_size - 1);
+   asm volatile ("shl%L0 %1,%0"
+ 		: "=r"(sector)
+ 		: "Ic"((int8_t)(ISO_SECTOR_BITS - sector_size_lg2)),
+ 		"0"(sector));
++  sector += (byte_offset >> sector_size_lg2);
++  byte_offset &= (buf_geom.sector_size - 1);
+ 
+ #if !defined(STAGE1_5)
+   if (disk_read_hook && debug)

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-03-07 22:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-03 19:45 [PATCH, PV-GRUB DOC] Add details to PV-GRUB documentation Samuel Thibault
2010-03-03 22:48 ` Jeremy Fitzhardinge
2010-03-03 22:59   ` Samuel Thibault
2010-03-03 23:04     ` Jeremy Fitzhardinge
2010-03-03 23:16       ` Samuel Thibault
2010-03-07 22:45 ` [PATCH, PV-GRUB] Fix gzip support and iso support on x86_64 Samuel Thibault

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).