ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:26.50KB ,
资源ID:17055709      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17055709.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(新手指南 Linux编译内核操作流程Word格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

新手指南 Linux编译内核操作流程Word格式.docx

1、rootlocalhost beinan# cd /usr/src/ rootlocalhost src# tar jxvf linux-2.6.12.3.tar.bz2 提示:本文以linux-2.6.12.3为例,其实通过发行版的升级版的kernel-devel 和从kernel.org 下载下来的差不多,大同小异;不同的是通过在线升级的rpm格式的内核源码包,有配置文件.config 可以参考;安装到的目的地是/usr/src/kernel 对FC 4.0来说;如果您要高编译和配置内核, 四、内核的配置;1、进入目录执行 make mrproper ,对于从 kernel.org 下载而

2、来的tar.bz格式的源码包;rootlocalhost src# cd linux-2.6.12.3/ rootlocalhost linux-2.6.12.3# rootlocalhost linux-2.6.12.3# make mrproper rootlocalhost linux-2.6.12.3# make menuconfig 对于Fedora Core 4.0 ,如果您是通过在线安装的 kernel和kernel-devel 新版本的包,比如是2.6.12-1.1398_FC4-i686,你可以直进入 /usr/src/kernel/相应的目录中直接执行 make menuc

3、onfig ;利用发行版本提供的 .config 来配置,这样方便点。不要make mrproper ,否则.config 就没有了;这也是为什么要用发行版本提供的内核源码升级包的原因;其它配置和安装大同小异;模仿总可以吧;2.简要的配置内核;进入配置内核的配置模式后,我们可能一无所知,看下面;内核配置有两种方法,一种是直接置入内核 * ;另一种是编成模块 M ;两种方法各有优点;直接编入内核的,比如设备的启动,不再需要加载模块的这一过程了;而编译成模块,则需要加载设备的内核支持的模块;但直接把所有的东西都编入内核也不是可行的,内核体积会变大,系统负载也会过重。我们编内核时最好把极为重要的编入

4、内核;其它的如果您不明白的,最好用默认。1)移动键盘上下左右键,按Enter进入一个目录。把指针移动到Exit就退出当前目录到上级目录;2)针对自己机器存在的问题进行修改,比如大内存的支持;选择自己机器的CPU;移动键盘到Processortypeandfeatures-,然后按ENTER进入;找到family(Pentium-Pro)按ENTER进入;进入后我们发现有好多CPU的型号可选;一般的情况下要根据 bash-3.00#cat/proc/cpuinfo输出的信息来选,比如我们的是Celeron(P4)一代的,应该选如下的,当然默认的486也是可以正常运行的,既然我们重编一次内核,就得

5、选中对应型号的,也许性能有所提高呢;(Pentium-4/Celeron(P4-based)/Pentium-4M/Xeon) 对大内存支持;如果内存是1G或者1G以上,但小于4G的,就要选4G支持;如果超过4G的,要选64G的支持;HighMemorySupport(4GB)(X)4GB ()64GB 还有比如声卡等硬件,需要我们一步一步的查看;如果有不明之处,就要按shift+?的组合键来查看说明。一般的情况下,2.6.x的内核会根据机器的情况自动配出一个文件,只需要我们来查看一下,把重要的地方改改就行了;再举个例子:比如我现在所用的声卡是intelac97的,我应该怎么配置呢?首先要知道

6、自己的声卡的芯片组,我们要通过lspci-v来查看;rootlocalhostbeinan#lspci-v 只查看声卡的,应该用如下的方法:beinan#lspci|grepaudio 00:1f.5Multimediaaudiocontroller:IntelCorp.82801DB(ICH4)AC97AudioController(rev03) 通过上面的输出,我们知道这台机器用的是intelAC97声卡;所以我们要特别注意AC97的配置;DeviceDriversSoundcardsupport声卡的支持,这个是一定要选中的吧;AdvancedLinuxArchitecture对声卡支持

7、的ALSA驱动的支持;下面有OSS驱动,只是一部份。如果想用OSS的驱动更全的,可以去买;其它的就看如下的选吧;Sequencersupport dummyclient OSSMixerAPI PCM(digitalaudio)API*RTCTimersupport*Verboseprintk Debug 大多是默认的就好,如果您不知道是做什么用的,或者怎么用;然后我们再向下看有 Genericdevices进入里面 Dummy(/dev/null)soundcard VirtualMIDIMOTUMidiTimePieceAVmultiportMIDI UART16550serialdriv

