部分(搞高篇)讲稿-内核内核编译.ppt

上传人:小飞机 文档编号:6352248 上传时间:2023-10-19 格式:PPT 页数:70 大小:436.50KB
返回 下载 相关 举报
部分(搞高篇)讲稿-内核内核编译.ppt_第1页
第1页 / 共70页
部分(搞高篇)讲稿-内核内核编译.ppt_第2页
第2页 / 共70页
部分(搞高篇)讲稿-内核内核编译.ppt_第3页
第3页 / 共70页
部分(搞高篇)讲稿-内核内核编译.ppt_第4页
第4页 / 共70页
部分(搞高篇)讲稿-内核内核编译.ppt_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《部分(搞高篇)讲稿-内核内核编译.ppt》由会员分享,可在线阅读,更多相关《部分(搞高篇)讲稿-内核内核编译.ppt(70页珍藏版)》请在三一办公上搜索。

1、二.配置编译Linux内核,Linux内核编译 Linux内核配置系统,1.Linux内核编译,1.1 Linux内核简介1.2 Linux内核版本号1.3 为什么重新编译内核1.4 内核编译模式1.5 内核源码结构1.6 内核裁剪与编译 1.7 内核配置选项介绍,内核:是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。内核简述:(让大家宏观的认识一下,具体可参看Linux操作系统相关教材)Linux 内核由5个主要的子系统组成:进程调度(SCHED)内存管理(MM)虚拟文件系统(VFS)网络接口(NET)进程间通信(IPC),1.1 L

2、inux内核简介,Linux 内核子系统的抽象结构,进程调度:它控制着进程对CPU的访问。Linux 使用比较简单的基于优先级的进程调度算法选择新的进程。,内存管理:内存管理允许多个进程安全地共享主内存区域。Linux 的内存管理支持虚拟内存,即在计算机中运行的程序,其代码、数据和堆栈的总量可以超过实际内存的大小,操作系统只将当前使用的程序块保存在内存中,其余的程序块则保留在磁盘上。必要时,操作系统负责在磁盘与内存之间交换程序块。,虚拟文件系统:它可以隐藏各种硬件的具体细节,为所有设备提供统一的接口,VFS 还支持多达数十种不同的文件系统,这也是Linux 较有特色的一部分。网络接口:提供对各

3、种网络标准的存取和各种网络硬件的支持。网络接口可分为网络协议和网络设备驱动程序两部分。网络协议部分负责实现每一种可能的网络传输协议;网络设备驱动程序负责与硬件设备进行通信;进程间通信:它的作用是支持进程间各种通信机制。,linux的一个重要的特点:源代码的公开性1.所有的内核源程序都可以在/usr/src/linux下找到2.大部分应用软件也都是遵循GPL(GNU通用许可证)而设计的,你 都可以获取相应的源程序代码 3.全世界任何一个软件工程师都可以将自己认为优秀的代码加入 到其中,由此引发的一个明显的好处就是Linux修补漏洞的快 速以及对最新软件技术的利用,拥有了内核的源程序的好处:1.可

4、以了解系统是如何工作的 通过读源代码,我们就可以了解系统的工作原理,这在 Windows下简直是天方夜谭。2.我们可以针对自己的情况,量体裁衣,定制适合自己的操作 系统,这样就需要重新编译内核 Linux独特的模块机制可以根据用户的需要,实时地将某些模 块插入到内核或从内核中移走,在Windows下很难,几乎是不可能!3.我们可以对内核进行修改,以符合自己的需要。这相当于自己开发了一个操作系统,但是大部分的工作已经 做好了,你所要做的就是要增加并实现自己需要的功能。在Windows下,除非你是微软的核心技术人员,否则就不可能!,1.2 Linux内核版本号,由于linux的源程序是完全公开的,

