Kernel issues with FC6
The Fedora project released their newest offering of the linux operating system last week. Roughly 7 months after their last release of Fedora Core 5 which is phenomenal as compared to "You Know Who". The cumulative upgrade is also good apart from the eye-candy changes with respect to the contentĀ and applications included in the OS package. The newer kernel is XEN enabled by default. I understand that XEN was included in Fedora from its Core 3 release, but I never really paid attention to it.
This time it caught my attention during installation with the application support & inclusion to XEN virtualisation. It caught more than my eye when the computer refused to boot up. FC6 uses a PAE (Physical Address Extension) enabled kernel (version 2.6.18-1.2798) and somehow it fails to identify the limitation of the CPU that it is being installed on if the CPU does not have PAE. On booting, the kernel went in to panic with the following message
KERNEL PANIC: Cannot execute a PAE-enabled kernel on a PAE-less CPU!
I tried really hard to recover from this. Even reinstallting the OS and going into GRuB command line to try and load another kernel. But it failed. I could install FC5 and then upgrade to FC6 from there without any issues. The FC5 and earlier versions do not enable PAE. I am yet to check out how FC5 would behave if I put in the same PAE enabled kernel on it. Probably it would faile too.
Anyway, I did not like the idea of giving up on solving this and upgrading from FC5 to FC6. Because, if this is a kernel issue, then I would definitely face this issue sooner of later when I upgraded my kernel so I got books from the library and search on the internet for whatever I could for the kernel and the bug (?) that was troubling me. On searching exhaustively with no results, I finally found something which I felt would work. I knew that I had to set a kernel option. But which one and what?
I found one list on XEN which talked about the same issue that I was facing and it noted that a workaround to the problem I was facing was to use
swiotlb=force
as a kernel parameter when booting. Although it talks about DomU, I was ready to try it on my computer. So I started the installation in rescue mode and at the kernel prompt, I gave this as a kernel parameter and the kernel did not panic. The FC6 went through first boot steps and got me to configure everything and then promptly hung.
It took a reboot to get the computer back on track and start working smoothly. After that it has been working quite nicely and I have done some testing on it that I will post here.
I will also post a detailed installation write-up here in the Technology section.
- Category(s)
- Linux
- Open Source
- Computer Tip
- The URL to Trackback this entry is:
- http://www.dharwadkar.com/weblog/fc6_kernel/tbping

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.18-1.2798.fc6)
root (hd0,0)
kernel /vmlinuz-2.6.18-1.2798.fc6 ro root=/dev/VolGroup00/LogVol00 swiotlb=force
initrd /initrd-2.6.18-1.2798.fc6.img
I started the installation in upgrade mode and just gave this parameter at the time of kernel configuration, but I guess you can get achieve this by:
1. Pressing ESC while booting before the timeout
2. Starting the installation in rescue mode and mounting the fs from there.
I am not sure why you cannot select your boot option in grub (after installing - on booting new system) and edit it using e, append swiotlb=force to the line that mentions vmlinuz and then boot. But apparently you cannot because I just tried it ;-)
Is this where XEN comes in? I still have the default grub config:
kernel /xen. ...
module /vmlinuz ...
and it looks like you abandaned that in favour of:
kernel /vmlinux ...
I will post this and reboot to try it...
Well I tried to set the kernel options at the boot menu, but I couldn't because I didn't know how and what. I know now.
I noticed that the installation process did not install XEN enabled kernel when I tried to fiddle with the XEN virtualisation environment. The next TO-DO thing on my list is to use the XEN-enabled kernel and see what happens.
Your entry here cleared up the issue though. I was nearly steered away from further experimentation with this kernel/distribution - evaluating for a non-profit organization to determine whether it will meet the needs of their constituents. Although I am an avid FreeBSD user, I recognize the need for a lighter, mobile computing OS for this group. I've poured through several distributions using a list of criteria with emphasis on usability for fairly *nix illiterate end-users. Fedora really seems to bring the goods to the table and the setup is one of the best I've seen to date.
Thanks for the post!