The Saigon CTT
Linux Kernel
The Saigon CTT
Objectives
Objectives
Define kernel properties
Demonstrate new kernel preparation
Identify and use kernel configuration tools
Recompile and install a kernel
Identify kernel modules
Configure LILO to use a new kernel
The Saigon CTT
The Linux Kernel
The Linux Kernel
It’s loaded at initial bootup of Linux system,
manages activities : I/O, memory, processes,
network interface,…
Why would you want to build a new kernel ?
(newer hardware, faster, more stable, …)
Kernel can be built with 2 basic options :
•
Device drivers can be built directly into the kernel
binary itself
•
Device drivers can be built as external modules to the
kernel
The Saigon CTT
Kernel Version Numbering
Kernel Version Numbering
Kernel version numbers are made by three
basic components:
- The major number
- The minor number
- The micro number (patch number)
There is the fourth number, sometimes
applied after a dash is genarally the patch
level , applied by kernel maintainers
Ex : 2 . 4 . 7 - 10
The Saigon CTT
Kernel Version Numbering
Kernel Version Numbering
Kernel version numbering is very structured :
-
The minor number is even = stable version
-
The minor number is odd = development ver.
-
A patch constitutes a more precise
measurement of the kernel version. All patchs to
the kernel are cumulative. You simply have to
obtain and apply the latest patch for the kernel to
be sure you have the most up-to-date patched
support
To find out what kernel you are running :
# uname -r
The Saigon CTT
Recent Kernel Changes
Recent Kernel Changes
There are many changes from 2.2 to 2.4
-
Itanium and X86-64 AMD Hamer CPU support
-
Improve PnP/hot swappable device regconition
-
Journaling file systems : ext3, ReiserFS, ..
-
…
The Saigon CTT
Preparing For The New Kernel
Preparing For The New Kernel
See
/usr/src/linux/Documentation/Changes
Software tools
The source tree (source code)
Apply patches to the kernel source code
The Saigon CTT
Software Tools
Software Tools
make : determines which pieces of a large
program need to be recompiled
and compile them. It executes
commands in Makefile (sometime
named makefile) to update
programs or module components
C/gcc : C compiler integrated into gcc
binutils: a collection of binary utilities :
gas(assembler),ld(likner),
nm, ranlib, objdump, …
The Saigon CTT
The Source Tree
The Source Tree
Kernel source released as a zipped tar file ,
extension of .tar.gz or .tar.bz2
Ex: linux-2.4.19-16.tar.gz
You should NEVER unpack your kernel
sources directly into /usr/src/linux
# mkdir /usr/src/linux-2.4.19-16
# tar xzfv linux-2.4.19-16.tar.gz –C
/usr/src/linux-2.4.19-16