创建最小的运行映象
- 格式:doc
- 大小:72.00 KB
- 文档页数:9
最小的Linux操作系统制作过程详解一,什么是BabyLinuxBabyLinux不是一个完整的发行版,他是利用原有的一套完整的linux系统的内核原代码和编译工具,利用busybox内建的强大功能,在一张软盘上做的一个很小的linux系统。
他具备一个linux系统的基本特征,支持linux系统最常用的一百多个命令,支持多种文件系统,支持网络等等,你可以把他当做一张linux 起动盘和修复盘来用,你也可以把他当做一个静态路由的路由器软件,当然,你也可以把他当做一个linux玩具,向你的朋友炫耀linux可以做的多么小。
我把他叫做BabyLinux因为他很小巧,小的很可爱,像一个刚刚出生的小baby。
二.为什么要作这样一个linux先说说我一开始的想法,当我一开始接触linux的时候,看到书上说,linux 通常安装只需要60M左右的空间,但是我发现装在我硬盘上的Redhat 6.0确要占据好几百M的空间。
为什么我的linux这么大呢? 后来我发现,装在我机器上的那么多东西只有不到30%是我平时常用的,还有30%是我极少用到的,另外的40%基本上是不用的。
于是,我和大多数初学者一样,开始抱怨,为什么linux 不能做的精简一点呢?于是,我萌发了自己裁减系统的想法。
可惜那个时候我还没有听说过有LFS和Debain。
等到我积累了足够的linux知识后,我开始制作这样一个小系统。
制作这样一个小系统最大的意义在于,你可以通过制作系统了解linux的启动过程,学会ramdisk的使用,让你在短时间内学到更多的linux知识。
当然,你会得到很大的乐趣。
这个项目只是做一个具有基本特征的linux系统,如果你想自己做一个具有完整功能的linux,请阅读Linux From Scratch (LFS)文档。
三,什么人适合读这篇文档如果你是一个linux爱好者,并且很想了解linux的启动过程和系统的基本结构,而且是一个喜欢动手研究小玩意的人,那么这个文档可以满足你的需求。
一般而言,一个程序包括只读的代码段和可读写的数据段。
在ARM的集成开发环境中,只读的代码段和常量被称作RO段(ReadOnly);可读写的全局变量和静态变量被称作RW 段(ReadWrite);RW段中要被初始化为零的变量被称为ZI段(ZeroInit)。
对于嵌入式系统而言,程序映象都是存储在Flash存储器等一些非易失性器件中的,而在运行时,程序中的RW段必须重新装载到可读写的RAM中。
这就涉及到程序的加载时域和运行时域。
简单来说,程序的加载时域就是指程序烧入Flash中的状态,运行时域是指程序执行时的状态。
对于比较简单的情况,可以在ADS集成开发环境的ARM LINKER选项中指定RO BASE和RW BASE,告知连接器RO和RW的连接基地址。
对于复杂情况,如RO段被分成几部分并映射到存储空间的多个地方时,需要创建一个称为“分布装载描述文件”的文本文件,通知连接器把程序的某一部分连接在存储器的某个地址空间。
需要指出的是,分布装载描述文件中的定义要按照系统重定向后的存储器分布情况进行。
在引导程序完成初始化的任务后,应该把主程序转移到RAM中去运行,以加快系统的运行速度。
什么是arm的映像文件,arm映像文件其实就是可执行文件,包括bin或hex两种格式,可以直接烧到rom里执行。
在axd调试过程中,我们调试的是axf文件,其实这也是一种映像文件,它只是在bin文件中加了一个文件头和一些调试信息。
映像文件一般由域组成,域最多由三个输出段组成(RO,RW,ZI)组成,输出段又由输入段组成。
所谓域,指的就是整个bin映像文件所处在的区域,它又分为加载域和运行域。
加载域就是映像文件被静态存放的工作区域,一般来说flash里的整个bin文件所在的地址空间就是加载域,当然在程序一般都不会放在flash里执行,一般都会搬到sdram里运行工作,它们在被搬到sdram里工作所处的地址空间就是运行域。
我们输入的代码,一般有代码部分和数据部分,这就是所谓的输入段,经过编译后就变成了bin文件中ro段和rw段,还有所谓的zi 段,这就是输出段。
S7-PLCSIM简介S7-PLCSIM是S7-PLC的模拟软件,它可以在STEP7环境下,不用连接任何S7系列的PLC(CPU 和I/O模板),而是通过仿真的方法运行和测试运行和测试用户的用户的用户的应用程序。
S7-PLCSIM 提供了简单的界面,可以,可以用编程的方法(如如改变输入的通/断/状态、输入值的变化)来监控和修改不同的参数,也可以使用不同的参数,也可以使用变量表(VAT)进行监控和监控和修改修改变量。
一、S7-PLCSIM的特性简介S7-PLCSIM的功能很功能很强,可以使用STEP7的所有所有工具监控调整模拟PLC的性能,通过S7-PLC工作过程与真实的PLCPLC相比,差别很小。
⑴S7-PLCSIM可模拟的S7控制器的存储器区域如下:(DEL_SI,删除动态系统资源),SFC107(ALARM_DQ,生成可确认的与永久确认的块相关的信息),SFC108(ALARM_D,生成可确认的与永久确认的块相关的信息),SFC126(SYNC_PI,同步刷新过程映象区输入表),SFC127(SYNC_PO,同步刷新过程映象区输出表),SFC65091,SFC65092,SFC65093,SFC65094,SFC65095,SFC65096,SFC65098,SFC65099,SFC65102,SFC65103注:SFC26,SFC27,S7-PLCSIM仅支持仅支持输入为0的参数SFC7,SFC11,SFC12,SFC25,SFC35,SFC36,SFC37,SFC38,SFC48,SFC60,SFC61,SFC62,SFC65,SFC66,SFC67,SFC68,SFC69,SFC72,SFC73,SFC74,SFC81,SFC82,SFC83,SFC84,SFC87,SFC102,SFC103,SFC105,SFC106,SFC107,SFC108,SFC126,SFC127是NOP(空操作)用户不需要用户不需要修改调用空操作的程序。
人机界面百科名片人机界面(又称用户界面或使用者界面)是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。
凡参与人机信息交流的领域都存在着人机界面。
编辑本段人机界面概念介绍人机界面(Human–Machine Interaction,简称HMI),是人与计算机之间传递、交换信息的媒介和对话接口,是计算机系统的重要组成部分。
是指人和机器在信息交换和功能上接触或互相影响的领域或称界面所说人机结合面,信息交换,功能接触或互相影响,指人和机器的硬接触和软触,此结合面不仅包括点线面的直接接触,还包括远距离的信息传递与控制的作用空间。
人机结合面是人机系统中的中心一环节,主要由安全工程学的分支学科安全人机工程学去研究和提出解决的依据,并过安全工程设备工程学,安全管理工程学以及安全系统工程学去研究具体的解决方法手段措施安全人机学。
它实现信息的内部形式与人类可以接受形式之间的转换。
凡参与人机信息交流的领域都存在着人机界面。
现在大量运用在工业与商业上,简单的区分为“输入”(Input)与“输出”(Ouput)两种,输入指的是由人来进行机械或设备的操作,如把手、开关、门、指令(命令)的下达或保养维护等,而输出指的是由机械或设备发出来的通知,如故障、警告、操作说明提示等,好的人机接口会帮助使用者更简单、更正确、更迅速的操作机械,也能使机械发挥最大的效能并延长使用寿命,而目前市面上所指的人机接口则多界狭义的指在软件人性化的操作接口上。
特定行业的人机界面可能有特定的定义和分类,比如工业人机界面(Industrial Human-machine Interface 或简称Industrial HMI),具体解释可查看“工业人机界面”词条。
编辑本段人机交互概念介绍人机交互、人机互动(Human-Computer Interface,简写HCI,又称用户界面或使用者界面):是一门研究系统与用户之间的互动关系的学问。
实验29 VxWorks移植实验一实验原理1 VxWorks内核的特点及BSP简介1.1 VxWorks内核的特点操作系统的实时性是一个相对的概念,一般指的是在相同的环境下、使用相同的输入,会在规定的时间内得到正确的响应。
一个实时操作系统内核需要满足许多特定的实时环境所提出的基本要求,这些内容包括:(1) 多任务由于真实世界的事件的异步性,能够运行许多并发进程或任务是很重要的。
多任务提供了一个较好的对真实世界的模拟,因为它允许对应于许多外部事件的多线程“同时”执行。
系统内核通过适当的策略分配CPU给这些任务来获得并发性。
(2) 抢占调度真实世界的事件具有继承的优先级,在分配CPU的时候要注意到这些优先级。
基于优先级的抢占调度,任务都被指定了优先级,在能够执行的任务(没有被挂起或正在等待资源)中,优先级最高的任务被分配CPU资源。
换句话说,当一个高优先级的任务变为可执行态,它会立即抢占当前正在运行的较低优先级的任务。
(3) 任务间的通讯与同步在一个实时系统中,可能有许多任务作为应用的一部分执行。
系统必须提供这些任务间的快速且功能强大的通信机制,内核也要提供同步机制,来有效地共享不可抢占的资源或临界资源。
(4) 任务与中断之间的通信尽管真实世界的事件通常作为中断方式到来,但为了提供有效的排队、优先级和减少中断延时,我们通常希望在任务级处理相应的工作。
所以需要在任务级和中断级之间进行通信,完成事件的传递。
VxWorks就是一个基于抢占式的实时操作系统,已经被广泛的应用到许多行业,VxWorks 操作系统具有很多优点,比如:(1)高度的可靠性操作系统的用户希望在一个工作稳定,可以信赖的环境中工作,所以操作系统的可靠性是用户首先要考虑的问题。
而稳定、可靠一直是VxWorks的一个突出优点。
自从对中国的销售解禁以来,VxWorks以其良好的可靠性在中国赢得了越来越多的用户。
(2)优秀的实时性实时性是指能够在限定时间内执行完规定的功能并对外部的异步事件作出响应的能力。
com 文件和exe 文件的区别.com文件和.exe文件的区别2011-03-25 00:15 COM文件:.COM文件包含程序的一个绝对映象--就是说,为了运行程序准确的处理器指令和内存中的数据,MS-DOS通过直接把该映象从文件拷贝到内存而加载.COM 程序;它不作任何改变.为加载一个.COM程序,MS-DOS首先试图分配内存,因为.COM程序必须位于一个64K的段中,所以.COM文件的大小不能超过65,024(64K减去用于PSP的256字节和用于一个起始堆栈的至少256字节).如果MS-DOS不能为程序,一个PSP,一个起始堆栈分配足够内存,则分配尝试失败.否则,MS-DOS分配尽可能多的内存(直至所有保留内存),即使.COM程序本身不能大于64 K.在试图运行另一个程序或分配另外的内存之前,大部分.COM程序释放任何不需要的内存.分配内存后,MS-DOS在该内存的头256字节建立一个PSP,如果PSP中的第一个FCB含有一个有效驱动器标识符,则置AL为00h,否则为0FFh.MS-DOS还置AH为00h或0FFh,这依赖于第二个FCB是否含有一个有效驱动器标识符.建造PSP后,MS-DOS在PSP后立即开始(偏移100h)加载.COM文件,它置SS,DS和ES为PSP的段地址,接着创建一个堆栈.为创建一个堆栈,MS-DOS 置SP为0000h,若已分配了至少64K内存;否则,它置寄存器为比所分配的字节总数大2的值.最后,它把0000h推进栈,这是为了保证与在早期MS-DOS版本上设计的程序的兼容性.MS-DOS通过把控制传递偏移100h处的指令而启动程序.程序设计者必须保证.COM文件的第一条指令是程序的入口点.注意,因为程序是在偏移100h处加载,因此所有代码和数据偏移也必须相对于100h.汇编语言程序设计者可通过置程序的初值为100h而保证这一点(例如通过在原程序的开始使用语句org 100h).EXE文件包含一个文件头和一个可重定位程序映象.文件头包含MS-DOS用于加载程序的信息,例如程序的大小和寄存器的初始值.文件头还指向一个重定位表,该表包含指向程序映象中可重定位段地址的指针链表.文件头的形式与EXEHEADER结构对应:EXEHEADER STRUC exSignature dw 5A4Dh;.EXE标志exExraBytes dw?;最后(部分)页中的字节数exPages dw?;文件中的全部和部分页数exRelocItems dw?;重定位表中的指针数exHeaderSize dw?;以字节为单位的文件头大小exMinAlloc dw?;最小分配大小exMaxAlloc dw?;最大分配大小exInitSS dw?;初始SS值exInitSP dw?;初始SP值exChechSum dw?;补码校验值exInitIP dw?;初始IP值exInitCS dw?;初始CS值exRelocTable dw?;重定位表的字节偏移量exOverlay dw?;覆盖号EXEHEADER ENDS程序映象,包含处理器代码和程序的初始数据,紧接在文件头之后.它的大小,以字节为单位,等于.EXE文件的大小减去文件头的大小,也等于exHeaderSize的域的值乘以16.MS-DOS通过把该映象直接从文件拷贝到内存加载.EXE程序然后调整定位表中说明的可重定位段地址.定位表是一个重定位指针数组,每个指向程序映象中的可重定位段地址.文件头中的exRelocItems域说明了数组中指针的个数,exRelocTable域说明了分配表的起始文件偏移量.每个重定位指针由两个16位值组成:偏移量和段值.为加载.EXE程序,MS-DOS首先读文件头以确定.EXE标志并计算程序映象的大小,然后它试图申请内存.首先,它计算程序映象文件的大小加上PSP的大小再加上EXEHEADER结构中的exMinAlloc域说明的内存大小这三者之和,如果总和超过最大可用内存块的大小,则MS-DOS停止加载程序并返回一个出错值.否则,它计算程序映象的大小加上PSP的大小再加上EXEHEADER结构中exMaxAlloc域说明的内存大小之和,如果第二个总和小于最大可用内存块的大小,则MS-DOS分配计算得到的内存量.否则,它分配最大可用内存块.分配完内存后,MS-DOS确定段地址;也称为起始段地址,MS-DOS从此处加载程序映象.如果exMinAlloc域和exMaxAlloc域中的值都为零,则MS-DOS把映象尽可能地加载到内存最高端.否则,它把映象加载到紧挨着PSP域之上.接下来,MS-DOS读取重定位表中的项目调整所有由可重定位指针说明的段地址.对于重定位表中的每个指针,MS-DOS寻找程序映象中相应的可重定位段地址,并把起始段地址加到它之上.一旦调整完毕,段地址便指向了内存中被加载程序的代码和数据段.MS-DOS在所分配内存的最低部分建造256字节的PSP,把AL和AH设置为加载.COM程序时所设置的值.MS-DOS使用文件头中的值设置SP与SS,调整SS初始值,把起始地址加到它之上.MS-DOS还把ES和DS设置为PSP的段地址.最后,MS-DOS从程序文件头读取CS和IP的初始值,把起始段地址加到CS之上,把控制转移到位于调整后地址处的程序.在dos下,可执行程序都是由外壳程序进行加载,运行完成后再返回外壳程序,exe文件中的程序执行过程如下:1.由其他程序(Debug,command(shell程序))将exe文件中的程序加载入内存;2.设置CS:IP指向程序第一条要执行的指令(即程序的入口地址),从而使程序可以运行3.程序运行结束后,返回到加载者所以程序是从程序被加载进入内存后,第一次设定的CS:IP指向的内存处开始执行的COM文件COM文件只有一个分段,无堆栈段,程序长度小于64KB。
VxWorks引导启动过程一.引导过程1.bootstrap/bootloader/bootrombootstrap是固化在CPU的ROM中的一小段指令系列,它是最初级的引导,旨在初始化CPU、时钟、堆栈,目标是让CPU正常运作起来。
引导加载程序(bootloader)是系统上电后运行的第一段软件代码。
广义的bootloader可以认为是BootstrapProgram+Boot Image,不过一般就是指Boot Image。
Boot Image的地位和作用可类比PC中位于BIOS固件程序(firmware)+硬盘MBR中的OS BootLoader (比如LILO和GRUB 等),它完成系统从上电后的硬件检测和资源分配,并将内核映象加载到RAM中,然后跳转到内核的入口点去运行启动操作系统。
bootrom通常是用来存储BootLoader的ROM/FLASH芯片,在VxWorks文档中的bootrom 区是指Boot Image存放的位置。
bootrom 完成VxWorks启动前的基本引导工作,如最简初始化硬件,下载映象文件并解压到RAM中等操作。
2.引导流程CPU从没有电到上电状态,经过自复位的过程后,指令指针指向一个固定的地址。
基于CPU 构建的嵌入式系统通常都有某种类型的固态存储设备(比如:ROM、EEPROM或FLASH 等)被映射到这个预先安排的地址上。
因此,在系统上电后,CPU将首先执行这个地址所包含的指令,即Boot Loader程序。
无论如何,CPU开始执行一段指令了,这段指令的作用首先是将可执行程序所需的最小环境搭建起来。
这个初始化过程包括初始化CPU、内存控制器及各种必需输入/输出设备、磁盘控制器等等。
以X86体系结构来说,需要初始化CPU、北桥、南桥,常说的BIOS就是这样一段初始化程序。
在那些没有BIOS的架构中,这一工作由系统的bootrom完成。
建立了最小可运行系统,操作系统的内核就可以运行了。
plc属性中过程映像输入输出大小设置问题在step中硬件组态plc属性中过程映像输入输出大小设置,我用317 我看默认是256 这个大小怎么设置根据什么来设置看了不少帖子就是没搞清楚请高手帮忙谢谢最新型号的S7-300 CPU在CPU属性页Cycle/Clock Memory 页面中设置,V3版本以下大部分CPU无法设置。
我的理解是过程映像没必要设置过大,因为每次扫描周期都要对这个映像寄存区进行扫描,越大,肯定月耗时间。
再说映像寄存器外的地址空间,一样可以直接读取,所以除非有特殊需要,一般都不要修改映像寄存器。
问题:如何在中断OB 中使用或更新过程映像分区解答:组织块构成了操作系统和用户程序之间的接口。
它们由操作系统基于中断或事件进行调用。
在过程映像访问期间,在分配给过程映像的OB 的处理时间段内,CPU 可以使用一个一致的过程信号映像。
如果在发生错误或正在调用中断OB 时通过过程映像访问输入和输出,则属于该OB 的过程映像提供的数值将会在所有时间一直可用。
独立于其它OB (例如OB1) 中的程序及其过程映像,过程映像分区允许用户在报警OB 中以最新的形式响应属于该程序的相关输入数据,或者通过输出尽可能快地影响相关过程。
如果触发信号和相应的数值都放置在过程映像分区中,则相关数值对相应的OB 运行系统保持一致性。
过程映像在包含相应OB 的过程映像分区中更新,其方式与OB1 中的更新方式完全相同。
此更新的过程。
在HW CONFIG 中将过程映像分区(PIP) 分配给相关的输入/输出模块。
为此,双击模块。
选择地址标签,定义模块的过程映像分区。
图1:选择PIP然后可以将此过程映像分区分配给某个OB。
为此,双击CPU,在“Properties”下面选择其中一个中断标签。
您可以在此处将该PIP 分配给任何一个OB。
图2:将PIP 分配给OB在调用此OB 时,自动更新PIP。
每一个PIP 可以包含多个I/O 地址或模块分配,虽然它一次只能分配给一个OB。
一、基本概念1 用户使用操作系统提供的操作接口操作计算机,常见的操作接口有:终端命令、图形用户接口、和( ④ )。
① 高级指令② 宏命令③ 汇编语言④作业控制语言2 操作系统在执行系统调用时会产生一种中断,这种中断称为(④)。
① 外中断② I/O中断③ 程序性中断④ 访管中断3 在下列操作中,不会引起处理器模式转换的操作是(④).①中断② 键盘命令③ 系统调用④ 程序调用4 ( ④)中断事件是正在运行的进程所期待的自愿中断事件。
① 程序② I/O③ 时钟④访管5 当用户程序执行访管指令时,系统( ④)。
① 维持在目态② 维持在管态③ 从管态到目态④从目态到管态注:管态又叫核心态;目态又叫用户态。
6 从作业提交到作业完成的时间间隔是(②)。
① 响应时间②周转时间③ 运行时间④ 等待时间7 既考虑作业等待时间,又考虑作业运行时间的调度算法是(④)。
① 优先数调度② 先来先服务③ 短作业优先④最高响应比优先8 有三个作业J1,J2,J3同时提交,其运行时间分别是a、b、c且a〈b〈c。
系统按单道程序方式运行且采用短作业优先调度算法,则平均周转时间是(④)。
① a+b+c ② 2(a+b+c) ③ a+2b+3c ④ 3a+2b+c注:原题"④3a+2b+t3”应改为”④3a+2b+c”9 以下选项中何种处理不属于系统内核的范围( ④ )。
① 进程调度② 执行原语③执行外设基本操作④命令解释10 在同步控制中,所谓的临界区是指(③ )。
① 一个缓冲区② 一段共享数据区③ 一段程序④ 一个互斥的硬件资源11 创建I/O进程一般是在( ②)。
① 系统调用时②系统初启时③ 有设备中断时④ 输入输出时12 一个进程被唤醒意味着( ④ )。
①进程重新占有CPU并变为运行状态②进程保持等待状态③ 进程PCB移到等待队列首部④ 进程变为就绪状态注:原题漏掉第2选项。
13 在下列事件中不立即进入进程调度程序进行调度的是(④)。
操作系统填空-简答及综合题一、填空题(本大题共8小题,每空1分,共20分)26. 通常所说操作系统的四大模块是指:文件管理、设备管理、(处理机管理)和(存储管理)。
27. 作业调度是从(后备队列)中选一道作业,为它分配资源,并为它创建(进程)。
28. 死锁的四个必要条件是(互斥使用资源)、(占用并等待资源)、不可抢夺资源和(循环等待资源)。
29. 操作系统中,进程可以分为(用户)进程和(系统)进程两类。
30. 进程实体由(程序段)、(数据段)和进程控制块组成,进程存在的唯一标志是(进程控制块)。
31•按用途可将文件分为:系统文件、(库文件)和(用户文件)32•用户程序使用(访管指令(或系统调用))请求操作系统服务。
33. 分页式存贮管理中,页表是用来指出作业的(逻辑页号)与(主存块号)的对应关系。
34. 设虚拟存储器系统的页面大小为1K,某用户程序中的一条指令在逻辑地址空间中的地址是2000,于是该指令的地址处在(1 )号页面中,页内地址是(976 ),其对应的页框号可从(页表)中获得。
18. —个理想的作业调度算法应该是既能提高系统效率或吞吐量高又能使进入系统的作业及时得到计算结果周转时间短等19. 执行操作系统的原语操作时,操作的所有动作要么全做,要么全不做,也即原语操作是—不可分割—的。
20. 主存储器与外围设备之间的信息传送操作称为输入输出操作。
22.文件按存取控制属性分类,被分为只执行只读、读写—和________ 三类文件。
1. 等待输入输出工作完成的进程,一旦I/O完成,其状态变为—就绪态。
2. 从静态的观点看,操作系统中的进程是由 ___________ 程序段—、 ______ 数据段和进程控制块三部分组成,进程存在的唯一标志是_PCB (进程控制块)。
3在操作系统中,不可中断执行的操作称为—原子—操作。
4在可变分区中,可以采用最佳适配算法、—首次适配法—和邻近适配法—来进行分区分配5在5个哲学家问题中,若同时要求就餐的人数不超过4_个,则一定不会发生死锁。
创建最小的运行映象介绍:在这次试验中,我们将从一个完整的PMQ文件开始创建试验系统,将PMQ文件导入到组件设计器中并通过配置DHTML创建一个宏组件。
下一步我们将此宏组件导入到组件数据库中,并且创建一个使用了新创建的硬件宏的新的配置文件(SLX),我们将适当的裁减硬件配置,并创建一个大约50-55M大小的瘦客户端映象。
A部分:创建可配置的硬件宏1.使用TAP程序获取系统硬件信息A.启动TAP生成系统的PMQ文件B.打开\Program Files\Windows Embedded\Utilities文件夹C.双击TAP.EXE启动该程序,生成Devices.PMQ文件D.将Devices.PMQ更名为IBM-DevCon.pmq2.从开始菜单中打开组件设计器A.从文件(FILE)菜单项中选择导入(IMPORT)B.找到刚才生成的设备配置文件Devices.PMQC.设置Log文件的路径为D:\My Documents\IBM-DevCon-Import.logD.点击Start开始导入过程E.当导入过程结束,退出导入文件对话框3.基本硬件宏由导入过程自动产生a.产生组件相关性b.组件被标记为宏组件4.检查导入的硬件a.将焦点移动到组件或组依赖节点(Component or Group Dependencies node)b.等待组件设计器从组件数据库中取得组件数据c.注意:可在此处进行最初的设备裁剪1)删除不需要的硬件组件2)增加需要的硬件d.技巧:停用组件使得他们在DHTML设置中可选择1)将焦点移动到Secondary IDE controller2)右键单击并选择Disable3)这允许组件保留在宏中但是不启用4)可选按钮在默认宏中是没有开启的5.通过配置DHTML增加选择器原型Selector Prototypea.从左边视图中单击主组件,打开组件属性b.单击原型域(Prototype)旁边的浏览按钮(Browse)c.选择Software->Test&Development->Selector Prototype Component,单击Ok6.创建完毕,发布硬件宏a.在SLD浏览器中,将焦点移动到IBM-DevCon组件上b.右键单击组件,选择发布(Release)c.此步操作将使得组件具备只读特性d.此时,组件便可以分发或测试了e.存储SLD文件,例如文件名为:IBM-DevCon.sld7.将宏组件导入到组件数据库a.在组件设计器的主菜单中,选择Tools | Component Database Manager b.单击导入按钮,选择刚才创建好的SLD文件c.单击导入按钮,开始导入过程d.导入结束后,关闭组件数据库管理器e.关闭组件设计器,组件创建就完成了B部分:对硬件宏进行设备裁剪1.启动目标设计器Target Designer2.创建一个新的SLX文件,文件名为DevCon33.可以看到我们刚才创建的IBM-DevCon组件位于组件浏览器的根目录下4.将此宏组件增加到配置中a.在中间的配置编辑器窗口中,展开IBM-DevCon组件b.单击Settings节点打开DHTML视图5.此时所有的组件将可见并且可以配置a.注意到Secondary IDE Controller组件,默认情况下是不可用,这就是我们在组件设计器中设置的效果b.所有的组件均可设置为不可用6.下面移除映象文件中不需要的硬件组件a.移除Audio Componentsb.移除Video Componentc.移除Other Devicesd.移除Legacy Hardware Devicese.移除可选网络组件注意:如下设备应启用∙PS/2 Compatible Mouse∙Standard 101/102-Key or Microsoft Natural PS/2 Keyboard如下设备应禁用∙Intel(r) 82801BA/BAM USB Universal Host Controller - 2442∙Intel(r) 82801BA/BAM USB Universal Host Controller - 2444 USB Root Hub7.现在我们得到了一个非常小的基本硬件配置,下面为我们的映象增加软件支持8.在组件浏览器中,选择Software | Test & Development9.增加Runtime Quick Start Helper宏到配置中a.此宏组件自动解决大多数情况下的运行时依赖b.展开宏,可以查看DHTML设置10.在组件浏览器中,找到Design Templates,将Windows-based Terminal Professional宏增加到配置中a.此宏组件增加了创建瘦客户端的支持b.展开此宏组件,可以查看DHTML设置c.不要选取下列组件1) Internet Explorer Technologies2) Terminal Services3) Windows XP Explorer User Interface4) SNMP5) Windows Media Player 6.4d.瘦客户端设计不需要调用这些组件,所以要移除注意:Generic USB Input Device Support组件自动增加了对USB & HID class的支持,也增加了对USB鼠标和键盘的驱动支持。
此组件在任何使用USB设备的映象中都应选取11.在检查依赖性dependencies之前对 SLX文件进行设置12.在组件属性窗口中,单击Settingsa.打开Run-time Image Licensing,点击Show打开PID输入,此PID决定了发布的映象是试用版本还是最终版本,不填为试用版本,填写错误将导致映象生成后,在FBA过程中提示Security Account…………….的错误。
b.打开Target Device Settingsc.如果启动映象的分区不是C:,则需要更改成合适的驱动器盘符,填写引导分区的大小13.上述工作做完后,开始检测组件的依赖性Part C: Finalizing the ConfigurationC部分:最后配置确认1.从文件菜单中,选择Configuration | Check Dependencies2.检测依赖性将花费大约5分钟时间a.首先检查宏的断链b.尽量将有依赖的组件事先加入到配置中,将减少依赖性检查时间3.在创建映象之前需要配置的设置a.ACPI Uniprocessor PC1) 这是此配置的硬件抽象层(HAL)配置2) 单击Settings节点3) 在组件属性窗口,单击 System Pagefile连接4) 此处可以设置是否启动Pagefile5) 因为我们的系统比较小,不需要启动Pagefileb.NVIDIA Vanta\Vanta LT(显卡设置组件)1) 这是配置中的显示适配器设置2) 单击Settings节点3) 将屏幕分辨率设置为1024X7684) 颜色质量设为 True Color (32 bit)5) 刷新频率为 60 Hertzc.User Interface Core1) 此处主要定义用户界面显示4.再次检测组件依赖性5.选择Configuration | Build Target Image创建映象6.将生成的映象文件拷贝到启动盘7.修改Boot.ini8.启动映象,完成FBA9.试验完成Appendix A: Sorted hardware list from PMQ Core HW List – What we will keepACPI Fixed Feature ButtonACPI Power ButtonACPI Thermal ZoneACPI Uniprocessor PCDirect memory access controllerDisk driveGeneric BusIntel(r) 82801BA Bus Master IDE ControllerIntel(R) 82801BA/BAM SMBus Controller - 2443 Intel(R) 82801BA/CA PCI Bridge - 244EIntel(r) 82802 Firmware Hub DeviceIntel(R) 82845 Processor to AGP ControllerIntel(R) 82845 Processor to I/O Controller - 1A30 Intel® PRO/100 VE Desktop Connection Microcode Update DeviceMicrosoft ACPI-Compliant SystemMotherboard resourcesNEC DV17C1Numeric data processorNVIDIA Vanta/Vanta LT (Microsoft Corporation) PCI busPlug and Play Software Device Enumerator Primary IDE ChannelProgrammable interrupt controllerSecondary IDE ChannelSystem timerSystem CMOS/real time clockAudio ComponentsIntel(r) 82801BA/BAM AC'97 Audio Controller Legacy Audio DriversLegacy Video Capture DevicesMedia Control DevicesMicrosoft Kernel DLS SynthesizerMicrosoft Kernel GS Wavetable Synthesizer Microsoft Kernel System Audio DeviceMicrosoft Kernel Wave Audio MixerMicrosoft Streaming Clock ProxyMicrosoft Streaming Service ProxyMicrosoft Streaming Tee/Sink-to-Sink Converter Microsoft WINMM WDM Audio Compatibility DriverVideo ComponentsAudio CodecsBDA IPSinkBDA MPE FilterBDA Slip De-FramerClosed Caption DecoderNABTS/FEC VBI CodecWorld Standard Teletext CodecVideo CodecsUSB ComponentsIntel(r) 82801BA/BAM USB Universal Host Controller - 2442 Intel(r) 82801BA/BAM USB Universal Host Controller - 2444 USB Root HubOther DevicesSystem speakerTerminal Server Device RedirectorVolume ManagerMicrosoft Streaming Quality Manager ProxyLogical Disk ManagerCD-ROM DriveLegacy Hardware ComponentsCommunications PortDirect ParallelECP Printer PortFloppy disk driveISAPNP Read Data PortPS/2 Compatible MouseStandard 101/102-Key or Microsoft Natural PS/2 Keyboard Standard floppy disk controllerIntel(R) 82801BA LPC Interface Controller - 2440Optional Network ComponentsRAS Async AdapterWAN Miniport (IP)WAN Miniport (L2TP)WAN Miniport (PPTP)附录B:组件精简:1、如果你的系统不需要声音支持,可以禁用下列硬件组件:∙Audio codecs∙Legacy audio drivers∙Media control devices∙Microsoft® Kernel Audio Splitter∙Microsoft Kernel Acoustic Echo Canceller∙Microsoft Kernel GS Wavetable Synthesizer∙Microsoft Kernel DLS Synthesizer∙Microsoft Streaming Service Proxy∙Microsoft Streaming Clock Proxy∙Microsoft Kernel System Audio Device∙Microsoft Kernel Wave Audio Mixer∙Microsoft WINMM WDM Audio Compatibility Driver∙Microsoft Kernel DRM Audio Descrambler∙Audio card (specific to your hardware)∙Game port audio card2、整个USB系统的相关硬件组件∙Generic USB hub∙HID keyboard device∙HID-compliant consumer control device∙USB composite device∙USB human interface device∙USB root hub∙USB open host controller (chip-set specific in most cases)∙USB universal host controller (chip-set specific in most cases)3、如果你创建的映象不需要动态调整管理磁盘(比如调整大小等操作),可以禁用逻辑磁盘管理和卷管理(Logical Disk Manager and Volume Manager)。