- primarily down to the distribution, their implementation and how they organise things so as to facilitate upgrades, patching and the like.
- they often provide several types of kernel images, pre-configured and compiled for different uses e.g. server, desktop, generic ... What type you chose is generally down to the '.iso' image you are installing from.
- distributions also provide their own tools, packages that are required to be installed for building and customising.
- you may well have to install a few development packagestools
- consult your distribution's documentation.
Distribution independent. Officially released by Linus Torsveld, or by a member of the community appointed by him. The source (and patches) are usually downloaded from http://www.kernel.org/, the kernel is configured and compiled.
- Version naming
All kernels are named according to the following naming standard. This enables each source file to be identified in terms of its position/status within the development and release cycles.
vmlinuz-<major>.<minor>.<patchlevel>[-<subpatchlevel>[-<optional identifier>]] major Increments in the major release number indicate mayor development changes. minor Indicate significant changes and additions. When taken together they culminate in a major release. Pre 2.6: Even-numbered minor release nos. => stable kernel e.g. (2.0, 2.2, 2.4) Odd-numbered minor release nos. => development kernel e.g. (2.1, 2.3, 2.5) patchlevel As patches are applied the patch level is incremented. Advisable to use the latest patch level.
2.6 kernels and above
- All released kernels are considered stable.
- Once a kernel is released e.g. 2.6.17, developers start working on new features releasing -rc versions (2.6.17-rc1, 2.6.17-rc2, ... ...)
- As each -rc version is stabilised it is released as a stable version (220.127.116.11, 18.104.22.168, ... ...).
- When all the development releases are considered stable enough a new kernel version 2.6.18 is released.
Vanilla install - basic process involves three steps:
Configuring involves identifying which kernel parameters are required and then enabling, disabling them accordingly.