From Fedora Project Wiki

Revision as of 18:02, 9 October 2008 by Kwade (talk | contribs) (updating link to custom kernel doc to the new page name)

Linux Kernel

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

  • Tickless support for x86 64bit systems (32 bit was added previously), which greatly improves power management.
  • Some elements of the realtime kernel project.
  • The kernel has a new version naming scheme to more closely match the upstream version naming scheme.
  • The kernel spec file is now named kernel.spec rather than kernel-2.6.spec.
  • The kernel spec file has new macros that ease the kernel building process. Refer to http://fedoraproject.org/wiki/Docs/CustomKernel for further information.
  • The kernel in Fedora 25 no longer loads modules by default for ISA sound cards. Load the module by hand using the command modprobe module-name, or put an entry in /etc/modprobe.conf. For example, for the Creative SoundBlaster AWE64, add the following entry:
install snd-sbawe
  • 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 [#Kernel_Flavors 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.