[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] pygrub: fix extlinux parsing
On Mon, 2012-01-02 at 10:49 +0000, Roger Pau Monne wrote: > # HG changeset patch > # User Roger Pau Monne <roger.pau@xxxxxxxxxxxxx> > # Date 1325501151 -3600 > # Node ID bd59a07ed41187bcafc4dd5214f0744c66ef2069 > # 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> Please could you also supply an example file for your platform as a patch to tools/pygrub/examples. > diff -r 3e02aa9670b3 -r bd59a07ed411 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 Mon Jan 02 11:45:51 2012 +0100 > @@ -60,6 +60,13 @@ class ExtLinuxImage(object): > > # Bypass regular self.commands handling > com = None > + elif arg.find(" "): > + # find initrd image in append line > + args = arg.strip().split(" ") > + for a in args: > + if a.lower().startswith("initrd"): Should check for "initrd=" here? Or perhaps: * check for "=" * split into "k = v" * check that k is precisely "initrd" the first two are probably doable in the same str.split invocation if you handle the exception correctly. > + 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) Are these something required by arg.replace? Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |