On Fri, Oct 23, 2015 at 05:11:33PM -0700, Mark Pryor wrote: > When entering the grub2 shell during a pvgrub2 boot, there is no info about > the current > domU in the grubenv (set). Starting with a patch submitted by Olaf Herring I > exported
Which patch? Is there a name for it so it can be part of the git commit history? Thanks. > the xenstore cmdline only. > > The env var, xen_cmdline, can then be used in the top level script used to > make > the pvgrub2 kernel blob. > > Signed-off-by: Mark Pryor <pryor...@gmail.com> > --- > grub-core/kern/xen/init.c | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) > > diff --git a/grub-core/kern/xen/init.c b/grub-core/kern/xen/init.c > index 0559c03..2a3112d 100644 > --- a/grub-core/kern/xen/init.c > +++ b/grub-core/kern/xen/init.c > @@ -524,6 +524,29 @@ map_all_pages (void) > grub_mm_init_region ((void *) heap_start, heap_end - heap_start); > } > > +/* > + * Find all name=val pairs in the provided cmd_line and export them > + * so that scripts can evaluate the variables for their own purpose. > + */ > +static void > +export_cmdline (void) > +{ > + char *p; > + const char *name="xen_cmdline"; > + > + p = grub_malloc (MAX_GUEST_CMDLINE + 1); > + if (!p) > + return; > + > + grub_memcpy (p, grub_xen_start_page_addr->cmd_line, MAX_GUEST_CMDLINE); > + p[MAX_GUEST_CMDLINE] = '\0'; > + > + grub_env_set (name, p); > + grub_env_export (name); > + > + grub_free (p); > +} > + > extern char _end[]; > > void > @@ -539,6 +562,8 @@ grub_machine_init (void) > > map_all_pages (); > > + export_cmdline (); > + > grub_console_init (); > > grub_tsc_init (); > -- > 2.1.4 > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel