Technology news and Jobs arrow Information Technology News arrow An Ubuntu guide to taming the Linux kernel
An Ubuntu guide to taming the Linux kernel E-mail
by David M Williams   
Monday, 15 October 2007
Although Linux is frequently referred to by the names of various distributions, what can properly be called “Linux” is really the management part of the operating system known as the kernel which interacts with the computer’s hardware. Here’s how the kernel works in Ubuntu, and how to rebuild it.

The kernel is what Linus Torvalds produced in 1991 which, coupled with the GNU Project’s litany of tools, brought the power of UNIX freely to the PC world. Many people worldwide now contribute to the kernel alongside Torvalds, but it is still he who determines what is included in official releases.

Versioning
The kernel is constantly under development. Feature enhancements and bug fixes are made at a rapid pace. Theoretically, you could update your kernel every week but practically, you do not know whether the latest changes are well-tested or not. Fortunately, the Linux kernel team use release management methodologies to provide periodic stable releases that are certified as safe for production, and each release has a unique version number. These consist of a major number, a minor version and a sublevel number, and then for Ubuntu an additional number known as the extraversion level. This latter number reflects patches and add-ons made by Ubuntu’s team to make the kernel work in their distribution. You can determine the version of your kernel by executing the command uname –r.

By convention, kernels with even-numbered minor versions are stable releases, and those with odd-numbered minor versions are development releases which should only be used by those prepared to experiment with code still under test.

The source tree
As you might expect, the kernel is free open-source software. Its source code is freely available and is generally included with all Linux distros even though it may not necessarily be installed without explicit setup options. The source code is not at all needed for the ordinary running of Linux, but If it is installed (either at the time of system setup, or later), it will be found in Ubuntu distributions within the /usr/src directory under a folder named with its version number.

The kernel source can be retrieved in a variety of ways, but the absolute latest will always be available via FTP from ftp.kernel.org in a compressed format.

The source code is structured in a complex directory hierarchy known as the source tree. As the kernel is such a large piece of software, scripts are used (and provided) to compile it and these expect to find files in specific places in the tree.

Browsing the code does give some important insights. One very helpful subdirectory is Documentation which, as you might expect, contains a cornucopia of text files describing the kernels operation and how it really works at a very low-level. Many documents here are aimed at kernel programmers but you will find loads of generally useful information – for instance, the file devices.txt lists all possible devices that are catered for in the system’s /dev directory along with a brief description. If you have received driver error messages citing version numbers, chances are you can get some clues here to what the error is about.



 
< Next story in category   Previous story in the category >
iTWire user statistics Visitors last 30 days
694,279
Subscribers 15,210
#1 independent technology news advertise here
  •   *  
  • Search
  • AdvSeach
  • Login
  • Events
  • FreeStuff

- Advertisement -

Featured Whitepapers

Follow iTWire on Twitter

About iTWire

iTWire is all about technology news, information, jobs and community for the IT and telecommunications industry professional. Subscribe to our free ICT daily newsletter