您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 嵌入式Linux内核裁剪和移植
ITEducation&Training嵌入式Linux内核2ITEducation&TrainingITEducation&Training目录¾linux内核(kernel)的裁剪和编译¾引导程序vivi的裁剪和编译¾根文件系统(root)的裁剪和编译¾内核烧写(vivi、kernel、root)3ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译Linux内核的编译菜单主要有三个版本:•1)makeconfig:进入命令行,可以一行一行的配置。•2)makemenuconfig:开发人员比较熟悉的menuconfig菜单。•3)makexconfig:在2.4.X以及以前版本中xconfig菜单是基于TCL/TK的图形库的。4ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译makeconfig命令对应的配置界面5ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译2.4.X版本menuconfig配置菜单:6ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译2.6.X版本xconfig配置菜单:7ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译•配置、编译Linux内核的步骤:第一步:在终端界面下进入内核所在目录“/arm2410/kernel”;第二步:键入makemenuconfig,进入内核配置菜单,如图:8ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译几点配置说明:带有“---”表示该选项包含子选项;每个选项前面有[]或,中括号表示仅有2种选择(*或空),尖括号表示有3种选择(M、*或空),按空格键可显示这几个选择;M表示以模块方式编译进内核,在内核启动后,需要手工执行insmod命令才能使用该项驱动;*表示直接编译进内核;空表示不编译进内核;9ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译比如要对USBsupport进行选择,具体如下图所示:直接编译进内核模块方式编译进内核不编译进内核10ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译第三步:键入makeclean命令,删除已生成的模块和目标文件,即在编译新内核之前清除干净环境;第四步:键入makedep命令,编译变量依赖关系等;第五步:键入makezImage生成经压缩以后的内核映像文件zImage;第六步:makemodules----编译模块;第七步:makemodules_install----安装编译完成的模块;注意:内核映像文件zImage存放在./arch/arm/boot/目录下11ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译具体配置菜单:(1/26)•1、Codematurityleveloptions代码成熟度选项(1)promptfordevelopmentand/orincompletecode/drivers该选项是对那些还在测试阶段的代码,驱动模块等的支持。(2)promptforobsoletecode/drivers该项用于对那些已经老旧的,被现有文件替代了的驱动,代码的支持,可以不选,除非你的机器配置比较旧。12ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译具体配置菜单:(2/26)•2、loadablemodulesupport动态加载模块支持选项(1)enablemodulesupport支持模块加载功能,应该选上。(2)setversioninformationonallmodulesymbols该项用来支持跨内核版本的模块支持。(3)kernelmoduleloader如果你启用这个选项,你可以通过kerneld程序的帮助在需要的时候自动载入或卸载那些可载入式的模块。13ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译具体配置菜单:(3/26)•3、systemtype系统类型,主要是CPU的类型。S3C2410的ARM系列CPU14ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译具体配置菜单:(4/26)•4、Generalsetup(1)supporthot-plugabledevieces对可热拔插的设备的支持(2)Networking网络支持(3)SystemVIPC支持systemV的进程间通讯(4)sysctlsupport该项支持在不重启情况下直接改变内核的参数(5)NWFPEmathemulation一般要选一个模拟数学协处理器(6)Powermanager电源管理15ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译具体配置菜单:(5/26)•5、Networkingoption网络选项,它主要是关于一些网络协议的选项。(1)packetsocket包协议支持,有些应用程序使用Packet协议直接同网络设备通讯,而不通过内核中的其它中介协议(2)unixdomainsocket对基本UNIXsocket的支持(3)TCP/IPnetworking对TCP/IP协议栈的支持16ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译具体配置菜单:(6/26)•6、Networkingdeveices(1/2)网络设备支持。(1)Dummynetdriversupport对空网络设备支持(2)Bondingdriversupportbonding用来把多块网卡虚拟为一块网卡,使他们有一个共同的IP地址(3)UniversalTUN/TAPdevicedriversupport用于支持TUNx/TAPx设备的(4)SLIP(serialline)support这是MODEM族常用的一种通讯协议,必须通过一台Server获取一个IP地址,再利用这个IP地址,可以模拟以太网络,使用有关TCP/IP的程序。(5)PLIP(parallelport)support它是一种利用打印机的接口(平行接口),然后利用点对点来模拟TCP/IP的环境。17ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译具体配置菜单:(7/26)•6、Networkingdeveices(2/2)网络设备支持。(6)PPP(point-to-point)support点对点协议(7)EQL(seriallineloadbalancing)support两台机器通过SLIP或PPP协议,使用两个MODEM,两条电话线来通讯时,可用这个Driver以便让MODEM的速度提高两倍(8)TokenRingdriversupport对令牌环网的支持(9)Ethernet(10or100Mbit)十至百兆以太网设备(10)ARCnetsupport其实它也是一种网卡18ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译具体配置菜单:(8/26)•7、AmateurRadiosupport这个选项用的不多,它是用来启动无线网络的,通过无线网络,可以利用公众频率来进行数据传输,如果有相关无线网络通讯设备就可以用它。19ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译具体配置菜单:(9/26)•8、IrDA(infrared)support该项也属于无线通讯的一种,用于启动对红外通讯的支持。目前在2.6.X的内核里对它的支持内容更丰富了。20ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译具体配置菜单:(10/26)•9、ATA/ATAPI/MFM/RLLsupport该项主要对ATA/ATAPI/MFM/RLL等协议的支持.在嵌入式设备中,目前这些设备应用的还不多,但台式机及笔记本用户如果你有支持以上协议的硬盘或光驱就可选上它.在2.6.X内核中这方面的支持内容也比较丰富.21ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译具体配置菜单:(11/26)•10、SCSIdevicesupport如果你有SCSI设备(SCSI控制卡,硬盘或光驱等)你选上这项.目前SCSI设备类型已经比较多,要具体区分它们你得先了解他们所使用的控制芯片类型.2.6.X内核中对各类型SCSI设备已经有更具体详细的支持.22ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译具体配置菜单:(12/26)•11、ISDNsupportISDN(IntegratedServicesDigitalNetworks)它是一种高速的数字电话服务.通过专用ISDN线路加上装在你电脑上的ISDN卡.利用SLIP或PPP协议进行通讯.所以,若想启动该项支持ISDN通讯,还应启动前面提到的NetworkingDevices中的SLIP或PPP.23ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译具体配置菜单:(13/26)•12、Consoledriverssupport控制台设备支持.目前安装uClinux/Linux的设备几乎都是带控制台的,所以这项是必选项:(1)VGAtextconsole一般台式机选该项。支持VGA显示设备。(2)SupportFrameBufferdevices该项支持FrameBuffer设备24ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译具体配置菜单:(14/26)•13、parallelportsupport对并行口的设备的支持。LINUX可以支持PLIP协议(利用并行口的网络通讯协定),并口的打印机,ZIP磁盘驱动器、扫描仪等。如果有打印机在选择利用并口通讯时要小心,因为它们可能会互相干扰。25ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译具体配置菜单:(15/26)•14、MemoryTechnologyDevice(MTD)supportMTD包含flash,RAM等存储设备.MTD在现在的嵌入式设备中应用的相当多,也特别重要.选中该项可以对MTD进行动态支持.(1)MTDpartitioningsupport选上该项可支持对MTD的分区操作(2)DirectchardeviceaccesstoMTDdevices选该项为系统的所有MTD设备提供一个字符设备(3)CachingblockdeviceaccesstoMTDdevices它支持利用RAM芯片作为缓存来使用MTD设备(4)NANDflashdevicedrivers子项中有几项是关于MTD设备驱动的26ITEducation&TrainingITEducation&Training嵌入式linux内核的裁剪和编译具体配置菜单:(16/26)•1
本文标题:嵌入式Linux内核裁剪和移植
链接地址:https://www.777doc.com/doc-5398689 .html