Chinaunix首页 | 论坛 | 博客
  • 博客访问: 147019
  • 博文数量: 29
  • 博客积分: 795
  • 博客等级: 军士长
  • 技术积分: 312
  • 用 户 组: 普通用户
  • 注册时间: 2005-05-18 11:13
文章分类
文章存档

2016年(2)

2012年(1)

2011年(5)

2009年(4)

2008年(8)

2007年(4)

2006年(3)

2005年(2)

我的朋友

分类:

2008-08-22 09:21:32

控制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磁盘分区,
 
待续
未经笔者允许不得转载,否则追究法律责任
阅读(1708) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-04-08 16:43:43

谢谢,加深了理解