`

How to: Compile Linux kernel

阅读更多
http://www.cyberciti.biz/tips/compiling-linux-kernel-26.html

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

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
分享到:
评论

相关推荐

    linux kernel in a nutshell

    describes how to compile a linux kernel and how to configure the kernel in the booting process

    How_to_Compile_Linux_kernel_2.6

    目前的Linux内核版本是2.6.x,本文讲述如何编译当前的内核,喜欢编译内核的人可以以之为参考一试。内容相对比较新,是英文的。

    Compiling_the_Linux_kernel.zip_Telling

    Nice document of telling you how to compile linux kernel

    Linux ACPI how to Application Note

    2.Introduce how to compile and install linux kernel with ACPI support . 3.Introduce ACPI power state and ACPI tables 4.Introduce CPU management under ACPI. 5.Introduce Linux suspend to ram and how to ...

    Linux Device Drivers.

    Over the years the book has helped countless programmers learn: * how to support computer peripherals under the Linux operating system * how to develop and write software for new hardware under Linux...

    Advanced Raspberry Pi Raspbian Linux and GPIO Integration.zip

    Other topics covered include the 1-Wire driver interface, how to configure a serial Linux console, and cross-compile code, including the Linux kernel. You'll find yourself turning to Advanced ...

    Linux Device Drivers

    Over the years, this bestselling guide has helped countless programmers learn how to support computer peripherals under the Linux operating system, and how to develop new hardware under Linux....

    Raspberry.Pi.System.Software.Reference

    one of the most important things you'll get from Raspberry Pi Software Reference is how to build your own Raspberry Pi cross-compiler on your Mac OSX, Linux, or Windows computer. What youll learn ...

    iptables-tutorial.pdf

    shell scripting, as well as how to compile your own kernel, and some simple knowledge about the kernel internals. I have tried as much as possible to eradicate all prerequisites needed before fully ...

    r8168-dkms_8.043.02-1_all.deb

    软件包:r8168-dkms(8.043.02-1) dkms source for the r8168 network driver r8168 is the Linux device driver released for RealTek RTL8111... Kernel source or headers are required to compile these modules.

    BeagleBone.Cookbook.Software.and.Hardware.Problems.and.Solutions

    Learn how to use BeagleBone to interact with the physical world Connect force, light, and distance sensors Spin servo motors, stepper motors, and DC motors Flash single LEDs, strings of LEDs, and ...

    keyboard按键中断驱动

    How To Use ---------- Please don't proceed if you see any error in the below steps. 0. 0rth Law (as in thermodynamics) cat LICENSE 1. compile a. create the header files $ make header ( sometimes ...

    videodog0.31.tar.gz

    Read INSTALL for details on how to compile/install it. Read CHANGELOG for whats new There is a vd.conf as example configuration, for those who would like to use this feature. Compiling the effects ...

    huawei_P6S-U06_KK_kernel:华为升腾P6S-U06 CN-UNICOM Kitkat-kernel-sorce

    内核发布包版本说明 2015.02.28 使用 zImage 注意: 1、这个包只制作zImage,在替换手机的bootimage之前,你必须得到ramdisk并添加内核cmdline来生成一... edit Makefile edit "CROSS_COMPILE" to right toolchain pa

    bochs user manual 单html文件+pdf 英文原版

    8.11.2. Set up the linux Kernel [1] 8.11.3. Configure Bochs to use the tuntap interface 8.11.4. Set up the private network between the host and the guest 8.11.5. Set up the host to masquerade the ...

    tomcat-7_API_帮助文档

    compiler from the JDK to compile JSPs, or any other Java compiler supported by Apache Ant. ============== API Stability: ============== The public interfaces for the following classes are fixed and ...

    r40_tinav2.1_最终验证通过_使用CB-S来验证SPI2.0成功_20171114_0945没有外层目录.7z

    * Cross-compile with cross-gcc -I/path/to/cross-kernel/include */ #include #include #include #include #include #include #include #include <linux/types.h> #include <linux/spi/spidev.h> #...

Global site tag (gtag.js) - Google Analytics