收藏 分销(赏)

Linux内核编译过程详解.doc

上传人:pc****0 文档编号:8734762 上传时间:2025-02-28 格式:DOC 页数:13 大小:1,007KB
下载 相关 举报
Linux内核编译过程详解.doc_第1页
第1页 / 共13页
Linux内核编译过程详解.doc_第2页
第2页 / 共13页
点击查看更多>>
资源描述
内核升级前的准备工作: Linux系统进行内核升级或定制内核时需要安装GCC编译工具、make编译器,同时变异内核需要root权限。 安装GCC编译环境参考: 操作系统:RHEL 5.5 开始安装:按照以下顺序安装所需要的包就可以完成GCC的安装了 1. rpm -ivh kernel-headers-2.6.18-194.el5.i386.rpm 2. rpm -ivh glibc-headers-2.5-49.i386.rpm 3. rpm -ivh glibc-devel-2.5-49.i386.rpm 4. rpm -ivh libgomp-4.4.0-6.el5.i386.rpm 5. rpm -ivh gcc-4.1.2-48.el5.i386.rpm 6. rpm -ivh libstdc++-devel-4.1.2-48.el5.i386.rpm 7. rpm -ivh gcc-c++-4.1.2-48.el5.i386.rpm 8. rpm -ivh ncurses-5.5-24.20060715.i386.rpm 9. rpm -ivh ncurses-devel-5.5-24.20060715.i386.rpm 注意:在升级编译完内核,重启后提示如下错误信息: RedHat nash Version 5.1.19.6 startingrver(2.6.33.3) mount: could not find filesystem ‘/dev/root’ setuproot: moving /dev failed: No such file or directory setuproot: error mounting /proc: No such file or directory setuproot: error mounting /sys: No such file or directory switchroot: mount failed: No such file or directory Kernel panic – not syncing: Attempted to kill init! [Linux-initrd @ 0x1fc37000,0x228585 bytes] 于是在网上找了很多,也尝试了很多加模块、重编译了N次、改fstab等方法,都不行。最后在一个网站上找到解决方法。 方法:编译时修改.config文件中的“CONFIG_SYSFS_DEPRECATED_V2”,默认该选项为not set,被注释掉的,将其改为y。即修改为“CONFIG_SYSFS_DEPRECATED_V2=y”,修改后,再编译,重启即正常了。 内核升级命令: make mrproper 清理源代码树 make menuconfig 配置内核支持硬件参数 vim .config make dep 设定依赖关系 make bzImage 编译内核 make modules 编译可加载内核模块 make modules_install 安装编译的模块 make install 安装新内核 vim /etc/grub.conf 编辑开机菜单选项grub文件 下面是我的系统信息: ————————————- Red Hat Enterprise Linux 5.5 kernel:2.6.18-194.el5 ————————————- 注意:内核升级有风险,可能会影响现有的应用程序。但是只要做好准备,就能将危险性降到最低。进行内核升级对应用程序运行的兼容性、稳定性等等都有好处。 下面进行内核升级: 1.使用命令uname –r 查看自己linux系统的内核版本 2.进入解压后的内核源码包目录,接着使用命令 make mrproper ,命令的作用是在每次配置并重新编译内核前需要先执行 “make mrproper”命令清理源代码树,包括过去曾经配置的内核配置文件“.config”都将被清除。即进行新的编译工作时将原来老的配置文 件给删除到,以免影响新的内核编译。 3. 使用make menuconfig 命令,进行内核定制,选择自己想要的功能,这里以编译内核,让linux内核支持ntfs文件系统为例来讲解,具体过程见图: 4.调出文字界面的配置菜单,接下来选择文件系统选项: 5.敲回车后,继续选择能支持windows文件系统类型的选项 6.最后选择我们需要的NTFS文件系统类型,编译到内核模块里,并且选择exit退出: 7.最后选择退出: 8.选择yes,保存新的内核配置文件: 9.看一下生成的.config文件的位置和属性 10.在编译内核之前,需要使用“make dep”命令生成内核功能间的依赖关系,为编译内核做好准备。 11.使用“make bzImage”命令进行内核编译,编译过程将持续相当长的时间(20分钟以上),请耐心等候。 12.使用“make modules”命令编译内核模块,编译过程将持续相当长的时间(30分钟以上),请耐心等候。 13.内核模块编译好后需要安装到Linux系统的相应目录中才可以使用,使用“make modules_install”命令安装内核模块。“/lib/modules/”目录用于存放Linux系统中的内核模块,内核的各个版本都在该目录下建有子目录用于存放内核模块。 14.使用“make install”命令安装新内核到系统中,并且自动为是用新内核作必要的配置。 15.查看编译成功后,在/boot/目录下会生成vmlinuz-2.6.23.9 的文件和能看到/boot/grub/grub.conf里的启动项。 16.到/lib/modules/2.6.23.9/kernel/fs 目录下查看新生成的支持NTFS文件系统的内核模块。 17.vim /etc/grub.conf #编辑开机菜单选项grub文件 18.重启计算机,看到开机画面后,敲回车键选择新的内核引导系统。 19.进入系统后可以使用“uname -r”查看新内核版本,至此内核编译已经成功完成。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服