Before you start
Learn what these tutorials can teach you and how you can get the most from them.
The Linux Professional Institute (LPI) certifies Linux system administrators at junior and intermediate levels. To attain each level of certification, you must pass two LPI exams.
Each exam covers several topics, and each topic has a weight. The weights indicate the relative importance of each topic. Very roughly, expect more questions on the exam for topics with higher weight. The topics and their weights for LPI exam 201 are:
- Topic 201
- Linux kernel (weight 5). The focus of this tutorial.
- Topic 202
- System startup (weight 5).
- Topic 203
- Filesystem (weight 10).
- Topic 204
- Hardware (weight 8).
- Topic 209
- File and service sharing (weight 8).
- Topic 211
- System maintenance (weight 4).
- Topic 213
- System customization and automation (weight 3).
- Topic 214
- Troubleshooting (weight 6).
The Linux Professional Institute does not endorse any third-party exam preparation material or techniques in particular. For details, please contact firstname.lastname@example.org.
Welcome to "Linux kernel," the first of eight tutorials designed to prepare you for LPI exam 201. In this tutorial, you will learn how to compile and customize a Linux kernel.
The tutorial is organized according to the LPI objectives for this topic, as follows:
- 2.201.1 Kernel components (weight 1)
- You will learn how to use kernel components that are necessary to specific hardware, hardware drivers, system resources, and requirements. You will learn about implementing different types of kernel images, identifying stable and development kernels and patches, as well as using kernel modules.
- 2.201.2 Compiling a kernel (weight 1)
- You will learn how to properly compile a kernel to include or disable specific features of the Linux kernel as necessary. You will learn about compiling and recompiling the Linux kernel as needed, implementing updates and noting changes in a new kernel, creating a system
initrdimage, and installing new kernels.
- 2.201.3 Patching a kernel (weight 2)
- You will learn how to properly patch a kernel for various purposes including how to implement kernel updates, implement bug fixes, and add support for new hardware. You will also learn how to properly remove kernel patches from existing production kernels.
- 2.201.4 Customizing a kernel (weight 1)
- You will learn how to customize a kernel for specific system requirements by patching, compiling, and editing configuration files as required. You will learn how to assess requirements for a kernel compile versus a kernel patch as well as build and configure kernel modules.
This tutorial is one of the few in this series that is about Linux itself, strictly speaking. That is, a variety of tools for networking, system maintenance, manipulating files and data, and so on, are important for a working Linux installation and are part of almost every Linux distribution. But the base kernel -- the bit of software that mediates between contending programs and access to hardware -- is the software managed by Linus Torvalds, and that is properly called "Linux itself."
One of the best things about the Linux kernel is that it is Free Software. Not only have many brilliant people contributed to making the Linux kernel better, but you, as system administrator, have access to the kernel source code. This gives you the power to configure and customize the kernel to fit your exact requirements.
To get the most from this tutorial, you should already have a basic knowledge of Linux and a working Linux system on which you can practice the commands covered in this tutorial.