[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2] pygrub: fix extlinux parsing



On Tue, 2012-01-03 at 12:14 +0000, Roger Pau Monne wrote:
> # HG changeset patch
> # User Roger Pau Monne <roger.pau@xxxxxxxxxxxxx>
> # Date 1325592706 -3600
> # Node ID 6fcc1c479ee68f27233a55ec45a618e0f7cf5d6f
> # Parent  3e02aa9670b3265e36bdddbd4760415cd87d047b
> pygrub: fix extlinux parsing
> 
> pygrub was unable to parse extlinux config files correctly, exactly
> the ones like:
> 
> LABEL grsec
>   KERNEL vmlinuz-3.0.10-grsec
>   APPEND initrd=initramfs-3.0.10-grsec
> root=UUID=cfd4a7b4-8c40-4025-b877-8205f1c622ee
> modules=sd-mod,usb-storage,ext4 xen quiet
> 
> This patch fixes it, adding a new case when parsing the "append" line,
> that searches for the initrd image.
> 
> Signed-off-by: Roger Pau Monne <roger.pau@xxxxxxxxxxxxx>

Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

> 
> diff -r 3e02aa9670b3 -r 6fcc1c479ee6 
> tools/pygrub/examples/alpine-linux-2.3.2.extlinux
> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
> +++ b/tools/pygrub/examples/alpine-linux-2.3.2.extlinux       Tue Jan 03 
> 13:11:46 2012 +0100
> @@ -0,0 +1,11 @@
> +DEFAULT menu.c32
> +PROMPT 0
> +MENU TITLE Alpine/Linux Boot Menu
> +MENU HIDDEN
> +MENU AUTOBOOT Alpine will be booted automatically in # seconds.
> +TIMEOUT 30
> +LABEL grsec
> +  MENU DEFAULT
> +  MENU LABEL Linux 3.0.10-grsec
> +  KERNEL vmlinuz-3.0.10-grsec
> +  APPEND initrd=initramfs-3.0.10-grsec 
> root=UUID=a97ffe64-430f-4fd3-830e-4736d9a27af0 
> modules=sd-mod,usb-storage,ext4 quiet
> diff -r 3e02aa9670b3 -r 6fcc1c479ee6 tools/pygrub/src/ExtLinuxConf.py
> --- a/tools/pygrub/src/ExtLinuxConf.py        Thu Dec 15 18:55:46 2011 +0100
> +++ b/tools/pygrub/src/ExtLinuxConf.py        Tue Jan 03 13:11:46 2012 +0100
> @@ -60,6 +60,13 @@ class ExtLinuxImage(object):
>  
>                  # Bypass regular self.commands handling
>                  com = None
> +            elif arg.find("initrd="):
> +                # find initrd image in append line
> +                args = arg.strip().split(" ")
> +                for a in args:
> +                    if a.lower().startswith("initrd="):
> +                        setattr(self, "initrd", a.replace("initrd=", ""))
> +                        arg = arg.replace(a, "")
>  
>          if com is not None and self.commands.has_key(com):
>              if self.commands[com] is not None:
> @@ -86,10 +93,12 @@ class ExtLinuxImage(object):
>          self._args = args
>      def get_kernel(self):
>          return self._kernel
> +    def set_args(self, val):
> +        self._args = val
>      def get_args(self):
>          return self._args
>      kernel = property(get_kernel, set_kernel)
> -    args = property(get_args)
> +    args = property(get_args, set_args)
>  
>      def set_initrd(self, val):
>          self._initrd = (None,val)



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.