Hello Fedora fans!
Freshly installed Fedora 16 for 32 bit (i686) from DVD on a Pentium 4 with 1 GB RAM. Why does Fedora 16 installs a PAE kernel by default? Previous versions of Fedora (on that machine) did not install the PAE kernel but the regular one.
I've seen people on the web asking why they did *not* get a PAE kernel on their F16/i686 with 4 GB RAM or more. So why did I get PAE?
According to Red Hat, PAE comes with a performance hit from 0 to 10%. I don't plan to put any additional RAM in that machine, so I'll never need PAE and instead I prefer to get maximum CPU performance.
Unfortunately, the installation of the regular kernel & kernel-devel packages with "rpm -Uvh" from the DVD didn't update /boot/grub2/grub.cfg. Is there are clean way to make the non-PAE kernel the default kernel? I would have used "yum localinstall" but because the machine has no Internet connection, yum failed because of some trouble with repomd.xml. Shouldn't "rpm" run the same pre/post-processing scripts as yum?
Greetings, Andreas
Andreas M. Kirchwitz wrote:
Freshly installed Fedora 16 for 32 bit (i686) from DVD on a Pentium 4 with 1 GB RAM. Why does Fedora 16 installs a PAE kernel by default? Previous versions of Fedora (on that machine) did not install the PAE kernel but the regular one.
Does your Pentium 4 have NX/XD support? If the command grep nx /proc/cpuinfo returns anything, then you do.
NX is a security feature that requires PAE to work. It creates an extra security barrier that malware has to get around.
According to Red Hat, PAE comes with a performance hit from 0 to 10%.
Much closer to 0%: the 10% would be a worse case scenario.
If you’re going to throw security to the winds in the name of performance, you might want to disable SELinux, too. I’d also recommend keeping the machine away from the Internet and considering that a new computer will be considerably faster than a Pentium 4.
Unfortunately, the installation of the regular kernel & kernel-devel packages with "rpm -Uvh" from the DVD didn't update /boot/grub2/grub.cfg. Is there are clean way to make the non-PAE kernel the default kernel?
Well, you could try creating a new stanza in /boot/grub2/grub.cfg yourself (yes, I know it says not to edit it), try rerunning grub2-mkconfig to see if it puts the non-PAE kernel in there, or put a suitable stanza in /etc/grub.d/40_custom (or 01_local, which you have to create: see the README in /etc/grub.d), and then run grub2-mkconfig.
Note that you’ll have to redirect the output of grub2-mkconfig with something like grub2-mkconfig > /boot/grub2/grub.cfg
For a “suitable stanza”, look at grub2.cfg, find a “menuentry” command, take all the text between there and the next } (including both the menuentry and the }), and modify wherever it says /boot/whatever to point to the equivalent file from the non-PAE kernel RPM.
Hope this helps,
James.