欢迎来到天天文库
浏览记录
ID:13216182
大小:69.00 KB
页数:12页
时间:2018-07-21
《linux内核编译--编译方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、为什么要编译内核; 有时我们为了实现某些功能,比如对iptables的防火墙有些需要内核支持;还有实现一些硬件的支持等,这时我们需要重编内核; 二、内核源码版本的选择; 如果发行版本提供内核源码,最好还是用发行版本提供的;比如Fedora4.0提供了很多版本的内核源码;我们安装好后,他自带的配置文件大多能满足我们的需要,对于新手来说,根据自带的内核的配置文件.config,我们也能学到一点如何配置内核。也没有什么难的,熟能生巧罢了; 如果从kernel.org下载最新稳定版本的内核也是可以的; 三、内核源码安装或解压
2、; 对于FedoraCore4.0来说,内核源码是放在/usr/src/kernels目录中;如果通过在线升级内核,也是放在这个目录中;如果您的系统中的/usr/src/kernels/中没有内容,说明您没有安装内核的源码包kernel-devel软件包; 您可以通过软件包管理器来补装,请参考《Fedora/Redhat软件包管理指南》 如果您用FedoraCore4.0,我建议您在保留老内核的基础上,在线下载最新版本的内核kerenl-devel和对应版本的kernel或者从kernel.org下载,有时可能新的keren
3、l已经解决了您所面对的问题,这时就没有必要编译内核了; 如果您是通过在线安装的内核源码包,比如通过apt+synaptic或者yum安装的,内核源码会被放到/usr/src/kernel下的目录中,您要进入相对应的目录进行编译; 在线更新软件包,请参考《Fedora/Redhat软件包管理指南》,推荐apt+synaptic工具; 如果您是是下载kernel和kernel-devel的rpm包,可以通过来安装; 代码:1.[root@localhostbeinan]#rpm-ivhkernel*.rpm复制代码 如果您是
4、从kernel.org下载的类似linux-2.6.13.tar.bz2或者linux-2.6.13.tar.gz的,您要把下载下来的文件移到/usr/src目录中解压;然后进入解压的目录中进行配置和编译; 代码:1.[root@localhostbeinan]#mvlinux-2.6.13.tar.bz22.[root@localhostbeinan]#cd/usr/src/3.4.[root@localhostsrc]#tarjxvflinux-2.6.12.3.tar.bz2复制代码提示:本文以linux-2.6.12.3
5、为例,其实通过发行版的升级版的kernel-devel和从kernel.org下载下来的差不多,大同小异;不同的是通过在线升级的rpm格式的内核源码包,有配置文件.config可以参考;安装到的目的地是/usr/src/kernel对FC4.0来说;如果您要高编译和配置内核。四、内核的配置; 1、进入目录执行makemrproper,对于从kernel.org下载而来的tar.bz格式的源码包; 代码:1.[root@localhostsrc]#cdlinux-2.6.12.3/2.3.[root@localhostlinux
6、-2.6.12.3]#4.5.[root@localhostsrc]#cdlinux-2.6.12.3/6.7.[root@localhostlinux-2.6.12.3]#makemrproper8.9.[root@localhostlinux-2.6.12.3]#makemenuconfig复制代码 对于FedoraCore4.0,如果您是通过在线安装的kernel和kernel-devel新版本的包,比如是2.6.12-1.1398_FC4-i686,你可以直进入/usr/src/kernel/相应的目录中直接执行make
7、menuconfig;利用发行版本提供的.config来配置,这样方便点。不要makemrproper,否则.config就没有了;这也是为什么要用发行版本提供的内核源码升级包的原因; 其它配置和安装大同小异;模仿总可以吧; 2.简要的配置内核; 进入配置内核的配置模式后,我们可能一无所知,看下面; 内核配置有两种方法,一种是直接置入内核*;另一种是编成模块M;两种方法各有优点;直接编入内核的,比如设备的启动,不再需要加载模块的这一过程了;而编译成模块,则需要加载设备的内核支持的模块;但直接把所有的东西都编入内核也不是可行
8、的,内核体积会变大,系统负载也会过重。我们编内核时最好把极为重要的编入内核;其它的如果您不明白的,最好用默认。 1)移动键盘上下左右键,按Enter进入一个目录。把指针移动到Exit就退出当前目录到上级目录; 2)针对自己机器存在的问题进行修改
此文档下载收益归作者所有