zoukankan      html  css  js  c++  java
  • How to: Compile Linux kernel 2.6

     

    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

    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

  • 相关阅读:
    项目中常用的图片处理方案小结
    Unity2D实现人物三连击
    使用mescroll实现上拉加载与下拉刷新
    iOS中文输入法多次触发的问题及解决方案
    使用WebStorm将项目部署到IIS
    在Less中使用条件判断
    Vue+原生App混合开发手记#1
    在Vue中使用layer.js弹出层插件
    局域网简单的SVN服务器的搭建
    在iOS中实现sticky header
  • 原文地址:https://www.cnblogs.com/linuxbo/p/4296859.html
Copyright © 2011-2022 走看看