欢迎来到天天文库
浏览记录
ID:50269981
大小:166.51 KB
页数:26页
时间:2020-03-07
《Linux内核裁剪的具体过程和方法.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Linux内核裁剪的具体过程和方法根据部分网摘资料和实际烧录结果进行整理:内核功能:在能够实现AT91SAM9260开发板基本功能的基础上,通过串口连接上读卡器后能进行一系列的操作和控制功能等,将读卡器的相应数据进行存储或者通过网络传输到远程的PC机上。远程PC机能够通过网络方式在开发板上对所连接的读卡器参数进行更新配置,如设置天线接口、设置读卡方式等。(待与读卡器配套使用后再对内核的功能描述进行补充和完善。)编译环境:源代码解压完成后,进入linux2.6.19目录下,使用VI命令编辑Makefile。确定编译环境为arm交叉编译工具与本机
2、的安装路径一致ARCH=armCROSS_COMPILE=/opt/timesys/toolchains/armv5l-linux/bin/armv5l-linux-内核版本是linux2.6.19,开发板的版本是AT91SAM9260BOARDV1.01,主机系统是ubuntu11.10内核配置: 内核配置的方法很多,makeconfig、makexconfig、makemenuconfig、makeoldconfig等等,它们的功能都是一样的,区别应该从名字上就能看出来,只有makeoldconfig是指用系统当前的设置(./.conf
3、ig)作为缺省值。这里用的是makemenuconfig。需要牢记:不必要的驱动越多,内核就越大,不仅运行速度慢、占用内存多,在少数情况下、还会引发其他问题。具体步骤如下:首先确定shell是bash。然后$makemenuconfig。 有一些默认的符号其含义如下:"[]"表示该选项有两种选择方式;[*]直接编译进内核;[]不编译;"<>"表示该选项有三种选择方式;<*>直接编译进内核;编译成模块形式,但不编译进内核;<>不编译。在menuconfig中配置:(详细介绍内核配置选项及删改情况)第一部分:Codematurityleve
4、loptions--->代码成熟等级选项[]Promptfordevelopmentand/orincompletecode/drivers默认情况下是选择的,这将会在设置界面中显示还在开发或者还没有完成的代码与驱动。当内核中含有不成熟的代码或驱动,需要选上,主要用在测试阶段。(产品成熟后,再去掉此选项)这里选上第二部分:Generalsetup--->通用的一些选项2.1()Localversion-appendtokernelrelease在内核版本后追加的字符串,字符串不得超过64字节2.2[]Automaticallyappendve
5、rsioninformationtotheversionstring自动在内核版本后追加的字符串,这个选项是与git库相关的,通常可以不选这里不选2.3[]Supportforpagingofanonymousmemory(swap)支持交换内存,没有特殊要求请选择这里不选2.4[*]SystemVIPC进程间通信(IPC)支持,许多程序需要这个功能.必选,除非有自己的其他要求这里选上2.5[]IPCNamespacesIPC命名空间支持,不确定可以不选这里不选2.6[*]POSIXMessageQueuesPOSIX消息队列,通常需要配置这
6、里选上2.7[]BSDProcessAccounting可以将行程资料记录下来,通常建议配置《在读卡器项目中没用到此项功能,其后选项以后再进行相关说明》这里不选2.8[]Exporttask/processstatisticsthroughnetlink(EXPERIMENTAL)通过netlink接口向用户空间导出任务/进程的统计信息,与BSDProcessAccounting的不同之处在于这些统计信息在整个任务/进程生存期都是可用的《在读卡器项目中没用到此项功能,其后选项以后再进行相关说明》这里不选2.9[]UTSNamespacesUT
7、S名字空间支持,不确定可以不选这里不选2.10[*]Auditingsupport审计支持,某些内核模块(例如SELinux)需要它,只有同时选择其子项才能对系统调用进行审计这里选上2.11<*>Kernel.configsupport把内核的配置信息编译进内核中,以后可以通过scripts/extract-ikconfig脚本来提取这些信息这里选上2.12[*]Enableaccessto.configthrough/proc/config.gz允许通过/proc/config.gz访问内核的配置信息这里选上2.13[]Kernel->us
8、erspacerelaysupport(formerlyrelayfs)在某些文件系统上(比如debugfs)提供从内核空间向用户空间传递大量数据的接口这里不选2.
此文档下载收益归作者所有