5、任何人只要遵循GPL,就可以对内核加以修改并发布给他人使用。为了确保这些无序的开发过程能够有序地进行,Linux采用了双树系统:稳定树(stable tree)非稳定树(unstable tree)或开发树(development tree),一些新特性、实验性改进等都将首先在开发树中进行。如果在开发树中所做的改进也可以应用于稳定树,那么在开发树中经过测试以后,在稳定树中将进行相同的改进。一旦开发树经过了足够的发展,开发树就会成为新的稳定树。,开发数就体现在源程序的版本号中:源程序版本号的形式为:对于稳定树来说,y是偶数;对于开发树来说,y比相应的稳定树大1 因此,是奇数下载内核版本地址htt

6、p:/,1.3 为什么重新编译内核,linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译内核。,为什么要重新定制自己的内核?一般主要有下面四个考虑:(1)尺寸小 自己定制编译的内核具有更少的代码,运行会更快(2)节省内存 由于内核部分永远占用物理内存,定制内核可使系统 拥有更多的物理内存(3)减少漏洞 不需要的功能编译进入内核可能会增加被系统攻 击者利用的漏洞(4)动态加载模块 根据需要动态地加载或者卸载模块,可以节省系统内存,1.4 内核编译模式,要增加对

7、某部分功能的支持,比如:网络之类,可以把相应部分编译到内核中(build-in),也可以把该部分编译成模块(module),动态调用。如果编译到内核中:优点:在内核启动时就可以自动支持相应部分的功能,这样的优点是方便、速度快,机器一启动,你就可以使用这部分功能了;缺点:会使内核变得庞大起来,不管你是否需要这部分功能,它都会存在;建议经常使用的部分直接编译到内核中,比如网卡。,如果编译成模块,就会生成对应的.o文件,在使用的时候可以动态加载。优点:不会使内核过分庞大;缺点:你得自己来调用这些模块。,1.5 内核源码结构,Linux核心源程序通常都安装在/usr/src/linux下:,Arch:

8、arch子目录包括了所有和体系结构相关的核心代码。它的每一个子目录都代表一种支持的体系结构,例如i386就是关于intel cpu及与之相兼容体系结构的子目录。PC机一般都基于此目录;,Include:include子目录包括编译核心所需要的大部分头文件。与平台无关的头文件在:include/linux子目录下,与intel cpu相关的头文件在:include/asm-i386子目录下,与arm cpu相关的头文件在:include/asm-arm子目录下Init:这个目录包含核心的初始化代码(注:不是系统的引导代码),包含两个文件main.c和Version.c,这是研究核心如何工作的一个

9、非常好的起点。,Mm:这个目录包括所有独立于 cpu 体系结构的内存管理代码,如页式存储管理内存的分配和释放等;而和体系结构相关的内存管理代码则位于arch/*/mm/;例如arch/i386/mm/Fault.c Kernel:主要的核心代码,此目录下的文件实现了大多数linux系统的内核函数,其中最重要的文件当属sched.c;同样,和体系结构相关的代码在arch/*/kernel中;,Drivers:放置系统所有的设备驱动程序;每种驱动程序又各占用一个子目录:如,/block 下为块设备驱动程序,比如ide(ide.c)。Lib:放置核心的库代码;Net:与网络相关的代码;,Ipc:这个

10、目录包含核心的进程间通讯的代码;Fs:所有的文件系统代码和各种类型的文件操作代码,它的每一个子目录支持一个文件系统,例如fat和ext2;Scripts:此目录包含用于配置核心的脚本文件等。,阅读理解内核源码的三个重要文件:1.在每个目录下,都有:.depend 文件 Makefile 文件,这两个文件都是编译时使用的辅助文件,仔细阅读这两个文件对弄清各个文件这间的联系和依托关系很有帮助;2.在有的目录下还有Readme 文件,它是对该目录下的文件的一些说明,同样有利于我们对内核源码的理解;,1.6 内核裁剪与编译,通常要运行的第一个命令是:cd/usr/src/linux make mrpr