8、er MPU-401UARTISA如果您用ISA声卡就在这里面选;PCI如果您用PCI声卡,就在这里面选,集成声卡也在这里;USB这是USB声卡内核支持选项;我有一个这样的声卡,但没有试过;PCMCIA这是PCMCIA声卡的选项,我还没有看过这样的声卡呢;如果您有,就在这里面动动手吧。因为我用的是Intel集成的声卡,所以要在PCI中选择,我们在中可以看到有两个与INTEL有关的;Intel/SiS/nVidia/AMD/ALiAC97这个才是IntelAC97声卡的;Intel/SiS/nVidia/AMDMC97Modem(EXPERIMENTAL)这个是机器集成的INTEL猫的蜂鸣器的;

9、因为我发现如果把猫的蜂鸣器的驱动也选上,可能造成两个冲突。所以只能选上面的那个;我们再回到OpenSystem中看看,与我用的声卡是不是有关的?(DEPRECATED) ICH(i8xx)soundmodules LoopbackdeviceMicrosoft我们也可以看到OpenSystem中也有好多的声卡驱动,大家根据前面的lspci来选择吧。3)对于操作系统所采用的文件系统的支持要编入内核,最好不要编成模块;(重要)比如我的Fedora core 4.0 所采用的文件系统用的是ext3 ,所以我要把它直接编入内核;好处是不受模块丢失或者损坏而不能启动系统;而有时您把系统所采用的文件系统编

10、译成模块,出现VFS错误,也有这方面的事,可能是您没有把ext3加入到相应的加载模块的配置文件中,所以我们为了减少麻烦,把风险降到最低,还是要直接置入内模的好;File systems -* Ext3 journalling file system support * Ext3 extended attributes * Ext3 POSIX Access Control Lists * Ext3 Security Labels 如果您还有其它的硬盘分区要读取,比如是reiserfs、ext2、fat、fat32、ntfs等,这样的可以编成模块来支持;再举一例:如果您的的操作系统用的是reis

11、erfs的文件系统,当然就要把reiserfs的直接编入内核,其它的可以编成模块来支持了;4)对于硬盘及RAID的支持,要直接编入内核;比如ATA、SATA、SCSI及RAID的支持直接内核支持;有时编完内核后,启动时不能识别硬盘和RAID,大多事情出在这里;Slackware中在这方面有的是模块支持,我们可以把它由模块M改成内核*来支持;如果您不明白,就按默认进行;SATA的硬盘的支持除了选中SATA的支持、IDE设备的支持以外,还要选中SCSI的支持;5)对于咱们所没有的设备,可以在内核中不选,熟能生巧罢了;比如我没有ISDN设备 ,所以就把ISDN去掉;ISDN subsystem -

12、Linux telephony support 如果您没有1394的设备 ,当然可以把1394的支持也去掉;等等。如果您有USB的设备,要把USB方面好好看看;比如大家常用的移动硬盘;USB猫等,还有扫描仪等;内核配置就说这么多吧,太多了,我也说不清楚,水平有限啊;配置好后先要保存 Save Configuration to an Alternate File 出来一个 Enter a filename to which this configuration ,should be saved as an alternate. Leave blank to abort. .config 按回车就

13、行了,这样就保存住了;然后退出 Exit ,这时也会出现保存 ;如果你想把.config保存起来,可以再复制一份到安全一点的目录,以备后用;五、编译内核;rootlocalhost linux-2.6.12.3# make rootlocalhost linux-2.6.12.3# make modules_install 这样就编译好了,并把模块也安装在了 /lib/modules目录中了,请看:rootlocalhost linux-2.6.12.3# ls /lib/modules/ 2.6.11-1.1369_FC4 2.6.12.3 六、安装内核及配置grub或lilo ;1、复制b

14、zImage等相关文件,并创建initrd文件;rootlocalhost linux-2.6.12.3# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.12.3 rootlocalhost linux-2.6.12.3# cp System.map /boot/System.map-2.6.12.3 rootlocalhost linux-2.6.12.3# cd /boot rootlocalhost linux-2.6.12.3# /sbin/mkinitrd initrd-2.6.12.3.img 2.6.12.3 我们把 编译出来的bzIma

