kernel source for fedora



Fedora (operating system)
Fedora 31 with a standard desktop (GNOME Shell 3.34) and standard applications. Fedora uses Vanilla GNOME as its default desktop environment.
Kernel Type Linux
Country of Use GNU
Standard user interface GNOME
License Various licenses for free software and proprietary firmware files

kernel source for fedora


How do I create a Linux kernel?

The procedure for building (compiling) and installing the latest Linux kernel from the source code is as follows:
  1. Download the latest kernel at
  2. Check the kernel.
  3. Unzip the tar kernel archive.
  4. Copy the existing Linux kernel configuration file.
  5. Compile and build the Linux 5.4 kernel.
  6. Install the Linux kernel and modules (drivers)
  7. Update grub configuration.


June 2020 Update:





Out of curiosity or for checking a patch, there are many reasons for compiling a kernel. This is a quick kernel compilation guide for Fedora.

Getting started with the kernel

The Fedora kernel is just another package in Fedora. This means that if you know how to compile other Fedora packages, you will have a good start when compiling the kernel. The easiest way to build the kernel is to use the Packager tools.

clone the Fedora kernel in the Kernel directory. By default, the extracted source is for. Each version of Fedora has its own branch. You can use Git commands to change the subject. For example, to check the source of Fedora 24, we run the following commands:

Build the kernel

When building the kernel for testing, it is best to give it an identifiable name. This makes the distinction between officially released Fedora kernels and others compiled. Yes

in x86_64 (or the name of the architecture for which you are creating). This takes a lot of time and requires up to 12 GB of hard disk space. If you need a faster build experience, you can use

Why rebuild the kernel?

Two spreadThe known reasons for rebuilding the kernel are changing configuration parameters and adding fixes. Changes to the kernel configuration parameters can be added to the file

Questions about the steps to build the kernel can be sent to the mailing list. Fedora Kernel. It also includes reference instructions for building the kernel.

You asked for years in the dark.
It is finally here.

Change yours at any time.

The kernel is the most important component of the operating system: among other things, it supports various types of equipment and controls the allocation of resources.

Linux is a monolithic kernel: although its functions can be statically contained or created and loaded as separate modules , it still runs as a “single element” in the same address space. In this guide, you will learn how to download, compile, and install the Vanilla Linux kernel.

The instructions provided should work on all Linux distributions. However, this guide focuses on compiling the kernel on a Fedora system.

Software requirements and conventions used

Install Dependencies

Above are just the "basic" packages that we need. To invoke specific configuration goals, certain additional packages must be installed: the ncurses-devel and qt-devel packages are needed, for example, to configure the kernel used. graphical interfaces based on ncurses and Qt, and the rpm-build package is needed to build an RPM that contains a compiled kernel.

Download the source archive

First we need to get the archive that contains this. We can download and unzip the archive with one command:

At the end of the boot process, we should find a new folder in our current working directory, which contains the kernel source code. We must enter it, in this case:

At the moment, we can configure the kernel. In the next section, we will look at the most common configuration goals used to complete a task.

Configure the kernel

There are several ways to configure the kernel, and they correspond to different Configuration Tools . If the configuration target is invoked and a file named .config with a valid kernel configuration is in the source directory, it is used as the starting point for the installation. This allows you to update or modify an existing configuration, possibly the one that comes with the kernel installed by default in our distribution (located in the / boot directory, which contains the kernel name in the usage list). If the file is not found, the configuration starts again and the .config file is created as soon as we save our configuration. Let's see some of the configuration goals that we can use:

When this goal is invoked, the user is prompted to configure the kernel by answering a series of questions as follows:

This target uses the nice and easy to use ncurses interface, which we can use to generate or update the kernel configuration. As already mentioned, in order to use this interface, the ncurses-devel package must be installed on the system.

Throughthis interface, we can press the h key if we check a certain option for information and suggestions:

Pressing Y for an option adds it statically to the kernel (the option is marked * ). Press N to close it, and press the M key to enable it as a module (the option will be marked M ). To find a specific parameter, we can use the / key and specify a string or regular expression to search for:

By invoking this make target, you can configure the kernel using a graphical user interface based on the code of the Qt tool if the qt-devel package is installed on the system.

This goal is useful if we want to use the existing kernel configuration as a starting point. When we call this target, we are asked to configure only those functions that are available in the kernel that we configured, but are not included in the source configuration file.

Calling this target will generate or update a new kernel configuration file based on the modules currently loaded on the system. Only they are included in configuration, the rest are disabled. This can be used as a quick way to get your own kernel based on the current state of the machine.

This task works similarly to localmodconfig with one big difference: the functions of the modules currently loaded into the system are statically added to the kernel.

Compile and install the kernel

The process may take some time, depending on the functions that we have included in the kernel. To speed up the process, we can run make with the -j parameter and indicate the number of tasks performed simultaneously: the value often used for this option is the number of logical tasks of the CPU + Core 1. Therefore, on a computer with 4 logical cores, we will do the following:

Kernel files are copied to the / boot directory. Instead, to compile and install kernel modules, we can do the following:

Kernel modules are installed in the / lib / modules directory, which is named after the kernel version. For the new kernel to be accessible and selectable at startup, we must regenerate the g configurationrub:

Pack the kernel

Instead of directly installing the compiled kernel, as described above, we can create a rpm package to be able to control its installation and removal through the System Package Manager. To complete the task, we must use one of the rpm-pkg and binrpm-pkg targets. The first creates the source and binary RPM packages, the second only binary. For this purpose to work correctly, you need to install the rpm-build package. To create only the binary RPM package, we do the following:

If the processes run without errors, the rpmbuild directory tree is created in our personal directory. The created RPM package is available in the ~ / rpmbuild / RPMS subdirectory, which is named after the system architecture.

Another option is to pack the kernel and its modules into a compressed compressed archive, placing it between targz-pkg , tarbz2-pkg and . tarxz-. pkg aims at the compression we want to use. The tar archive is created in the kernel source directory.


In this guide, we learned why Linux is called a monolithic kernel and how its components can be configuredStatic or as modules. We saw how to download the vanilla kernel and what methods we can use to configure it. Finally, we saw how to compile, package and install it in our system. Last tip: if you want to recompile the kernel, it is always recommended that you go to one of the cleanup goals before continuing:



What is the latest Linux kernel?

Linus Torvalds calmly released the latest Linux 4.14 kernel on November 12th. However, this will not be a quiet version. Linux developers previously announced that 4.14 will be the next LTS version (Linux Long Term Support) of the Linux kernel.





fedora 29 kernel build



  • centos



Related posts:

  1. Fedora Recompiling Virtualbox Kernel Modules Failed
  2. Source B57w2k Event Id 15
  3. How To Remove Flv Source Filter Error
  4. Open Source Adware Removal
  5. Error Missing After Element List Source
  6. Error 1706. No Valid Source Document Viewer
  7. Determining Chemical Formula Hydrate Lab Source Error
  8. Source Files For Movie Not Found Movie Maker
  9. Con Kernel Patch
  10. Bln Kernel Mod Download