11、oper该命令确保源代码目录下没有不正确的.o文件以及文件的互相依赖。也可用make clean 或 make realclean,接下来的内核裁剪与编译过程 Linux 内核的裁剪与编译看上去是个挺简单的过程,只是对配置菜单的简单选择。实质上是内核配置菜单本身结构庞大,内容复杂。因此熟悉与了解该菜单的各项具体含义就显得比较重要。我们现在就对其作一些介绍:,Linux 内核的编译菜单有好几个版本,运行:1)基于字符界面的config:make config进 入命令行,可以一行一行的配置;2)基于图形界面的menuconfig:make menuconfig 进入menuconfig 菜单。(

12、稳定且用得最多)3)基于图形界面的xconfig:make xconfig 进入xconfig菜单,基于字符界面的make config,基于图形界面的menuconfig 配置菜单,基于图形界面的xconfig 配置菜单,在选择相应的配置时,有三种选择方式,它们的含义如下:Y将该功能编译进内核;N不将该功能编译进内核;M将该功能编译成可以在需要时动态插入到内核中的模块(动态加载的模块)。对于使用make menuconfig,需要使用空格键进行选取(xconfig可以用鼠标)。,在每一个选项前都有一个括号,有中括号、尖括号和圆括号:用空格键选择时:中括号:空或“*”空表示:此选项不要“*”表

13、示:编译到内核里(静态)尖括号:空,*和M“空表示:此选项不要“*”表示:编译到内核里(静态)“M“表示:编译成模块(动态)圆括号:要求在所提供的几个选项中选择一项,在完成内核的裁减之后,内核的编译就是一个非常简单的过程。你只要执行以下几条命令就行:1.make dep make dep 作用:读取配置过程生成的配置文件,来创建对应于配置的依赖关系树,从而决定哪些需要编译而那些不需要;,2.make zImage/make bzImage make zImage和make bzImage则实现完全编译内核,二者生成的内核压缩文件的,只要使用一个就够了,它们的区别在于使用make bzImage

14、可以生成大一点的内核。3.make install(Makefile中)这条命令可以把相关文件拷贝到指定的目录。,事例:在内核配置中添加对USB输入设备的支持,1.Make menuconfig 进入配置菜单2.添加Input core support,3.添加USB support/USB Human Interface Device(full HID)support,具体配置菜单,首先进入内核所在目录,键入make menuconfig,就会看到配置菜单:选项比较复杂,这里简单介绍一些重要选项。裁减时应根据具体情况,参考帮助的内容加以选择。,1.7 内核配置选项介绍,1.Code matu

15、rity level options 代码成熟度选 项,它有子项:1.1.prompt for development and/or incomplete code/drivers 该选项是对那些还在测试阶段的代码,驱动模块等的支持。一般应该选这个选项。1.2.prompt for obsolete code/drivers 该项用于对那些已经老旧的,被现有文件替代了的驱动,代码的支持,可以不选,在新的版本中已被替换。,2.loadable module support 动态加载模块支持选项,其子项有:2.1.enable module support 支持模块加载功能,应 该选上。2.2 s

16、et version information on all module symbols 该项用来支持跨内核版本的模块支持。即为某个版本的内核编译的模块可以在另一个版本的内核下使用,我们一般用不上,所以不选。2.3 kernel module loader 如果你启用这个选项,你可以通过kerneld 程序的帮助在需要的时候自动载入或卸载那些可载入式的模块。一般会选上。,3.system type 系统类型,主要是CPU 类型,以及于此相关的内容。以我们的开发平台作相应介绍,其它平台与此类似。如果你是进行交叉编译,该项下的内容往往是经过相应目标平台开发人员修改的。主要是针对该平台的体系结构定义

17、,这样可以优化系统性能。开发人员一般会事先设定好默认值。作为初学者按给出的默认选项就行。如果你想用一个原始的版本内核来建构针对你的平台的新内核,并且你的内核版本支持你目标平台所用的CPU,那你就选上它。但不要选同系列中高于你所用的CPU 型号,否则不支持。你也可以在Config.in 或KConfig 中修改该项以支持你的目标平台。,4.General setup4.1.support hot-plugable devieces 对可热拔插的设备的支持,看情况选择。若要对U 盘等USB 设备进行控制,建议选上。4.2.Networking support:网络支持,用到网络设备 要选上。4.3

