- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 嵌入式Linux系统构建
6.1 Linux内核的裁剪和编译
Linux内核裁剪的目的是根据应用的需要,裁剪掉嵌入式应用中不需要的功能和代码,留下必要的功能和代码,可以减小内核尺寸,较少存储器需求,降低嵌入式系统功耗,教学系统体积。内核裁减集的原理是打开一个菜单,让开发人员在其中选择所需要的功能、特色、配置和参数,配置工具为选择的功能定义相应的C语言宏,并通过编译命令的-D选项传给内核源程序,内核源代码中对宏定义进行检查,使用条件编译的手段,将对仅需要的特色和功能进行编译,生成内核,而未选择的功能和特色则不进行编译,从而达到裁剪内核的目的。
Linux内核的裁剪工作包括内核配置、内核编译、根文件系统构建等工作,具体过程介绍如下。
6.1.1重新编译生成一个新的X86系统内核
# cp linux-2.4.20.bz2 /usr/src/
# cd /usr/src
# tar zfvj linux-2.4.20.bz2
# ln -s linux-2.4.20 linux
# cd linux
或
# cd /usr/src/linux-2.4.20-8
2) 清理源代码树
# make mrproper
make mrproper命令会删除所有的编译生成文件、内核配置文件(.config文件)和各种备份文件,所以几乎只在第一次执行内核编译前才用这条命令。
3) 进入menuconfig配置菜单:
# make menuconfig删除编译生成文件,但保留内核的配置文件.config
# make clean2) 对内核配置阶段选择的功能和特色进行依赖关系分析,这些功能运行所需要的特色和代码添加到裁剪后的内核中。
# make dep
# make zImage
4) 编译可加载模块(即内核选项中选择为M的选项),编译时间跟M选项的数量有关将编译好的modules拷贝到/lib/modules下# make modules_inatall
(4) 最终生成的压缩映像的路径
arch/i386/boot/zImage
(5) 用新的内核启动Linux
1) 将新内核复制到/boot目录
? ?? ? # cp /usr/src/linux/arch/i386/boot/bzImage??/boot/vmlinuz-x.y.z2)?将启动映象文件复制到/boot目录 ?? ?
# cp /usr/src/linux/System.map /boot/System-x.y.z.map3)??修改启动设置文件目前大多数使用的都是grub启动,需要修改/boot/grub/grub.conf,添加相应的启动信息,添加内容的最简单格式如下:title 显示在启动菜单上的名称root 根文件系统挂载分区kernel 压缩过的内核文件名initrd 根文件系统文件名? ?? ?? ?? ???如:? ?? ?? ?? ???title My new kernel? ?? ?? ?? ???root (hd0,2)? ?? ?? ?? ???kernel /boot/vmlinuz-x.y.z? ?? ?? ?? ???initrd /boot/initrd-x.y.z.img重新编译生成一个新的系统内核
# cd /arm2410s/kernel-2410s
2) 进入menuconfig配置菜单# make menuconfig
(2)编译生成新的内核
1)删除编译生成文件,但保留内核的配置文件.config
# make clean2) 对内核配置阶段选择的功能和特色进行依赖关系分析,这些功能运行所需要的特色和代码添加到裁剪后的内核中。
# make dep
# make zImage
# make modules
(4) 最终生成的压缩映像的路径
arch/arm/boot/zImage
6.2 根文件系统的制作
6.2.1 根文件系统的结构
根文件系统包括支持Linux正常运行所需的程序和数据,如系统命令文件、运行库、系统进程代码和配置文件,包括:
基本文件系统结构:/dev,/proc,/bin,/etc,/lib,/usr,/tmp,/var,/home,/mnt
基本程序运行所需函数库:glibc, uclibc
基本系统配置文件: rc, inittab
必要的设备支持文件: /dev/hd*, /dev/tty*, /dev/fda0
必要的系统命令:sh, ls, cp, mv, rz, ifconfig
6.2.2 制作根文件系统映像
本节讲述如何在旧的根文件系统中加入新命令或文件的过程。
(1)将旧的根文件系统解压缩到一个目录中
您可能关注的文档
- 盗贼入门.doc
- 的发生范德萨.doc
- 等比数列说课稿.doc
- 低端android机内存管理优化.doc
- 迪麓数字技术有限公司.doc
- 底删除VC++6.0.doc
- 地科07级《操作系统》试卷(A)标准答案.doc
- 地科07级《操作系统》试卷(A)评分标准.doc
- 地科07级《操作系统》试卷(B)标准答案.doc
- 地科07级《操作系统》试卷(B)评分标准.doc
- 2024年沧州市公务员考试行测真题及答案详解(名师系列).docx
- 粮油食品检验人员复习提分资料带答案详解(精练).docx
- 粮油食品检验人员自我提分评估(考点精练)附答案详解.docx
- 粮油食品检验人员全真模拟模拟题附参考答案详解(精练).docx
- 2025年延安市公务员考试行测试卷历年真题附答案详解(突破训练).docx
- 2025年株洲市公务员考试行测试卷历年真题含答案详解.docx
- 2024年枣庄市公务员考试行测真题及完整答案详解1套.docx
- 2024年抚顺市公务员考试行测真题及答案详解(各地真题).docx
- 2025年常州市公务员考试行测真题及一套参考答案详解.docx
- 2023年德州市公务员考试行测试卷历年真题及1套完整答案详解.docx
最近下载
- 林伟贤-魅力口才第1-40集全.ppt
- 海上油气集输油气混输管道浅析.pptx
- 广东省2024年本科普通类(历史)投档情况.pdf VIP
- 路堑高边坡安全专项施工方案.docx VIP
- deform v11安装教程注意前先退出安全管家之类杀毒软件以免过程中拦.pdf VIP
- trnsys太阳能系统详细案例.ppt VIP
- 可摘局部义齿修复工艺技术 第四章 可摘局部义齿的设计及制作流程 第四章 可摘局部义齿的设计及制作流程.pptx VIP
- 卫生巾营销策划方案.doc VIP
- PE聚乙烯焊工考试试卷.doc VIP
- 2025河南工业大学招聘非事业编(人事代理)12人笔试模拟试题及答案解析.docx VIP
文档评论(0)