内核配置与编译

1、清除临时文件、中间文件与配置文件

  • make clean 
    remove most generated files but keep the config
  • make mrproper
    remove all generated files + config files
  • make distclean 
     mrproper + remove editor backup and patch files 

2、确定目标系统的软硬件配置情况,比如CPU的类型、网卡的型号,所需支持的网络协议等。

3、使用如下命令之一配置内核:

  • make config
  • make menuconfig
  • make oldconfig
  • make xconfig

4、编译内核

  • make zImage
  • make bzImage

       区别:在x86平台,zImage只能用于小于512K的内核

       *如需获取详细编译信息,可使用:

  • make zImage V=1
  • make bzImage V=1

       **编译好的内核位于arch/<cpu>/boot/目录下**

5、编译内核模块

  • make modules

6、安装内核模块

  • make modules_install

       **将编译好的内核模块从内核源代码目录copy到 /lib/modules下**

7、制作init ramdisk

      mkinitrd initrd-$version $version  (Ubuntu下面没有mkinitrd, 相应的命令为 mkinitramfs -o initrd-$version $version)

      例:

          mkinitrd initrd-2.6.29 2.6.29  

      **这是将/lib/modules/$vesion 制作成ramdisk**

      *$version 可以通过查询/lib/modules下的目录得到

内核安装(x86平台)

1、 cp arch/x86/boot/bzImage    /boot/vmlinuz-$version

2、   cp $initrd /boot/

3、   修改/etc/grub.conf 或者 /etc/lilo.conf (Ubuntu下面只要执行update-grub就可以了)

        **$version为所编译的内核版本号**

原文地址:https://www.cnblogs.com/dolphi/p/2406129.html