您的位置:首页 > 运维架构 > Linux

Debian:编译内核2.6

2011-08-06 08:50 423 查看


所谓千里之行,始于足下,要想进入内核开发,首先要有个可供裁剪的内核,以下内容完整的表述了如何在Debian lenny上编译自己的内核,此内容对内核编译过程表述清楚,操作简单,故照抄之,不想看英文的直接Step by Step 就可以了。


How to: Compile Linux kernel 2.6

by NIXCRAFT on SEPTEMBER
29, 2005 · 116
COMMENTS

原文链接:http://www.cyberciti.biz/tips/compiling-linux-kernel-26.html

Compiling custom kernel has its own advantages and disadvantages. However, new Linux user / admin find it difficult to compile Linux kernel. Compiling kernel needs to understand few things and then just type couple of commands.
This step by step howto covers compiling Linux kernel version 2.6.xx under Debian GNU Linux. However, instructions remains the same for any other distribution except for apt-get command.


Step # 1 Get Latest Linux kernel code

Visit http://kernel.org/ and
download the latest source code. File name would be linux-x.y.z.tar.bz2, where x.y.z is actual version number. For example file inux-2.6.25.tar.bz2 represents 2.6.25 kernel version. Use wget command to download kernel source code:
$
cd /tmp

$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-x.y.z.tar.bz2[/code] 
Note: Replace x.y.z with actual version number.


Step # 2 Extract tar (.tar.bz3) file

Type the following command:
#
tar -xjvf linux-2.6.25.tar.bz2 -C /usr/src

# cd /usr/src


Step # 3 Configure kernel

Before you configure kernel make sure you have development tools (gcc compilers and related tools) are installed on your system. If gcc compiler and tools are not installed then use apt-get command under Debian Linux to install
development tools.
#
apt-get install gcc


Now you can start kernel configuration by typing any one of the command:

$ make menuconfig - Text based color menus, radiolists & dialogs.
This option also useful on remote server if you wanna compile kernel remotely.

$ make xconfig - X windows (Qt) based configuration tool, works
best under KDE desktop

$ make gconfig - X windows (Gtk) based configuration tool, works
best under Gnome Dekstop.

For example make menuconfig command launches following screen:
$
make menuconfig


You have to select different options as per your need. Each configuration option has HELP button associated with it so select help button to get help.


Step # 4 Compile kernel

Start compiling to create a compressed kernel image, enter:
$
make


Start compiling to kernel modules:
$
make modules


Install kernel modules (become a root user, use su command):
$
su -

# make modules_install


Step # 5 Install kernel

So far we have compiled kernel and installed kernel modules. It is time to install kernel itself.
#
make install


It will install three files into /boot directory as well as modification to your kernel grub configuration file:

System.map-2.6.25

config-2.6.25

vmlinuz-2.6.25


Step # 6: Create an initrd image

Type the following command at a shell prompt:
#
cd /boot

# mkinitrd -o initrd.img-2.6.25 2.6.25


initrd images contains device driver which needed to load rest of the operating system later on. Not all computer requires initrd, but it is safe to create one.


Step # 7 Modify Grub configuration file - /boot/grub/menu.lst

Open file using vi:
#
vi /boot/grub/menu.lst

title           Debian GNU/Linux, kernel 2.6.25 Default
root            (hd0,0)
kernel          /boot/vmlinuz root=/dev/hdb1 ro
initrd          /boot/initrd.img-2.6.25
savedefault
boot


Remember to setup correct root=/dev/hdXX device. Save and close the file. If you think editing and writing all lines by hand is too much for you, try out update-grub command to update the lines for each kernel in /boot/grub/menu.lst
file. Just type the command:
#
update-grub


Neat. Huh?


Step # 8 : Reboot computer and boot into your new kernel

Just issue reboot command:
#
reboot
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息