回答

收藏

【卓跃教育】有关嵌入式Linux系统开发技术的详细说明

其他 其他 1323 人阅读 | 0 人回复 | 2012-11-25

在各种体系结构平台上,多数内核映像都采用压缩格式。Linux系统的一般启动过程通常划分为内核引导、内核启动和应用程序启动3个阶段。下面由卓跃教育继续为您介绍Linux系统的一般启动过程吧。?
第一阶段是目标板硬件初始化,解压内核映像,再跳转到内核映像入口。这部分的工作一般由目标板的引导程序和内核映像的自引导程序完成。不同体系结构的目标板引导的方式和程序都有差异。DecompressKernel-->CallKernel,这和bootloader有关。?
第二阶段是内核的初始化,初始化设备驱动,挂接根文件系统。这里是Linux内核通用的启动函数入口。所有体系结构的目标板都顺序调用统一的函数,尽管有些函数的代码实现是跟体系结构相关的。Initializehardware,Initializedevicedriver,Mountrootfilesystem,Execute/sbin/init?
第三阶段是执行用户空间的init程序,完成系统初始化、启动相关服务和管理用户登录等工作。这个阶段可以提供给用户交互界面,例如:Shell命令行或者图形化的窗口界面。也可以自动执行应用程序。loginprompt,Startnetworkservice,StartX-Windows?
您有任何关于Linux系统的疑问,欢迎咨询在线老师?
在Linux系统启动过程中,有两个关键点。一个是内核映像的解压启动;另一个是根文件系统的挂接。目标板处理器上电或者复位后,首先执行引导程序(Bootloader),初始化内存等硬件,然后把压缩的内核映像加载到内存中,最后跳转到内核映像入口执行。这样就把控制权完全交给内核映像了。接下来内核映像继续执行,完成自解压或者重定位,然后跳转到解压后的内核代码入口。这部分主要是Linux内核的自引导程序,又叫作Linuxbootloader,包含在内核源代码中。这部分引导代码相对简单,不可能替代目标板上的Bootloader。?
?
分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条