18、.System V IPC:支持系统的进程间通讯,要选上。4.4.sysctl support:该项支持在不重启情况下直接改变内核的参数。启用该选项后内核大约会增大8K,如果你的内存太小就别选。,4.5.NWFPE math emulation 一般要选一个模拟数学协处理器,选上。4.6.Power manager 电源管理,给X86 编译内核时较有用可以选上,尤其是笔记本。给ARM 编内核时可不选。其它的在我们的实验平台上都用不着,不用选。,5.Networking option 网络选项,它主要是关于一些网络协议的选项。Linux 最强大的功能也就是在于对网络功能的灵活支持。这部分内容相当

19、多,一般我们把以下几项选上。5.1.packet socket 包协议支持,有些应用程序使用Packet 协议直接同网络设备通讯,而不通过内核中的其它中介协议。同时它可以让你在TCP 不能用时找到一个通讯方法。5.2.unix domain socket 对基本UNIX socket 的支持 对TCP/IP 协议栈的支持,需要。,至于其它众多的选项,这里挑一些对其意思简单介绍一下:Network firewalls:是否让内核支持采用网络防火墙。如果计算机想当firewalls server或者是处于TCP/IP 通信协议网络的网路结构下,这一项就选上。Packet socket mmappe

20、d IO:选该项则Packet socket可以利用端口进行快速通讯的。IP advanced router:如果你想把自己的Linux 配成路由器功能这项肯定要选。选上后会带出几个子项。这些子项可以更精确配置相关路由功能。,socket filter:包过滤。IP multicasting:网络广播协议的支持,可以一次一个将packet 送到好几台计算机的操作。IP syncookies:一种保护措施,将各种TCP/IP 的通信协议加密,防止Attacker 攻击用户的计算机,并且可以记录企图攻击用户的计算机的IP 地址。,IP:masquerading:这个选项可以在Network Fir

21、ewalls 选项被选后生效。masquerading 可以将内部网络的计 算机送出去的封包,通过防火墙服务器直接传递给远端的计算机,而远端的计算机看到的就是接收到的防火墙服务器送过来的封包,而不是从内部的计算机送过来的。IP:ICMP masquerading:一般masquerading 只提供处理TCP,UDP packets,若要让masqurerading 也能处理ICMP packets,就把这选项选上。,IP:always defragment:可将接收到的packet fragments 重新组合回原来那个封包。IP:accounting:统计IP packet 的流量,也就是

22、网络的流通情况。IP:optimize as router not host:可以关闭copy&checksum 技术,防止流量大的服务器的IP packets 丢失。的。,IP:tunneling tunnel 即隧道。这里是指用另外一种协议来封装数据或包容协议类型。这样就相当于在不同的协议之间打了条隧道。使得数据包可以被不同的协议接受和解释。这样我们可在不同网域中使用linux,且都不用改IP 就可以直接上网了。对于嵌入式设备还是挺有用IP:GRE tunneling 它是(Generic Routing Encapsulation)。选该项后可以支持在IPv4 与IPv6 之间的通讯。I

23、P:ARP daemon support 即对ARP 的支持。它是把IP 地址解析为物理地址。,IP:Reverse ARP:RARP(逆向地址解析)协议,可提供bootp 的功能,让计算机从可以从网卡的Boot Ram 启动,这对于搭建无盘工作站是很有用的。IP:Disable Path MTU Discovery:MTU 有助于处理拥挤的网络。MTU(Maximal Transfer Unit)最大的传输单位,即一次送往网络的信息大小。而Path MTU Discovery 的意思是当Linux 发现一些机器的传输量比较小时,就会分送网络信息给它。如此可以增加网络的速度,所以大部分时候都选

