opensolaris启动分析.pptVIP

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
opensolaris启动分析

优化编译过程 编译模块的精简 去除sun4u的支持 只编译和调试机器相关的模块(platmod) 只编译和调试机器处理器相关的处理器模块 只使用cc编译 # export CW_NO_SHADOW= ?修改代码后,仅对受影响的模块做编译 模块安装和系统重启 编译好的内核模块不安装到文件系统的内核模块目录下。这样系统重启不需要更新系统中的boot_archive 首先将系统中的boot_archive复制一份boot_archive.test 以后每次编译新的内核模块都安装到 boot-archvie.test中 然后使用boot_archive.test重启系统即可。 # reboot -- -F boot_archive.test * * OpenSolaris启动分析 内容提要 分析OpenSolaris在T5140上的启动过程。以磁盘启动为例,关注从OBP就绪到内核开始运行的过程。 硬件 Sun SPARC Enterprise T5140 Server Guest Dom : 8个vcpu、 2G内存 OS OpenSolaris b_104 基本流程 OBP阶段 OBP的boot命令 boot [device-specifier] [argument] 根据参数最终作用的位置,可以将boot的参数分为三类: 供OBP使用,如确定启动设备。 ok boot /virtual-devices@100/channel-devices@200/disk@0 ok boot disk 传递给bootblk,用于指定引导文件等 ok boot –F boot_archive.test ok boot mykernel/unix 传递给内核,用于确定系统运行级等 ok boot -s OBP工作流程 OBP主要工作流程 解析boot命令的参数,确定启动设备和要传给后续阶段的启动参数。 如果是OBP设备树中的设备(以全路径方式的设备路径名)或者设备别名,OBP就在该设备上启动。 如果不是一个可用的设备名,OBP则使用环境变量中boot-device设定的设备启动。 OBP工作流程(续) 2. 在启动“磁盘”中获取bootblk程序,将其加载到内存。 3. 将启动参数传递给bootblk,执行bootblk。 扇区 0 1-15 16~ 内容 VTOC bootblk 文件系统 bootblk阶段 Bootblk阶段可以分成两个子阶段: 启动磁盘阶段 在硬盘的扇区1~15,负责从磁盘文件系统中查找并加载boot_archive Boot_archive阶段 在boot_archive的扇区1~15,负责从ramdisk文件系统中查找并加载unix基本内核模块 实验验证 /usr/src/psm/stand/bootblk/common/boot.fth : exec-file ( virt -- ) is-elf? if dup fix-elf-mem then is-archive? if bootblk then ( virt ) to load-base init-program evaluate ; ."ELF."cr ." ARCHIVE."cr Bootblk——启动磁盘阶段 启动磁盘阶段的bootblk用于读取磁盘文件系统,从中提取boot_archive文件,并将其加载到内存中,形成ramdisk文件系统;然后跳入运行boot_archive的bootblk。 boot_archive文件路径一般由OBP启动标志“-F”指定;如果没有定义,就用默认路径。 ok boot -F /export/boot_archive.test 直接有哪些信誉好的足球投注网站/export/boot_archive.test文件。 ok boot –F boot_archive.test 从内核模块默认的存放路径查找 /platform/`uname -i`和/platform/`uname -m`。 ok boot bootblk会在默认路径下查找boot_archive文件。 Boot_archive boot_archive是系统引导时的一个重要文件,它是一个ramdisk映像,包含了系统引导所必需的内核模块和配置文件,用于在挂载真实物理设备的根文件系统之前可以挂载到ramdisk中。 bootblk’——boot_archive阶段 boot_archive阶段的bootblk用于读取ramdisk文件系统 从ramdisk中提取unix基本内核模块,将其加载到内存中; 传递启动参数传递给unix; 进入un

文档评论(0)

celkhn0303 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档