控制Neutrino启动
内容
1.启动的时候发生了什么
2.装载Neutrino映像
3.diskboot
4..diskboot
5./etc/system/sysinit
6.设备枚举
7./etc/rc.d/rc.sysinit
8.rc.local
9.tinit
10.磁盘驱动更新
8.常见问题
系统启动确切发生了什么取决于硬件,本章只作一个大致的描述。
1.启动的时候发生了什么
当系统启动的时候,CPU复位,其执行复位向量中的内容。在X86体系结构中,通常是BIOS,在其他平台上可能使ROM监视器或直接跳转到IPL代码。ROM监视器运行后,通常跳转到IPL,BIOS也一样甚至直接启动OS的映像。
IPL拷贝启动映像到内存并跳转到startup。startup代码初始化硬件,把硬件信息填到系统页中,加载回调函数用于内核与硬件交互,然后加载并启动微内核及进程管理器(procnto)。板子的IPL和startup对特定的板子来说市BSP的通用部分。
procnto初始化完毕后,其运行启动脚本中的命令,该脚本可通过shell脚本或c/C++程序进一步客制化运行环境。
在非x86磁盘启动系统中,过程差不多:几乎所有的定制都通过启动脚本或其调用的脚本来实现。
对于X86 BIOS启动,其变得比较复杂:
在获得控制权后,BIOS配置硬件,扫描BIOS扩展签名。其调用每一个BIOS扩展直到某一部分启动系统。如果没有任何扩展部分启动系统,BIOS提供一些错误消息。
网络启动情况下,启动ROM从服务器上下载一个映像,并拷贝到内存中,然后跳转到映像的入口处。启动映像通常需要运行一个网络堆栈,和启动一些网络文件系统以检索或访问额外的程序和文件。
你可以使用mkifs工具创建OS映像。这类型的映像的buildfile示例,参见附件。
作为一个磁盘启动的Neturino桌面系统,启动进程,尤其系统初始化非常复杂。在BIOS选择从磁盘启动后,调用主要的boot loader。该装载器是系统未可知者,可以装载任何os。Neutrino安装后显示以下信息:
Press F1-F4 to Select drive or select partition 1,2,3,? 1
在一个短暂的超时后,其启动提示磁盘的OS。该装载器为/boot/sys/ipl-diskpc1.你可以使用dloader把装载器写道磁盘上。
装载Neutrino映像
当你选择一个QNX磁盘分区,
待续
未经笔者允许不得转载,否则追究法律责任
阅读(1763) | 评论(1) | 转发(0) |