24、N,也就是Enable。,The IPX protocol:IPX 为Netware 网络使用的通讯协议,主要是NOVELL 系统支持的。QoS and/or fair queueing:QoS 即(Quality Of Service)这是一种排定某种封包先送的网络线程表,可同时针对多个网络封包处理并依优先处理顺序来排序,称之为packetschedulers。此功能特别是针对实时系统时格外重要,当多个封包同时送到网络设备时,Kernel 可以适当的决定出哪一个封包必须优先处理。因此Kernel 提供数种packet scheduling algorithm。,6.Networking de

25、veices:网络设备支持。上面选好了网络协议了,现在选的是网络设备,其实主要就是网卡,所以关键是确定自己平台所使用的网卡芯片。该项下的子项也不少。6.1.Dummy net driver support(空)网络设备支持。它可让我们模拟出TCPIP 环境对SLIP 或PPP 的传输协议提供支持。选择它Linux 核心增加不大。如果没有运行SLIP 或PPP 协议,就不用选它。6.2.Bonding driver support bonding 是用来把多块网卡虚拟为一块网卡的,使他们有一个共同的IP 地址。,(serial line)support 这是MODEM 族常用的一种通讯协议,必须

26、通过一台Server(叫ISP)获取一个IP 地址,然后利用这个IP 地址,可以模拟以太网络,使用有关TCPIP 的程序。(parallel port)support 它是一种利用打印机的接口(平行接口),然后利用点对点来模拟TCPIP 的环境。它和 SLIPPPP 全都属于点对点通讯,您可以把两台电脑利用打印机的连接接口串联起来,然后,加入此通讯协议。如此一来,这两部电脑就等于一个小小的网络了。不过,如果电脑有提供打印服务的话,这个选项最好不要打开,不然可能会有问题(因为都是用并口)。,(pointtopoint)support 点对点协议,近年来,PPP 协议已经慢慢的取代SLIP 的规定

27、了,原因是PPP 协议可以获取相同的IP 地址,而SLIP 则一直在改变IP 地址,在许多的方面,PPP 都胜过SLIP协议。6.6.EQL(serial line load balancing)support 两台机器通过SLIP 或PPP 协议,使用两个MODEM,两条电话线,进行通讯时,可以用这个Driver 以便让MODEM 的速度提高两倍。6.7.Token Ring driver support 对令牌环网的支持。6.8.Ethertap network tap,6.9.Ethernet(10 or 100Mbit)十至百兆以太网设备,我们现在该类型设备用的比较多。进入该项里头还有

28、许多小项,它们是关于具体网络设备(一般就是网卡)的信息。选择我们平台相关的就行。6.10.ARCnet support 它是一种网卡但基本没用。其它的诸如千兆以太网,万兆以太网,无线网络,广域网,ATM,PCMCIA 卡等等网络设备的支持,要看你的具体应用而定。,7.Amateur Radio support 这个选项用的不多,它是用来启动无线网络的,通过无线网络我们可以利用公众频率来进行数据传输,如果你有相关无线网络通讯设备就可以用它。8.IrDA(infrared)support 该项也属于无线通讯的一种,用于启动对红外通讯的支持。目前在2.6.X 的内核里对它的支持内容更丰富了。9.AT

29、A/ATAPI/MFM/RLL support 该项主要对ATA/ATAPI/MFM/RLL 等协议的支持。在嵌入式设备中,目前这些设备应用的还不多,但台式机及笔记本用户,如果有支持以上协议的硬盘或光驱就可选上它。在2.6.X 内核中这方面的支持内容也比较丰富。,10.SCSI device support 如果你有SCSI 设备(SCSI 控制卡,硬盘或光驱等)就选上这项。目前SCSI 设备类型已经比较多,要具体区分它们,先要了解他们所使用的控制芯片类型。2.6.X 内核中对各类型SCSI 设备已经有更具体详细的支持。11.ISDN support ISDN(Integrated Servi

30、ces Digital Networks)它是一种高速的数字电话服务。通过专用ISDN 线路加上装在你电脑上的ISDN 卡。利用SLIP 或PPP 协议进行通讯。所以你若想启动该项支持ISDN 通讯,你还应启动前面提到的Networking Devices 中的SLIP 或PPP。,12.Console drivers support 控制台设备支持。目前安装uClinux/Linux 的设备几乎都是带控制台的,所以这项是必选项。这里头还有几个子项:12.1.VGA text console 一般台式机选该项。支持VGA 显示设备。,12.2.Support Frame Buffer devi

