- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式系统第六讲之二 eLinux系统构建与启动分析
内核启动第1阶段 流程 内核启动第1阶段 源代码 内核启动第一阶段源代码位于: linux/arch/arm/kernle/head-armv.S 内核启动第2阶段 从C代码文件linux/init/main.c中的start_kernel函数处开始执行, …… 直到调用kernelthread()产生init线程(位于linux/init/main.c),完成KERNEL的启动过程。 内核启动第2阶段 系统首先完成一些相关的初始化工作: lock_kernel(); printk(linux_banner); //打印LINUX版本信息等。 setup_arch(command_line);//处理器相关的初始化过程 printk(Kernel command line: %s\n, saved_command_line); parse_options(command_line); //解析BootLoader传递过来的内核参数 trap_init();//设置陷阱门和中断门 内核启动第2阶段 init_IRQ();//初始化系统IRQ sched_init(); //进程调度机制的初始化 ……. console_init(); //控制台设备的初始化 fork_init(mempages);// 根据系统物理内存的大小计算运行创建线程(包括进程)的数量。 …… 内核启动第2阶段 最后,在rest_init()中调用kernel_thread()产生产生第一个核心线程init(位于linux/init/main.c),然后调用cpu_idle(),等待系统调度init线程,从而完成KERNEL的启动过程。 内核启动第2阶段 — init()函数 init()函数主要完成如下工作: do_basic_setup():完成外设及其驱动程序的加载和初始化。 prepare_namespace:为系统准备好命名空间,并挂载根文件系统。 execve():在/sbin、/etc、/bin目录下查找init程序并执行。 内核启动第2阶段 源代码 内核启动第二阶段源代码位于: linux/init/main.c 内核启动第3阶段 内核启动第二阶段完成后,一般会在/sbin、/etc、/bin等目录下查找init程序并执行,init的执行过程如下: init从配置文件/etc/inittab中获取所有信息; /etc/inittab中会定义一个启动教本,如sysinit、rc、rcS等; PXA270开发系统中启动运行脚本文件/etc/rc.d/rc.sysinit,将完成驱动模块的动态加载、配置网络等工作。 3 根文件系统 根文件系统的基本结构 由于多数嵌入式系统并不需要多用户支持,因此嵌入式Linux的根文件系统通常要比普通Linux的目录树精简得多。 一般来说,目录/bin, /dev, /etc, /lib, /proc, /sbin, 和 /usr等顶层目录都是不可缺省少的 根文件系统的基本结构 /bin:必要的用户命令(二进制文件); /dev:设备文件和其他特殊文件; /etc:系统配置文件,包括启动文件; /lib:必要的链接库,例如C链接库、内核模块等; /proc:用来提供内核与进程信息的虚拟文件系统; /sbin:必要的系统管理员命令(二进制); /usr:在第二层目录中包含对大多数用户都有用的大量应用程序和文件。 根文件系统的基本结构 一般来说,目录/boot, /home, /mnt, /opt, /root, /tmp, /var等顶层目录则是可以选择的 根文件系统的基本结构 /boot:引导加载程序使用的静态文件,如内核镜像; /home:用户主目录,包括供FTP等服务使用的主目录; /mnt:安装点,用于暂时安装文件系统; /opt:附加的软件套件; /root:root用户的主目录; /tmp:暂时性的文件; /var:监控程序和工具程序所存放的可变数据。 构建根文件系统框架—目录 创建顶层目录 $ cd ${PRJROOT}/rootfs $ mkdir bin dev etc lib proc sbin tmp usr var $ chmod 1777 tmp 然后,可以建立/usr的目录结构 $mkdir usr/bin usr/lib usr/sbin 最后,还可以建立/var的目录结构: $ mkdir var/lib var/lock var/log var/run var/tmp $ chmod 1777 var/tmp 构建根文件系统 内核模块 在编译ARM-Linux内核镜像时,可能会有一部分以核心可加载模块的形式编译为
您可能关注的文档
最近下载
- (正式版)SH∕T 3553-2024 石油化工汽轮机施工及验收规范.pdf VIP
- 电气专项施工方案.doc VIP
- 个人简历——【标准模板】.doc VIP
- 软件开发工具unsp ide使用说明书.pdf VIP
- 【课堂新坐标(教师用书)高中英语 Unit 3 Period V Culture Corner & Bulletin Board课件 北师大版必修1.ppt VIP
- 老年病多学科诊疗模式.pptx VIP
- GPX 生产手册.pdf VIP
- 老年病多学科诊疗模式.pptx VIP
- 【课堂新坐标(教师用书)高中英语 Unit 1 Lifestyles单元归纳提升课件 北师大版必修1.ppt VIP
- 新课标高中英语 教师用书配套资料 Unit1~2 阶段综合检测 北师大版必修1.doc VIP
文档评论(0)