第一个linux内核编译

  最近看linux内核的书看的挺多,但是真正实践还几乎没有,所以就想来编个linux内核模块试试。

  由于我装的虚拟机没有源码和相应的一些东东(例如build文件夹),所以先编译了内核。

  1.先新建一台虚拟机,然后装好linux操作系统

  2.下载一份linux内核源代码(我的是linux2.6.18),解压到虚拟机的某个目录下

  3.使用make  mrproper

                          [root@xyly linux-2.6.39.4]# make mrproper                          #去除内核的依赖关系及编译后的垃圾信息

  4. 配置你所想要的内核模块

 

     [root@xyly linux-2.6.39.4]# make menuconfig 或make xconfig 或 make gconfig

 

    make menuconfig 在以菜单模式进入内核配置界面

 

    make xconfig 是在图形界面模式进入内核配置界面

 

    make gconfig 在图形界面模式进入内核配置界面

    遇到一个问题就是用菜单模式安装失败,报缺少文件:

      

  解决方法:

 

  安装ncurses-devel,这个是红帽或者FC的安装程序,Ubuntu的需要安装libncurses5-dev

 

   5.make命令编译内核

   6.使用make  modules命令编译内核

 

    [root@xyly linux-2.6.39.4]# make  modules  #编译内核模块

   6.使用make modules_install安装内核

    安装成功后在/lib/modules 下有一个2.6.18的目录。里面放的是新内核可加载的所有模块

   7. 编译安装 make   install  

    sh /root/linux-2.6.39.4/arch/x86/boot/install.sh 2.6.39.4 arch/x86/boot/bzImage \
    System.map "/boot"

 

    内核安装完毕

 

  8.[root@xyly boot]# ll initrd-2.6.39.4.img
    -rw------- 1 root root 2722020 Aug 29 14:43 initrd-2.6.39.4.img
    [root@xyly boot]# pwd
    /boot

 

  9.设置启动顺序,把刚编译的内核添加到grub中

 

  (啊 哦、惊讶!!! 内核启动已经添加进去了,省的动手了)

 

  修改/etc/grub.conf 中的default 启动顺序 如下

 

  default=0

 

  重启下系统,看看是否内核升级了。

 

  [root@xyly ~]# uname -r
  2.6.39.4

 

 OK !!! 升级完毕!

转载于:https://www.cnblogs.com/songjiqiu/archive/2012/11/21/2781419.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值