网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
天线制作 GPS 地标
网站地图 RSS订阅
高级搜索 收藏本站
Home | 业界动态 | Open source | GNU | Linux | BSD | Solaris | AIX | HP-UX | IRIX | Mac OS X | Minix | Tru64 | SCO UNIX | Network | Security | X-Window | Database | 应用服务 | Programming | 经典著作 | 永远的纪念 | 杂项
 当前位置: Home > Linux > 内核 > 文章  
Linux操作系统的内核编译内幕详解
文章来源: 赛迪网开发者论坛 文章作者: IHH 发布时间: 2005-09-21   字体: [ ]  
 

  编译

  在繁杂的配置工作完成以后,下面你就可以自己到杯茶耐心等候了。与编译有关的命令有如下几个:

# make dep
# make clean
# make zImage
# make bzImage
# make modules
# make modules_install
# depmod -a

  第一个命令make dep实际上读取配置过程生成的配置文件,来创建对应于配置的依赖关系树,从而决定哪些需要编译而那些不需要;第二命令make clean完成删除前面步骤留下的文件,以避免出现一些错误;第三个命令make zImage和第四个命令make bzImage实现完全编译内核,二者生成的内核都是使用gzip压缩的,只要使用一个就够了,它们的区别在于使用make bzImage可以生成大一点的内核,比如在编译2.4.0版本的内核时如果使用make zImage命令,那么就会出现system too big的错误提示。建议大家使用make bzImage命令。

  后面三个命令只有在你进行配置的过程中,在回答Enable loadable module support (CONFIG_MODULES)时选了"Yes"才是必要的,make modules和make modules_install分别生成相应的模块和把模块拷贝到需要的目录中。

  严格说来,第七个命令和编译过程并没有关系,它是生成模块间的依赖关系,这样你启动新内核之后,使用modprobe命令加载模块时就能正确地定位模块。

  更新

  经过以上的步骤,我们终于得到了新版本的内核。为了能够使用新版本的内核,我们还需要做一些改动:

# cp /usr/src/linux/System.map /boot/System.map-2.4.0test8
# cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz-2.4.0test8

  以上这两个文件是我们刚才编译时新生成的。下面修改/boot下的两个链接System.map和vmlinuz,使其指向新内核的文件:

# cd /boot;rm -f System.map vmlinuz
# ln -s vmlinuz-2.4.0test8 vmlinuz
# ln -s System.map-2.4.0test8 System.map

  然后修改/etc/lilo.conf:

# vi /etc/lilo.conf

  增加如下一段:

image=/boot/vmlinuz-2.4.0test8
label=linux240
read-only
root=/dev/hda2

  其中root=/dev/hda2一行要根据需要自行加以修改。运行:

# /sbin/lilo -v

  确认对/etc/lilo.conf的编辑无误,现在重新启动系统:

# shutdown -r now

  在机器重启后出现LILO时按TAB键,输入linux240,我们的新内核发挥作用了,好好享受吧。

  (参考链接: http://linux.ccidnet.com/art/741/20050921/338445_1.html)

 
推荐文章
·浅谈关于Linux系统内核的源代码
·打造适合自己Slackware机器的内
·自己动手做一个最小的Linux kern
·一个Linux爱好者的2.6.11内核编
·定制Linux系统内核,发挥Linux潜
·如何编译一个操作系统内核-Ubunt
·重新编译Linux操作系统的内核指
·快速编译Linux内核需要的模块方
·编译内核以使其支持PS并口改装手
·编译支持NTFS的Linux系统内核模
·配置、编译Linux系统内核的实用
·Linux操作系统的内核编译详细步
·Linux基础知识:内核编译-内核管
·教你一招,给Linux内核补IPVS补
 
 
共7页: 上一页 [1] [2] [3] [4] [5] [6] 7 下一页
↑返回顶部   打印本页   关闭窗口↓  

Google
 
Web oldhand.org unixreference.net meshmea.org
相关分类
热点文章
·Linux中的Ramdisk与Init
·Linux 初始 RAM 磁盘(i
·一个Linux爱好者的2.6.1
·自己动手做一个最小的Li
·如何在Linux系统中添加
·如何编译一个操作系统内
·udev轻松上路
·Linux2.6内核驱动移植
相关文章
·Linux操作系统的内核编
·Linux基础知识:内核编
·让你的Linux内核重编译
·教你一招,给Linux内核
·配置、编译Linux系统内
·编译支持NTFS的Linux系
·精华:升级Linux操作系
·编译内核以使其支持PS并
更多...
 
 

Copyright(c) 2001-2009 OLDHAND ORGANIZATION, All Rights reserved.
Power by DedeCms 织梦内容管理系统