From Fedora Project Wiki

Revision as of 03:03, 15 October 2008 by Dale (talk | contribs) (→‎Preparing for Kernel Development: fix link to kernel_flavors anchor)

Linux Kernel

Deprecated or out of date content?
This content may be deprecated or out of date, it has not been updated since the Fedora 9 release notes.

This section covers changes and important information regarding the 2.6.27 based kernel in Fedora 25. The 2.6.27 kernel includes:

  • The Fedora kernel offers paravirt_ops support in domU, as part of the kernel team's efforts to reduce the work required to produce current Xen kernels.
  • Xen fully virtualized guests can directly boot a kernel and initrd image and pass kernel boot args. For more details refer to http://fedoraproject.org/wiki/Features/XenFullvirtKernelBoot.

Version

Fedora may include additional patches to the kernel for improvements, bug fixes, or additional features. For this reason, the Fedora kernel may not be line-for-line equivalent to the so-called vanilla kernel from the kernel.org web site:

http://www.kernel.org/

To obtain a list of these patches, download the source RPM package and run the following command against it:

rpm -qpl kernel-<version>.src.rpm

Changelog

To retrieve a log of changes to the package, run the following command:

rpm -q --changelog kernel-<version>

If you need a user friendly version of the changelog, refer to http://wiki.kernelnewbies.org/LinuxChanges. A short and full diff of the kernel is available from http://kernel.org/git. The Fedora version kernel is based on the Linus tree.

Customizations made for the Fedora version are available from http://cvs.fedoraproject.org.

Kernel Flavors

Fedora 25 includes the following kernel builds:

  • Native kernel, for use in most systems. Configured sources are available in the kernel-devel package.
  • The kernel-PAE, for use in 32-bit x86 systems with more than 4GB of RAM, or with CPUs that have a NX (No eXecute) feature. This kernel support both uniprocessor and multi-processor systems. Configured sources are available in the kernel-PAE-devel package.
  • Virtualization kernel for use with the Xen emulator package. Configured sources are available in the kernel-xen-devel package.

You may install kernel headers for all four kernel flavors at the same time. The files are installed in the /usr/src/kernels/<version>[-PAE|-xen|-kdump] -<arch>/ tree. Use the following command:

su -c 'yum install kernel{,-PAE,-xen,-kdump}-devel'

Select one or more of these flavors, separated by commas and no spaces, as appropriate. Enter the root password when prompted.

x86 Kernel Includes Kdump
Both the x86_64 and the i686 kernels are relocatable, so they no longer require a separate kernel for kdump capability. PPC64 still requires a separate kdump kernel.
Default Kernel Provides SMP
There is no separate SMP kernel available for Fedora on i386, x86_64, and ppc64. Multiprocessor support is provided by the native kernel.
PowerPC Kernel Support
There is no support for Xen or kdump for the PowerPC architecture in Fedora. 32-bit PowerPC does still have a separate SMP kernel.

Preparing for Kernel Development

Fedora 25 does not include the kernel-source package provided by older versions since only the kernel-devel package is required now to build external modules. Configured sources are available, as described above.

Custom Kernel Building
For information on kernel development and working with custom kernels, refer to http://fedoraproject.org/wiki/Building_a_custom_kernel.

Reporting Bugs

Refer to http://kernel.org/pub/linux/docs/lkml/reporting-bugs.html for information on reporting bugs in the Linux kernel. You may also use http://bugzilla.redhat.com for reporting bugs that are specific to Fedora.