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
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users