It works on a file in /tmp, but not on the actual /boot/grub/grub.cfg file on 
my machine.  Not sure why, permissions look fine...

I will attempt to RTFM from Stephen's message and see if I can do it the Right 
Way (tm) ;-)
-Tom

On Apr 5, 2011, at 3:33 AM, Erik Christiansen wrote:

> On Mon, Apr 04, 2011 at 09:51:20AM -0400, Tom Easterday wrote:
>> 
>> On Apr 4, 2011, at 9:22 AM, Tom Easterday wrote:
>>> Your instructions didn't work for me (I am on 10.04).  I assume it is due 
>>> to the above.  Looks like the lines start with "linux" not kernel....?  See 
>>> attached snipped from Grub.cfg.
>> 
>> Hmm, I tried substituting "linux" for "kernel" and that didn't work either.  
>> I changed the mv to cp at the end to see if the script would leave something 
>> in /tmp but nothing is there....
> 
> Thanks for the grub.cfg sample. The problem was that menu.lst had no
> leading whitespace on the kernel command line, while grub.cfg does.
> Removing the "^" (anchor to start of line) allows your "linux"
> substitution to do the job.
> 
> Here is the script snippet, updated for your sample grub.cfg, but
> with a leading #!/bin/bash , so that it can be run by itself (after
> doing a chmod a+x on it), to test it at your end.
> 
>                           ----------------
> #!/bin/bash
> 
> # Addition to update-grub, to auto post-edit bootargs.
> 
> gawk '
> /^[ \t]*linux/ && $2 ~ /-rtai$/ {
>  printf("%s %s\n",$0,"isolcpus=1")
>  next
> }  
> 
>  { print $0 }
> 
> ' /tmp/foo.grub > /tmp/grub.cfg
> 
>                           ----------------
> 
> You'll need to lose that extra first line, if using this version at the
> end of update-grub. Alternatively, just change "^" to "^[ \t]*" in
> yours. The new regex fragment accepts any number (*) of spaces or tabs
> ([ \t]) after the start of line (^), before looking for "linux".
> 
> It continues to look for "-rtai" at the end ($) of the second field ($2)
> on the line, so that it won't modify a non-rtai entry. (Which is the
> whole point of this jiggery-pokery, AIUI.
> 
> Here is what it now does to your sample text, using diff to show only
> what has changed:
> 
> $ diff /tmp/foo.grub /tmp/grub.cfg
> 7c7
> <         linux   /boot/vmlinuz-2.6.32-122-rtai 
> root=UUID=506b5468-6b3c-4e97-86d0-899b469a2948 ro   quiet splash
> ---
>>       linux   /boot/vmlinuz-2.6.32-122-rtai 
>> root=UUID=506b5468-6b3c-4e97-86d0-899b469a2948 ro   quiet splash isolcpus=1
> 16c16
> <         linux   /boot/vmlinuz-2.6.32-122-rtai 
> root=UUID=506b5468-6b3c-4e97-86d0-899b469a2948 ro single
> ---
>>       linux   /boot/vmlinuz-2.6.32-122-rtai 
>> root=UUID=506b5468-6b3c-4e97-86d0-899b469a2948 ro single isolcpus=1
> 
> Here, "<" indicates /tmp/foo.grub , and ">" indicates /tmp/grub.cfg,
> while "---" separates "before" and "after". 7c7 and 16c16 declare that
> input lines 7 & 16 changed content, but did not change position.
> This also confirms that all other lines were passed unmodified.
> (But maybe that's all old hat.)
> 
> That should be pretty close now. :-)
> 
> Erik
> 
> -- 
> Meskimen's Law:
>   There's never time to do it right, but always time to do it over.
> 
> ------------------------------------------------------------------------------
> Xperia(TM) PLAY
> It's a major breakthrough. An authentic gaming
> smartphone on the nation's most reliable network.
> And it wants your games.
> http://p.sf.net/sfu/verizon-sfdev
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users


------------------------------------------------------------------------------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to