




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十三章,内核重新编译与升级,内容简介,linux内核简介 linux内核版本号 linux为什么重新编译内核 linux内核编译模式 linux内核功能划分 linux内核编译步骤 其它升级内核的方法,linux内核简介,内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动、文件和网络系统,决定着系统的性能和稳定性。,内核版本号,确定内核版本uname r 一个树是稳定树(stable tree) 一个树是非稳定树(unstable tree)或者开发树(development tree) 源程序版本号的形式为x.y.z 对于稳定树来说,y是偶数;对于开发树来说,y比相应的稳定树大一(因此,是奇数),为什么重新编译内核,编译的原因 支持新安装的硬件设备:比如您刚买了一块新的声卡,但是当前的内核没有提供其驱动,而新版本内核可以驱动该声卡。 运行一个程序,但是操作系统不支持该程序需要的功能。 某个用户需要的内核功能。 用户希望对内核进行优化,自己定制编译的内核运行更快(具有更少的代码)。 内核升级(驱动、BUG、意愿、功能、安全、有时间进行升级)。 不需要的功能编译进入内核可能会增加被系统攻击者利用的漏洞。 为什么不编译 如果只是想给内核加上很少数量的功能的话,就没有必要进行编译 编译内核可能会遇到的困难:面对众多的选项,内核编译模式,如果编译到内核中,在内核启动时就可以自动支持相应部分的功能,这样的优点是方便、速度快,机器一启动,你就可以使用这部分功能了;缺点是会使内核变得庞大起来,不管你是否需要这部分功能,它都会存在,这就是Windows惯用的招数,建议经常使用的部分直接编译到内核中,比如网卡。 如果编译成模块,就会生成对应的.o文件,在使用的时候可以动态加载,优点是不会使内核过分庞大,缺点是你得自己来调用这些模块。,linux内核功能划分,进程管理 内存管理 设备控制 网络功能 设备和模块分类 字符设备、块设备、网络接口 字符模块、块模块、网络模块,新版本内核的获取和更新,linux内核版本发布的官方网站是 新版本的内核分两种, 一种是full Source版本, 一种是patch文件,即补丁,为内核源代码打补丁,内核经常需要小规模地升级。每次升级修复一个特定的bug,增加一个新的驱动程序或者功能,或者实现其他任务。 1) 下载主版本的源代码和升级到新版本需要的补丁的源代码。 2) 使用c d命令把路径切换到/usr/src目录。 3) 把下载的源代码和补丁都拷贝到这个目录中。 4) 进入内核源码包内,执行 bzcat /patch-2.6.27 p1 zcat /patch-2.6.27 p1 5) 准备编译,以实现挂载NTFS分区为例,需要重新编译内核 需要下载ntfs-3g这个软件,编译内核,1) 获取需要安装的内核源代码 2) 使用tar命令把源代码解包到/usr/src/目录 3) 使用cd命令把路径切换到这个目录 4)“make mrproper”删除目前的配置和所有生成的文件(vim Makefile 1149) 5) 选择你想使用的内核配置工具程序 图形化功能最少,又很乏味的工具是config程序 一个图形化的工具是menuconfig程序 用于对内核进行配置的X工具总是最流行的,它叫做xconfig Make config|menuconfig|xconfig|oldconfig 保存并退出内核配置程序之后,就已经有了用来配置内核设置值了 6) “make dep”这个命令在2.4以前版本使用。建立依赖关系表,它定义了包括在内核源代码中的某个特定文件如果发生了变化,就需要修改哪一个文件。 7) “make bzImage” 完成建立新内核的过程 8) “make modules” 编译内核模块并把它们存放到相应的位置。这是那些需要加载或者卸载的内核模块,另外还有一些固定加载的 9) “make modules_install”命令安装模块到需要的位置 10) “make install”将vmlinuz安装到/boot,并配置grub.conf(也可手动完成) 11) “reboot”重新启动,加载新的内核,内核 mkinitrd BUG,/show_bug.cgi?id=488991 No module dm-mem-cache found for No module dm-region found for No module dm-message found for No module dm-raid45 found for (此问题我已经解决) /heinzm/sw/dm/dm-raid45/,手动设置编译好的内核,vmlinuz-2.6.27 System.map-2.6.27 initrd-2.6.27.img 关于这三个文件的作用,大家可以到我的BLOG上看一下! # mkinitrd /boot/initrd-2.6.27.img 2.6.27 -without-dmraid No module dm-mem-cache found for kernel 2.6.27, aborting. # cp /usr/src/linux-2.6.27/arch/i386/boot/bzImage /boot/vmlinuz-2.6.7 # cp /usr/src/linux-2.6.7/System.map /boot/System.map-2.6.7,其它
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年飞机盒项目发展计划
- 2025年营养强化剂项目建议书
- 抛光工安全培训
- 2025年法人大数据项目发展计划
- 福建省莆田市某校2024-2025学年五年级上学期第一次月考语文试题
- 抗浮锚杆施工工艺
- 自卑案例的题目及答案
- 高中必修考试例题及答案
- 2025年饮料灭菌乳项目建议书
- tcp协议的特点与特征
- 医学教育中的全科医学与专科医学的比较与协同
- 肠梗阻小讲课
- 马克思主义经典著作选读
- 食材配送沟通服务方案
- 机房建设清单
- 第09章-船舶甲板机械电力拖动及其电气控制
- 小学思政课《爱国主义教育》
- 城市轨道交通-前期咨询工作收费指导意见
- 前列腺癌的诊断与PI-RADS影像
- 现代物流基础PPT完整全套教学课件
- 华为解决方案营销五环十四招
评论
0/150
提交评论