31、ces 该项支持Frame Buffer(帧缓冲)设备。Frame Buffer 技术在2.4.X 内核被全面采用。它通过开辟一块内存空间模拟显示设备。这样我们可以像操作具体图形设备一样来操作这块内存,直接给它输入数据,在具体显示设备上输出图形。在嵌入式设备上广泛采用LCD 作为显示设备,所以该项显得比较重要。当该项被选上后会出现一子项让我们根据自己平台配备的具体硬件选择相应支持。这些也往往是设备开发人员给添加的。,13.parallel port support 对并口设备的支持。LINUX 可以支持PLIP 协议(利用并口的网络通讯协定),并口的打印机,ZIP 磁盘驱动器、扫描仪等。如果有

32、打印机在选择利用并口通讯时要小心,因为它们可能会互相干扰。14.Memory Technology Device(MTD)support MTD 包含flash,RAM 等存储设备。MTD 在现在的嵌入式设备中应用的相当多,也特别重要。选中该项可以对MTD 进行动态支持。其下还有好多具体小项,这里按UP-NETARM3000 平台做一些解释:,14.1.MTD partitioning support 选上该项可支持对MTD 的分区操作。14.2.Direct char device access to MTD devices 选该项为系统的所有MTD 设备提供一个字符设备,通过该字符设备我们

33、能直接对MTD 设备进行读写以及利用ioctl()函数来获取该MTD 设备的相关信息。14.3.Caching block device access to MTD devices 有许多flash 芯片其擦除的块太大,因此作为块设备使用效率被大打折扣。选上该项后,它支持利用RAM 芯片作为缓存来使用MTD 设备。这时对于MTD 设备,块设备就相当于它的一个用户。通过JFFS 文件系统的控制,它可以模拟成一个小型块设备,具有读,写,擦,校验等一系列功能。,14.4.NAND flash device drivers 子项中有几项是关于MTD 设备驱动的,我们的平台选择的是NAND flash,

34、所以我们选上它。选上后在其二级子项中我们还要选上:14.4.1.NAND devices support14.4.2.verify NAND pages writes 支持页校验14.4.3.NAND flash device on ARM board,15.Plug and Play support 这是对PNP(即插即用)设备的支持。16.block devices 块设备,该项下有好几个子项,主要是关于各种块设备的支持。至少把RAM 的支持项选上。如在我们UP-NETARM2410-S 平台上我们要选上:1)RAM disk support 2)Initial RAM disk(init

35、rd)support,17.File systems 文件系统在Linux 中是非常重要的。该项下的子项也非常多。17.1.Quota support 份额分配支持。选择该项则系统支持对每个用户使用的磁盘空间进行限制。17.2.Kernel automounter support 在有NFS 文件系统的支持下,选择该项可使得内核可以支持对一些远端文件系统的自动挂栽。,17.3.Kernel automounter version 4 support V3 版本的升级,它兼容V317.4.Reiserfs support ReiserFS 这种文件系统以日志方式不仅把文件名,而且把文件本身保存在

36、一个“平衡树”里。其速度与ETX2 差不多,但比传统的文件系统架构更为高效。尤其适合大目录下文件的情况。17.5.ROM file system support 它是一个非常小的只读文件系统,主要用于安装盘及根文件系统。,17.6.JFS filesystem support 这是IBM 的一个日志文件系统。17.7.Second extended fs support 著名的EXT2(二版扩展文件系统),除非你是用DOS 模拟器,否则得选它。17.8.Ext3 journalling file system support 是EXT2 的日志版,我们通常叫它EXT3。17.9.Journal

