The linux-configs Collection

The collection

The linux-configs Collection is a set of Kconfig configuration files for the Linux kernel.

These Kconfig files have been preconfigured in order to be used, with different architectures and with certain hardware requirements, when a new Linux kernel is built. Each one pf theses files can be used independently and corresponds to a potential .config file as needed in the process of building a new Linux kernel.

Linux kernel versions

This collection tracks some of the Linux kernel releases available at https://www.kernel.org/releases.html, mainly the long term support ones.

The versions tracked in the collection are:

  • a recent longterm: this is a recent release with long term support. It is intended to be used as the main release in stable and new systems.

  • an older longterm: this is an old release but still under long term support. It is intended to be used with older systems that have specific needs like old hardware configurations.

  • the main stable: this is the latest stable release, but not maintained under long term support. It is intended to be used for testing purposes of new capabilities of the Linux kernel and most up to date systems.

The linux-configs collection supports versions 4.x and above of the Linux kernel, but does not support any of the 3.x series.

Architectures

The collection supports the x86_64 processor architecture. Also the x86 is supported as a derivative of the main x86_64 variants and for some specific hardware of particular interest.

Variants

The Kconfig files are preconfigured for some hardware configurations and some sets of Kconfig options. These configurations are called variants.

The variants maintained are:

  • pc_generic: this is a generic configuration expected to work as starting point for a physical PC Linux kernel. It is expected to contain the configuration necessary for a PC to boot the kernel and to support some generic features. It also supports the Docker engine.

  • virtualbox: these are files configured to boot a generic VirtualBox virtual machine. It contains the Kconfig options necessary to detect and use the virtual hardware provided by this hypervisor.

  • vmware: these are files configured to boot a generic VMware virtual machine. It contains the Kconfig options necessary to detect and use the virtual hardware provided by this hypervisor.

Naming conventions

The Kconfig files in the collection take their names by combining the kernel release, the architecture and the hardware variant. For example, a configuration file for a 64 bits PC is called linux-4.19.20-x86_64-pc_generic.config, while a 32 bits VirtualBox configuration would be linux-4.4.168-x86-virtualbox.config

For some specific hardware configurations, the variant can take the name of the model of the supported system, e.g. linux-4.4.168-x86-Thinkpad_R51.

Release process

The files in the collection are upgraded to keep track of new releases of the Linux kernel. These releases are produced frequently by the maintainers of the Linux kernel and the linux-configs collection is expected to be upgraded a few times a month to keep track of the changes.