Debian 下编译内核过程

1. 构建编译环境 (Debian 和 Ubuntu 发行版上用到的工具包)

     kernel-package  :包括了make-kpkg等工具。

     libncurses5-dev   : make menuconfig 需要有此工具支持。

     build-essential    : 提供了c/c++的编译环境,包括了gcc、make等工具

     (modutils      module-init-tools  这两个2.6内核一般带有):模块工具。

   patch:为内核打补丁工具,不打补丁可以不按装。


2. 配置内核

    make oldconfig 使用刚刚复制的内核配置文件,这时配置只是针对新内核增加的选项配置,
                   其他配置利用的是旧内核的配置。如果直接回车,则生成和旧配置文件一样的配置。保存后生成.config文件。

    make menuconfig 利用刚生成的.config 文件进行自己的任意配置,这时可以按照自己的意愿定制化配置。保存配置文件。


3. 编译内核

      1) 进入内核源码目录/usr/src/linux-2.6.xx.x

      2)如果需要为内核打补丁

      3)配置内核 (第2步)

      4)make -j4 编译内核 生成各种.o文件

      5)make modules_install  安装内核模块 。将所有编译得到的内核模块复制到/lib/modules/<kernel-version>/目录下面

      6)make install 安装内核。这个命令作用:复制生成的内核映像到/boot目录。内核编译完成后,
                      源码树目录arch/i386/boot/中会生成bzImage文件,System.map等文件,这些文件被复制到/boot目录,并重命名。

      7)在/boot目录下 mkinitramfs -o initrd.img-2.6.xx.x
         或者在/usr/src/linux-2.6.xx.x 目录下update-initramfs -c -k 2.6.xx.x

 4. 使内核可启动

      update-grub自动配置grub.cfg 或者 手动配置 /boot/grub/grub.cfg 或者 /boot/grub/menu.lst

    如果启动有错,则删除已生成的initrd.img文件,重新update-initramfs -c -k 2.6.xx.x

 

你可能感兴趣的:(Debian,ubuntu,gcc,工具,patch)