37、ling Flash file system v2(jffs2)support Flash 日志文件系统,UP-NETARM2410-S 可以支持该文件系统,但是我们使用了效率更高的YAFFS 文件系统。,17.10.ISO 9660 CDROM file system support光驱的支持17.11./proc file system support 这是虚拟文件系统,能够提供当前系统的状态信息。它运行时在内存生成,不占任何硬盘空间。通过CAT 命令可以读到其文件的相关信息。17.12./dev file system support 它是类似于/proc 的一个文件系统,也是虚拟的,主

38、要用于支持devfs(设备文件系统)。把它选上,这样我们就可以不依赖于传统的主次设备号的方式来管理设备。而是由devfs自动管理。,17.13.NFS file system 网络文件系统。17.13.1.NFS file system support对网络文件系统的支持。NFS 通过SLIP,PLIP,PPP 或以太网进行网络文件管理。它是比较重要的。17.13.2.NFS server support选这项可以把你的Linux 配置为NFS server17.13.3.SMB file system support SMB(Server Message Block),它是用于和局域网中相连

39、的Windows 机器建立连接的。相当于网上邻居。这些协议都需要在TCP/IP 被启用后才有效。17.14.Native Language Support 就是对各国语言的支持。,18.character devices LINUX 支持很多特殊的字符设备,所以该项下的子项也特别多。18.1.virtual terminal 虚拟终端,要选上18.2.support for console on virtual terminal 虚拟终端控制台,要选上。18.3.non-standar serial port support 非标准串口设备的支持。如果你的平台上有一些非标准串口设备需要支持,就

40、选上。,18.4.Serial drivers 串口设置,一般选上自己开发平台相关的串口就行。在UP-NETARM2410-S 上选 S3C2410 serial port support 和support for console on S3C2410 serial port。18.5.UNIX98 PTY support PTY(pseudo terminal)伪终端,它是软件设备由主从两部分组成。从设备与具体的硬件终端绑定,而主设备则由一个进程控制向从设备写入或读出数据。其典型应用如:telnet服务器和xterms18.6.I2C support 对I2C 设备的支持。,18.7.Mic

41、e 就是对鼠标的支持。18.8.Joysticks 对一些游戏手柄的支持。18.9.QIC-02 tape support 对一些非SCSI 的磁带设备支持。18.10.watchdog card support 对看门狗定时设备的支持。,18.11/dev/nvram support 一种和BIOS 配合工作的RAM 设备。我们常称它为CMOS RAM,而NVRAM主要是在Ataris 机器上的称法。通过设备名/dev/nvram 可以读写该部分内存内容。它通常保存一些机器运行必需的重要数据,而且保证掉电后能继续保存。18.12.Enhanced Real Time Clock Suppor

42、t 在每台PC 机上都内建了一个时钟,它可以产生出从1Hz 到8192Hz 的信号。在多CPU的机器中这项必选。18.13./dev/agpgart(AGP Support)AGP(Accelerated Graphics Port)通过它可以沟通显卡与其它设备。如果有AGP 设备就选上它。嵌入式系统中目前用的还不多,但台式机AGP 设备已相当普及。,18.14.Siemens R3964 line discipline 这项主要是支持利用Siemens R3964 的包协议进行同步通讯的。18.15.Direct Rendering Manager(XFree86 4.1.0 and hig

43、her DRI support)选该项后则在内核级提供对XFree86 4.0 DRI(Direct Rendering Infrastructure)的支持,选择正确的显卡后,该设备能提供对同步、安全的DMA 交换支持。选该项同时要把/dev/agpgart(AGP Support)选上。,19.USB support 即对USB 设备的支持。如果有相关设备就选上。20.sound card support 关于声卡的支持,根据具体情况来配置。21.kernel hacking 这里是一些有关内核调试及内核运行信息的选项。如果你正打算深入研究自己系统上运行的LINUX 如何运作,可以在这里找到相关选项,但一般没有必要的话可以全部关掉。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号