- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
定制嵌入式Linux系统的启动程序
定制嵌入式 Linux 系统的启动程序
摘 要 嵌入式系统的特点决定了它具有功能的专用性,而不能作为一种通用的计算机系统。基
于 Linux 操作系统开发嵌入式产品,必须对它的启动程序进行定制。本文研究了 Linux 操作系
统的启动过程,并给出了如何为嵌入式 Linux 系统添加用户自己的启动服务,以及指定开机后
运行的主功能程序的方法。
关键词 嵌入式 Linux 启动程序
一、嵌入式系统的概念及特点[1]
引用电气工程师协会 IEE 给嵌入式系统下的一个定义:嵌入式系统是用来控制或监视机器、
装置或工厂等大规模系统的设备。但是后来随着嵌入式系统的发展,这个定义就变得不是很准确。
比如说像手机、PDA 及电子词典之类的小型设备,它们均由内部的嵌入式系统控制,但是却不
可称之为大规模的系统。
有些文献这样下定义我觉得比较确切:嵌入式系统是电脑软件与硬件的综合体,它是以应用为中
心,以计算机技术为基础,软硬件均可裁剪,能够适应实际应用中对功能、可靠性、成本、体积、
功耗等严格要求的专用计算机系统。
嵌入式系统具有以下几个特点:
1、 嵌入式系统是先进的计算机技术、半导体技术以及电子技术与各个行业的具体应用相结
合的产物。也就是说嵌入式系统并不像通用计算机那样通用,而是与各待业的特定应用相关联的,
每行每业的嵌入式系统要实现的功能也不一样。因此,在嵌入式系统上没有哪个公司的操作系统
和处理器能够垄断市场。
2、 嵌入式系统实现的功能单一,通常是面向用户、面向产品、面向特定应用的,一般只实
现某行业的特定功能。
3、 成本低、体积小、功耗低及可靠性高,在运行速度及存储容量上有一定的限制。
4、 嵌入式系统本身不具备在其上进一步开发的能力,必须要在相关的开发平台上开发。
5、 全自动操作循环,一直重复地执行一个特定的程序
嵌入式系统的灵魂应该说是它的嵌入式操作系统,本文使用的是嵌入式 Linux,硬件基础是
基于 x86 的嵌入式主板。由上述嵌入式系统的特点可知,为了让嵌入式系统具有一个产品或仪
器的特性,不能让像通用计算机那样开机后进入桌面系统,而是要运行指定服务和一个特定的用
户应用程序。本文将如何让 Linux 开机后执行指定服务和运行一特定的用户程序进行探讨。
二、Linux 系统的启动过程
让我们先了解一下 Linux 系统启动的过程。当引导程序(如 LILO)加载 Linux 内
核映象启动时,它先进行内核的初始化工作,主要是检测整个硬件环境。内核
初始化完成后,系统就启动 init 进程,它是系统的第一个用户级进程。Linux 系
统具有许多运行级别,它由文件/etc/inittab 文件决定,各级别的功能如下:
0:终止或停止系统的运行
1:单用户模式
2:多用户模式,但无网络功能
3:多用户模式且有网络功能
4:保留,用户可以定义自己的启动模式
5:图形界面登陆模式
6:重新启动系统
init 进程运行后,它会访问/etc/inittab 文件,该文件确定系统运行于上面的哪个级别。由
于嵌入式系统的特性,我们要让系统运行于级别 1 上,即单用户模式,这只要在/etc/inittab
文件的 id:3:initdefault 行,将 3 改为 0 即可。同时每个级别还对应了一个启动各种服
务的脚本目录,一般在/etc/rc.d/下面。
接着 init 进程又分别启动/etc/rc.d/rc.sysinit 和与等级 n 相对应的/etc/rc.d/rcn.d 目录里
的初始化进程,最后 init 会运行用户登陆程序,这时在终端上就会显示 login:的登录信息,用
户登录成功后会启动 shell 程序,shell 启动后,它会读取并执行文件/etc/profile,/etc/bashrc,
和用户主目录下的文件.bashrc,这些文件负责建立用户自己的环境。
三、设置特定服务及开机启动程序
如前所述,添加指定服务,定制特定的启动程序,就从配置文件/etc/rc.d/rcn.d 和
/etc/profile 入手。
1、添加指定的服务:是指在系统启动时进行一些用户所需要的操作,如初始化用户应用程
序或用户开发的新硬件等等。可以增加自己的脚本程序来完成这些工作,主要步骤如下:
(1) 仿照系统目录/etc/rc.d/init.d 里的任何一个脚本文件的格式自己编写一个启动服务脚
本文件。
(2) 将写好
您可能关注的文档
最近下载
- 2023年中国人民大学信息管理与信息系统专业《数据结构与算法》科目期末试卷A(有答案).docx VIP
- 2025年一级建造师公路桥梁上部结构装配与架设专题模拟试卷及解析.pdf VIP
- 面向领域适配任务的样本重要性重加权迁移学习算法体系分析.pdf VIP
- 2025年通信工程师DCCP协议拥塞控制机制专题试卷及解析-判断题.pdf VIP
- 多源异构医学数据库融合下的知识图谱构建数据标准与接口协议研究.pdf VIP
- 分层式联邦学习框架在复杂图像分割任务中的结构优化与协议演化.pdf VIP
- 联邦分布式图学习在黑产风险识别系统中的模型构建方案.pdf VIP
- 面向短视频平台的多模态内容分析与语义理解算法深度研究.pdf VIP
- 战略协议合作框架协议(通用10).pptx VIP
- 2025年招标师投标保证金与履约保证金管理的廉政风险点专题试卷及解析.pdf VIP
原创力文档


文档评论(0)