15、ge,拷入到/boot目录,拷贝成 vmlinuz-2.6.12.3;并且用 mkinitrd 来创建imitrd-xxx.img 文件,其中xxx为内核的版本号,是通过 查看 /lib/modules来版本来对应的,我们是编译出来的是 2.6.12.3,所以就运行上面的命令创建,创建的出来的是initrd-2.6.12.3.img ;不创建这个文件,有时是启动不起来的,比如提示VFS错误等;2、查看系统引导管理器grub或者lilo的配置文件。如果想要让新内核能让系统引导管理器grub和lilo的菜单上能看得到,必须改 grub.conf或者lilo.conf,但我们必须保留老内核的在gru

16、b和lilo的启动菜单,毕竟我们编内核不能百分百的成功,对不对?安全第一吧;我只说grub的,我没有lilo,也不会用。所以咱们还是GRUB吧,FC 4 系统引导管理器是 GRUB,所以我们谈谈GRUB的设置;查看 /etc/grub.conf;比如我的grub.conf的内容是这样的;# grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You do not have a /boot partition.

17、 This means that # all kernel and initrd paths are relative to /, eg. # root (hd0,7) # kernel /boot/vmlinuz-version ro root=/dev/hda8 # initrd /boot/initrd-version.img #boot=/dev/hda default=0 timeout=5 #splashimage=(hd0,7)/boot/grub/splash.xpm.gz #hiddenmenu title Fedora Core (2.6.11-1.1369_FC4) ro

18、ot (hd0,7) kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ rhgb quiet initrd /boot/initrd-2.6.11-1.1369_FC4.img title WinXP rootnoverify (hd0,0) chainloader +1 我们要把老内核的启动保留下来,以防不测,我们只加入新的内核的启动;所以我加上这样一段;title Fedora Core (2.6.12.3) root (hd0,7) kernel /boot/vmlinuz-2.6.12.3 ro root=LABEL=/ rh

19、gb quiet initrd /boot/initrd-2.6.12.3.img 咱们再来看一下改过后的配置文件; kernel /boot/vmlinuz-2.6.12.3 ro root=LABEL=/ rhgb quiet initrd /boot/initrd-2.6.12.3.img 然后重新启动机器,如果出现VFS错误,可能就是我写重要的那个地方出了错误;注意:如果重新启用内核后,原来安装的显示卡驱动,比如 NVIDIA和ATI的驱动还要重新安装一、什么是内核;内核官方:http:/www.kernel.org 内核洋文用 kernel,我刚才翻了一下词典,kernel 中文意思

20、是内核、核心、中心、精髓的意思;也是果仁、果核的意思。从字面理解,kernel 是一事物的中心,植物的果实最重要的也是果仁和果核;:) 由此我们可以推断内核是操作系统的中心。我们知道Linus Torvalds 开发了Linux ,其实他开发的就是内核,按内核官方主页的理解,这个内核就是Linux ;其它的扩展和应用都是围绕内核而展开的。所有Linux应用程序都会和内核发生直接或者间接的接触;比如硬件需要内核支持,网络的通信也需要内核支持;文件系统更需要内核支持. . 直言我的能力的不行,如果您想了解和学习解操作系统,我写的教程只是初级应用,理论性的东西不是一言两语能说的清楚的,更不是应用者能

21、说的清楚的。二、为什么需要编译内核和管理内核 硬件是需要内核支持才行,有些硬件的支持没有被编入内核,这也需要我们重编内核;内核的包含的不仅仅是设备的驱动,还有其它的内容,比如网络协议的支持,防火墙的支持. . 比如iptables的实现,有些功能是需要内核支持的,如果内核与iptables相关的内容没有被编入,iptables 相关的功能就无法实现;三、内核编译方法 请参考:编译内核操作流程 为新手指南 四、管理内核模块的相关命令 1、lsmod 列加以挂载的内核模块;lsmod 是列出目前系统中已加载的模块的名称及大小等;另外我们还可以查看 /proc/modules ,我们一样可以知道系统已经加载的模块;rootlocalhost beinan# lsmod 2、modinfo 查看模块信息;modinfo 可以查看模块的信息,通过查看模块信息来判定这个模块的用途;rootlocalhost beinan# moinfo 模块名 举例:rootlocalhost beinan# modinfo ne2k-pci filename: /lib/modules/2.6.11-1.1369_FC4/kernel/drivers/net/ne2k-pci.ko author: Do

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1