基于ARM平台的Linux2622内核编译

上传人:鲁** 文档编号:508439644 上传时间:2022-11-11 格式:DOCX 页数:18 大小:730.93KB
返回 下载 相关 举报
基于ARM平台的Linux2622内核编译_第1页
第1页 / 共18页
基于ARM平台的Linux2622内核编译_第2页
第2页 / 共18页
基于ARM平台的Linux2622内核编译_第3页
第3页 / 共18页
基于ARM平台的Linux2622内核编译_第4页
第4页 / 共18页
基于ARM平台的Linux2622内核编译_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《基于ARM平台的Linux2622内核编译》由会员分享,可在线阅读,更多相关《基于ARM平台的Linux2622内核编译(18页珍藏版)》请在金锄头文库上搜索。

1、基于ARM平台的Linux2.6.22内核编译基于ARM平台的Linux2.6.22.6内核编译学院:信息工程学院专业:计算机应用技术学号: 姓名:基于ARM平台的Linux2.6.22内核编译目录一引言1二Linux作为嵌入式操作系统的特点1三Linux内核编译选项简介23.1 General setup 常规设置23.2 Loadable module support33.3 Block layer 块设备层33.4 Processor type and features 中央处理器(CPU)类型及特性43.5 Networking 网络43.6 Device Drivers 设备驱动程序

2、63.7 File systems 文件系统11四Linux2.6.22.6内核的交叉编译步骤11一 引言Linux是最受欢迎的自由电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。嵌入式linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。嵌入式Linux的特点是版权费免费;购买费用媒介成本技术支持全世界的自由软件开发者提供支持网络特性免费,而且性能优异,软件移植容易,代码开放,有许多应用软件支持,应用产品开发周期短,新产

3、品上市迅速,因为有许多公开的代码可以参考和移植,实时性能RT_Linux Hardhat Linux 等嵌入式Linux支持,实时性能稳定性好安全性好。本文主要进行基于ARM9 S3C2410的Linux2.6.22.6内核移植,硬件平台是博创UP-CUP S2410教学试验箱。宿主机开发环境是CentOS5.5操作系统。二 Linux作为嵌入式操作系统的特点Linux做嵌入式系统有其独特的优势,首先,Linux是开放源代码的,不存在黑箱技术,遍布全球的众多Linux爱好者又是Linux开发者的强大技术支持;其次,Linux的内核小、效率高,内核的更新速度很快,linux是可以定制的,其系统内

4、核最小只有约134KB。第三,Linux是免费的OS,在价格上极具竞争力。 Linux还有着嵌入式操作系统所需要的很多特色,突出的就是Linux适应于多种CPU和多种硬件平台,是一个跨平台的系统。到目前为止,它可以支持二三十种CPU。而且性能稳定,裁剪性很好,开发和使用都很容易。很多CPU包括家电业芯片,都开始做Linux的平台移植工作。移植的速度远远超过Java的开发环境。也就是说,如果今天用Linux环境开发产品,那么将来换CPU就不会遇到困扰。同时,Linux内核的结构在网络方面是非常完整的,Linux对网络中最常用的TCP/IP协议有最完备的支持。提供了包括十兆、百兆、千兆的以太网络,

5、以及无线网络,Toker ring(令牌环网)、光纤甚至卫星的支持。所以Linux很适于做信息家电的开发。Linux的大小适合嵌入式操作系统Linux固有的模块性,适应性和可配置性,使得这很容易做到。另外,Linux源码的实用性和成千上万的程序员热切期望它用于无数的嵌入式应用软件中,导致很多嵌入式Linux的出现。三 Linux内核编译选项简介Linux内核提供了多种编译方法,既可以基于XWindow图形界面方式进行编译,同时在文本界面下也有相应的字符界面或者简单的基于选项问答式的编译,在本文我们选择文本字符界面的编译方式,其相应的命令为 make menuconfig。Linux内核提供了多

6、种编译选项,我们可以根据自己的平台实际情况进行相关模块的删减。下面基于Linux2.6.19.x内核进行一些主要编译选项的说明。3.1 General setup常规设置Local version - append to kernel release在内核版本后面加上自定义的版本字符串(小于64字符),可以用uname -a命令看到Support for paging of anonymous memory (swap)使用交换分区或者交换文件来做为虚拟内存System V IPCSystem V进程间通信(IPC)支持,许多程序需要这个功能.必选,除非你知道自己在做什么POSIX Messa

