首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>系统管理>内核技术>正文

Linux重新编译内核指南

http://www.oklinux.cn  2007-04-17  来源:           会员收藏  游客收藏  【 】 

  
    配置完内核,接下来需要对内核源代码文件的依赖性和完整性进行检验,并且进行编译,此时要保证系统所使用的gcc版本在gcc-2.7.2以上:
  
    #make dep (确保关键文件在正确的位置)
  
    #make clean (确保所有有关文件都处于最新版本状态)
  
    #make zImage (编译压缩形式的内核)
  
    在需要内核支持较多的外设和功能时,内核可能变得很大,此时可以编译大内核:
  
    #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等,所以使用这些发行版本的用户如果按照上面的步骤进行内核升级则会导致汉化失败、系统运行不稳定等后果。用户需要等待厂家发行新内核的汉化包,然后到厂家指定的下载站点下载,按照其中的说明进行升级。
共2页: 上一页 [1] 2 下一页

上一篇: linux2.6内核编译   下一篇: Linux内核编译完整过程


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
· Linux内核编译完整过程
· linux2.6内核编译
· Linux系统内核的同步机制“自旋锁”
· 如何编译Linux的内核
· Linux系统下解析Elf文件DT_RPATH后门
· 一次即大功告成 Linux内核升级全过程
· Linux 内核解读入门
· 内核中的物理内存分配函数kernel api
· Linux系统内核代码特色一览
· 定制Linux内核 充分发挥系统的潜能
· 详细解析 Linux内核的主要配置选项
· THE LINUX/I386 BOOT PROTOCOL
· Linux内核分析方法
· 如何编译一个Linux操作系统内核-Ubuntu方式
· 内核操作 Linux2.6内核驱动移植参考
· Linux操作系统的核心数据结构
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·学习园地:Linux系统内核中判断大小的
·系统编译:如何给Make命令来传递参数
·Linux 2.6内核中sysfs文件系统简单概述
·Fedora 8 Linux系统的内核配置注意事项
·升级Linux内核的一般步骤方法
·Linux发行版知识普及:三个版本的CPUID
·编译安装Virtualbox驱动模块
· Linux系统的内核解读入门
·新手学堂 Linux系统的内核解读入门
·Linux系统内核中网络参数的意义及其应
·走向Linux系统高手之路 内核编译过程解
·Linux系统中安装内核的方法详细介绍
  阅读排行
· 深入理解LINUX内核中文版下载地址
·基于S3C44B0微处理器的uClinux内核引导
·Kernel command using Linux system ca
·Linux 2.6内核如何武装Fedora Core 2
·Process priority and control on AIX
·Linux操作系统的内核编译内幕详解
·推荐:Linux用户态与内核态的交互
·通过振动向Linux ThinkPad传输信息
·Linux操作系统源代码详细分析(二)
·Linux系统内核接收以太帧的处理程序
·Linux and symmetric multiprocessing
·主流嵌入式Linux系统下GUI解决方案
·揭秘Linux内核调试器之内幕
·用命令行加挂Linux的文件系统简介
·Linux内核和核心OS组件的测试与分析
网摘收藏: