Linux内核编译编译方法.docx
《Linux内核编译编译方法.docx》由会员分享,可在线阅读,更多相关《Linux内核编译编译方法.docx(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Linux内核编译编译方法一、为什么要编译内核;有时我们为了实现某些功能,比方对iptables的防火墙有些需要内核支持;还有实现一些硬件的支持等,这时我们需要重编内核;二、内核源码版本的选择;假如发行版本提供内核源码,最好还是用发行版本提供的;比方Fedora4.0提供了很多版本的内核源码;我们安装好后,他自带的配置文件大多能知足我们的需要,对于新手来讲,根据自带的内核的配置文件.config,我们也能学到一点怎样配置内核。也没有什么难的,熟能生巧罢了;假如从httpdocsj/doc/cde34b8752e2524de518964bcf84b9d529ea2c0a.下载最新稳定版本的内核也
2、是能够的;三、内核源码安装或解压;对于FedoraCore4.0来讲,内核源码是放在/usr/src/kernels目录中;假如通过在线升级内核,也是放在这个目录中;假如您的系统中的/usr/src/kernels/中没有内容,讲明您没有安装内核的源码包kernel-devel软件包;您能够通过软件包管理器来补装,请参考(Fedora/Redhat软件包管理指南)假如您用FedoraCore4.0,我建议您在保留老内核的基础上,在线下载最新版本的内核kerenl-devel和对应版本的kernel或者从httpdocsj/doc/cde34b8752e2524de518964bcf84b9d5
3、29ea2c0a.下载,有时可能新的kerenl已经解决了您所面对的问题,这时就没有必要编译内核了;假如您是通过在线安装的内核源码包,比方通过apt+synaptic或者yum安装的,内核源码会被放到/usr/src/kernel下的目录中,您要进入相对应的目录进行编译;在线更新软件包,请参考(Fedora/Redhat软件包管理指南),推荐apt+synaptic工具;假如您是是下载kernel和kernel-devel的rpm包,能够通过来安装;代码:1.rootlocalhostbeinan#rpm-ivhkernel*.rpm复制代码假如您是从httpdocsj/doc/cde34b8
4、752e2524de518964bcf84b9d529ea2c0a.下载的类似linux-2.6.13.tar.bz2或者linux-2.6.13.tar.gz的,您要把下载下来的文件移到/usr/src目录中解压;然后进入解压的目录中进行配置和编译;代码:1.rootlocalhostbeinan#mvlinux-2.6.13.tar.bz22.rootlocalhostbeinan#cd/usr/src/3.4.rootlocalhostsrc#tarjxvflinux-2.6.12.3.tar.bz2复制代码提示:本文以linux-2.6.12.3为例,其实通过发行版的升级版的kerne
5、l-devel和从httpdocsj/doc/cde34b8752e2524de518964bcf84b9d529ea2c0a.下载下来的差不多,大同小异;不同的是通过在线升级的rpm格式的内核源码包,有配置文件.config能够参考;安装到的目的地是/usr/src/kernel对FC4.0来讲;假如您要高编译和配置内核。四、内核的配置;1、进入目录执行makemrproper,对于从httpdocsj/doc/cde34b8752e2524de518964bcf84b9d529ea2c0a.下载而来的tar.bz格式的源码包;代码:1.rootlocalhostsrc#cdlinux-2.
6、6.12.3/2.3.rootlocalhostlinux-2.6.12.3#4.5.rootlocalhostsrc#cdlinux-2.6.12.3/6.7.rootlocalhostlinux-2.6.12.3#makemrproper8.9.rootlocalhostlinux-2.6.12.3#makemenuconfig复制代码对于FedoraCore4.0,假如您是通过在线安装的kernel和kernel-devel新版本的包,比方是2.6.12-1.1398_FC4-i686,你能够直进入/usr/src/kernel/相应的目录中直接执行makemenuconfig;利用发行
7、版本提供的.config来配置,这样方便点。不要makemrproper,否则.config就没有了;这也是为什么要用发行版本提供的内核源码升级包的原因;其它配置和安装大同小异;模拟总能够吧;2.扼要的配置内核;进入配置内核的配置形式后,我们可能一无所知,看下面;内核配置有两种方法,一种是直接置入内核*;另一种是编成模块M;两种方法各有优点;直接编入内核的,比方设备的启动,不再需要加载模块的这一经过了;而编译成模块,则需要加载设备的内核支持的模块;但直接把所有的东西都编入内核也不是可行的,内核体积会变大,系统负载也会过重。我们编内核时最好把极为重要的编入内核;其它的假如您不明白的,最好用默认。
8、1移动键盘上下左右键,按Enter进入一个目录。把指针移动到Exit就退出当前目录到上级目录;2针对本人机器存在的问题进行修改,比方大内存的支持;选择本人机器的CPU;移动键盘到Processortypeandfeatures-,然后按ENTER进入;找到Processorfamily(Pentium-Pro)-按ENTER进入;进入后我们发现有好多CPU的型号可选;一般的情况下要根据bash-3.00#cat/proc/cpuinfo输出的信息来选,比方我们的是CeleronP4一代的,应该选如下的,当然默认的486也是能够正常运行的,既然我们重编一次内核,就得选中对应型号的,也许性能有所提
9、高呢;代码:1.Processorfamily(Pentium-4/Celeron(P4-based)/Pentium-4M/Xeon)复制代码对大内存支持;假如内存是1G或者1G以上,但小于4G的,就要选4G支持;假如超过4G的,要选64G的支持;代码:1.HighMemorySupport(4GB)-2.(X)4GB3.()64GB复制代码还有比方声卡等硬件,需要我们一步一步的查看;假如有不明之处,就要按shift+?的组合键来查看讲明。一般的情况下,2.6.x的内核会根据机器的情况自动配出一个文件,只需要我们来查看一下,把重要的地方改改就行了;再举个例子:比方我如今所用的声卡是intel
10、ac97的,我应该怎么配置呢?首先要知道本人的声卡的芯片组,我们要通过lspci-v来查看;代码:1.rootlocalhostbeinan#lspci-v复制代码只查看声卡的,应该用如下的方法:代码:1.rootlocalhostbeinan#lspci-v|grepaudio2.00:1f.5Multimediaaudiocontroller:3.IntelCorp.82801DB(ICH4)AC97AudioController(rev03)复制代码通过上面的输出,我们知道这台机器用的是intelAC97声卡;所以我们要十分注意AC97的配置;代码:找到DeviceDrivers-Sou
11、nd-Soundcardsupport声卡的支持,这个是一定要选中的吧;AdvancedLinuxSoundArchitecture对声卡支持的ALSA驱动的支持;下面有OSS驱动,只是一部份。假如想用OSS的驱动更全的,能够去买;其它的就看如下的选吧;1.Sequencersupport2.3.Sequencerdummyclient4.5.OSSMixerAPI6.7.OSSPCM(digitalaudio)API*OSSSequencerAPI8.9.RTCTimersupport*VerboseprintkDebug复制代码大多是默认的就好,假如您不知道是做什么用的,或者怎么用;然后我
12、们再向下看有代码:Genericdevices-进入里面1.Dummy(/dev/null)soundcard2.3.VirtualMIDIsoundcard4.5.MOTUMidiTimePieceAVmultiportMIDI6.7.UART16550serialMIDIdriver8.9.GenericMPU-401UARTdriver10.11.ISAdevices-假如您用ISA声卡就在这里面选;12.13.PCIdevices-假如您用PCI声卡,就在这里面选,集成声卡也在这里;14.httpdocsj/doc/cde34b8752e2524de518964bcf84b9d529e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 内核 编译 方法
限制150内