在虚拟机中编译内核

在虚拟机中编译内核

1. 下载内核源码

 
    #cd  /usr/src
    #wget  http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.tar.gz

2. 解压内核源码

 
    #cd  /usr/src
    #tar  zxvf  linux-2.6.29.tar.gz
    #ln  -s  linux-2.6.29  linux

3. 给内核源码打补丁(可选)

 
    #cd  /usr/src/linux
    #patch  -p1  < /…/…/xxx.patch            打上补丁

4. 配置内核 用lspci命令,查看主板上的芯片,要注意硬盘是哪种类型、南桥芯片、SCSI卡型号、网卡、声卡等。

4.1 使用默认配置#make defconfig
4.2 或者使用当前工作内核的配置文件做为新内核配置文件的基础是个很好的注意。
 
    #cp  /boot/config-`uname -r`   /usr/src/linux/.config
然后进行配置
 
    #make  menuconfig
4.3 然后我们选择”Load an Alternate Configuration FIle”,然后选择”.config”文件作为配置文件。
4.4 配置完后,要选择 "Save an Alternate Configuration FIle".

5. 修改内核版本号#cd /usr/src/linux

 
    #vim Makefile
改成”EXTRVERSION =  .zhu.scst2.0.0.1”

6. 编译内核#make clean

 
    #make bzImage
所获得内核的位置在/usr/src/linux/arch/x86/boot/目录下。

7. 编译内核模块

 
    #make  modules

8. 安装内核模块

 
    #make  modules_install
将编译后的模块转移到系统标准位置。

9. 安装内核

 
    #make install

这条命令将:

  • 把压缩的内核映像拷贝到/boot目录下;
  • 调用mkinitrd程序创建内核的initrd映像;
  • 对GRUB而言,将修改/boot/grub/grub.conf配置文件;

Leave a Reply

Your email address will not be published. Required fields are marked *