网络安全参考 | 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操作系统的内核指南
文章来源: 赛迪网技术社区 文章作者: shaying 发布时间: 2007-01-08   字体: [ ]  
 

  在需要内核支持较多的外设和功能时,内核可能变得很大,此时可以编译大内核:

# make bzImage

  编译的时间与机器的硬件条件及内核的配置等因素有关,以笔者的64MB内存的赛扬300为例,编译内核一次大致需要20多分钟。所获得的内核的位置在/usr/src/linux/arch/i386/boot目录下,当然这里假设用户的CPU是x86型的。

  如果选择了可加载模块,编译完内核后,要对选择的模块进行编译:

# make module (编译选择的模块)
# make module-install (将编译后的模块转移到系统标准位置)

  模块在系统中的标准目录位于/lib/modules/x.y.z,后面的x.y.z是版本号,为安全起见,在运行# make modules-install之前最好对/lib/modules进行备份。模块通常是带有扩展名.o的文件,使用命令# lsmod可以对当前内核的模块进行列表。

  软件下载与解包

  选择相对快速并且具有权威性的站点下载最新的内核源代码包,例如条件允许的话可以到下面的站点下载:ftp://sunsite.unc.edu/pub/linux/kernel

  国内Linux用户可以到下面的站点下载:

http://studio.openunix.org
http://www.clinuxworld.com

  注意,如果升级版本的跨度很大,并且预计会配置外部模块时,还要下载最新的模块工具modules-x.y.z.tar.gz。

  Linux系统的核心代码存放于目录/usr/src/linux,实际上,该目录是一个链接,指向当前所用的核心版本的目录,例如如果当前使用的版本是2.0.34,则该核心的实际目录应该是:/usr/src/linux- 2.0.34。而新下载的内核中的目录是linux,这样,直接在/usr/src下解包会导致原来的内核目录被覆盖。所以稳妥的做法是,首先删除链接 linux,然后解包、更名、重新链接。

  在解包前要确认在/usr/src目录下没有叫linux的目录,或者不再想保留该目录。

  另外,随着Linux内核功能的增强及对更多外设的支持,文件包也越变越大,当前最新的稳定版2.2.14内核压缩包的大小约为14MB,但实际上解压缩及编译等环节,要求/usr/src目录所在的分区的空闲空间大于60MB字节。

  启用新内核

  将编译好的新内核拷贝到系统目录/boot下,例如

# cp /usr/src/linux/arch/i386/boot/zImage /boot/zImage-2.2.14

  然后,编辑系统引导配置文件/etc/lilo.conf,仿照原有选项添入新内核选项,给它起一个明显好记的标签(label),记住此时最好保留原有内核以及相应的选项,这样不用害怕升级失败而机器启动不了,至少还可以使用旧的内核引导自己的计算机。保存编辑后退出,此时要记住运行命令:# lilo,更新系统引导映象,这样对lilo.conf的修改才能起作用。

  重启机器后,在LILO的提示符下按“Tab”键,则应该看到加入的新内核选项。

  对于当前国内进行汉化后的Linux版本,由于其中的几个主要版本是在内核中进行,例如冲浪平台的Xteam Linux、蓝点Bluepoint Linux等,所以使用这些发行版本的用户如果按照上面的步骤进行内核升级则会导致汉化失败、系统运行不稳定等后果。用户需要等待厂家发行新内核的汉化包,然后到厂家指定的下载站点下载,按照其中的说明进行升级。

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

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

Google
 
Web oldhand.org unixreference.net meshmea.org
相关分类
热点文章
·Linux中的Ramdisk与Init
·Linux 初始 RAM 磁盘(i
·一个Linux爱好者的2.6.1
·自己动手做一个最小的Li
·如何在Linux系统中添加
·如何编译一个操作系统内
·udev轻松上路
·Linux2.6内核驱动移植
相关文章
·如何编译一个操作系统内
·快速编译Linux内核需要
·编译内核以使其支持PS并
·定制Linux系统内核,发
·一个Linux爱好者的2.6.1
·编译支持NTFS的Linux系
·简单编译升级内核激活FC
·配置、编译Linux系统内
更多...
 
 

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