7、ge QueuesPOSIX消息队列,这是POSIX IPC中的一部分Auditing support审计支持,某些内核模块(例如SELinux)需要它,只有同时选择其子项才能对系统调用进行审计Enable support for printk允许内核向终端打印字符信息,在需要诊断内核为什么不能运行时选择Enable ELF core dumps内存转储支持,可以帮助调试ELF格式的程序Enable eventpoll support支持事件轮循的系统调用Use full SLAB allocator使用SLAB完全取代SLOB进行内存分配,SLAB是一种优秀的内存分配管理器,推荐使用3.2

8、Loadable module support可加载模块支持Enable loadable module support打开可加载模块支持,如果打开它则必须通过”make modules_install”把内核模块安装在/lib/modules/中Module unloading允许卸载已经加载的模块Forced module unloading允许强制卸载正在使用中的模块(比较危险)Module versioning support允许使用其他内核版本的模块(可能会出问题)Source checksum for all modules为所有的模块校验源码,如果你不是自己编写内核模块就不需要它

9、Automatic kernel module loading让内核通过运行modprobe来自动加载所需要的模块,比如可以自动解决模块的依赖关系3.3 Block layer块设备层Enable the block layer块设备支持,使用硬盘/USB/SCSI设备者必选IO SchedulersIO调度器Deadline I/O scheduler使用轮询的调度器,简洁小巧,提供了最小的读取延迟和尚佳的吞吐量,特别适合于读取较多的环境(比如数据库)Default I/O scheduler默认IO调度器3.4 Processor type and features中央处理器(CPU)类型

10、及特性Processor family处理器系列,请按照你实际使用的CPU选择Firmware Drivers固件驱动程序High Memory Support最高内存支持,总内存小于等于1G的选off,大于4G的选64GMemory model一般选Flat Memory,其他选项涉及内存热插拔Math emulation数学协处理器仿真,486DX以上的cpu就不要选它了Enable seccomp to safely compute untrusted bytecode只有嵌入式系统可以不选Timer frequency内核时钟频率,桌面推荐1000 HZ,服务器推荐100 HZ或250

11、 HZ3.5 Networking网络Networking options网络选项Network packet debugging在调试不合格的包时加上额外的附加信息,但在遇到Dos攻击时你可能会被日志淹没Packet socket这种Socket可以让应用程序(比如tcpdump,iptables)直接与网络设备通讯,而不通过内核中的其它中介协议Packet socket: mmapped IO让Packet socket驱动程序使用IO映射机制以使连接速度更快Unix domain sockets一种仅运行于本机上的效率高于TCP/IP的Socket,简称Unix socket.许多程序都

12、使用它在操作系统内部进行进程间通信(IPC),比如X Window和syslogTCP/IP networkingTCP/IP协议当然要选IP: multicasting群组广播,似乎与网格计算有关,仅在使用MBONE的时候才需要IP: advanced router高级路由,如果想做一个路由器就选吧IP: policy routing策略路由IP: equal cost multipath用于路由的基于目的地址的负载均衡IP: verbose route monitoring显示冗余的路由监控信息IP: kernel level autoconfiguration在内核启动时自动配置ip地址

13、/路由表等,需要从网络启动的无盘工作站才需要这个东西IP: tunnelingIP隧道,将一个IP报文封装在另一个IP报文内的技术IP: GRE tunnels over IP基于IP的GRE(通用路由封装)隧道IP: multicast routing多重传播路由The IPv6 protocol你要是需要IPv6就选吧IrDA (infrared) subsystem support红外线支持,比如无线鼠标或无线键盘Bluetooth subsystem support蓝牙支持Generic IEEE 802.11 Networking Stack通用无线局域网(IEEE 802.11系列

14、协议)支持3.6 Device Drivers设备驱动程序Generic Driver Options驱动程序通用选项Select only drivers that dont need compile-time external firmware只显示那些不需要内核对外部设备的固件作map支持的驱动程序,除非你有某些怪异硬件,否则请选上Prevent firmware from being built不编译固件.固件一般是随硬件的驱动程序提供的,仅在更新固件的时候才需要重新编译.建议选上Userspace firmware loading support提供某些内核之外的模块需要的用户空间固

15、件加载支持,在内核树之外编译的模块可能需要它Driver Core verbose debug messages让驱动程序核心在系统日志中产生冗长的调试信息,仅供调试Memory Technology Devices (MTD)特殊的存储技术装置,如常用于数码相机或嵌入式系统的闪存卡Plug and Play support即插即用支持,若未选则应当在BIOS中关闭PnP OS.这里的选项与PCI设备无关PnP Debug Messages该选项仅供调试使用ISA Plug and Play supportISA设备即插即用支持Block devices块设备Network block device support让你的电脑成为网络块设备的客户端RAM disk support内存中的虚拟磁盘,大小固定(由下面的选项决定,也可给内核传递ramdisk_size=参数来决定),它的功能和代码都比shmem简单许多Default numb

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号