如何创建最小尺寸的XPE镜像文件,这可能是很多人都关心的问题,在XPE开发过程中,要想创建最小尺寸的运行镜像,需要在开发过程的每一步都进行优化,同时尽可能的减少不需要的组件。创建最小尺寸的XPE操作系统,可以提高运行速度和减少运行时占用的系统内存足迹,提高系统运行时的稳定性。
介绍:
    在这次试验中,我们将从一个完整的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.pmq
2.从开始菜单中打开组件设计器
A.从文件(FILE)菜单项中选择导入(IMPORT)
B.找到刚才生成的设备配置文件Devices.PMQ
C.设置Log文件的路径为D:\My Documents\IBM-DevCon-Import.log
D.点击Start开始导入过程
E.当导入过程结束,退出导入文件对话框
3.基本硬件宏由导入过程自动产生
A.产生组件相关性
B.组件被标记为宏组件
4.检查导入的硬件
A.将焦点移动到组件或组依赖节点(Component or Group Dependencies node)
B. 等待组件设计器从组件数据库中取得组件数据
C.注意:可在此处进行最初的设备裁剪
1) 删除不需要的硬件组件
2) 增加需要的硬件
D.技巧:停用组件使得他们在DHTML设置中可选择
1) 将焦点移动到Secondary IDE controller
2) 右键单击并选择Disable
3) 这允许组件保留在宏中但是不启用
4) 可选按钮在默认宏中是没有开启的
5.通过配置DHTML增加选择器原型Selector Prototype
A.从左边视图中单击主组件,打开组件属性
B.单击原型域(Prototype)旁边的浏览按钮(Browse)
C.选择Software->Test&Development->Selector Prototype Component,单击Ok
6.创建完毕,发布硬件宏
A.在SLD浏览器中,将焦点移动到IBM-DevCon组件上
B.右键单击组件,选择发布(Release)
C.此步操作将使得组件具备只读特性
D.此时,组件便可以分发或测试了
E.存储SLD文件,例如文件名为:IBM-DevCon.sld
7.将宏组件导入到组件数据库
A.在组件设计器的主菜单中,选择Tools | Component Database Manager
B.单击导入按钮,选择刚才创建好的SLD文件
C.单击导入按钮,开始导入过程
D.导入结束后,关闭组件数据库管理器
E.关闭组件设计器,组件创建就完成了
B部分:对硬件宏进行设备裁剪
1.启动目标设计器Target Designer
2.创建一个新的SLX文件,文件名为DevCon3
3.可以看到我们刚才创建的IBM-DevCon组件位于组件浏览器的根目录下
4.将此宏组件增加到配置中
A.在中间的配置编辑器窗口中,展开IBM-DevCon组件
B.单击Settings节点打开DHTML视图
5.此时所有的组件将可见并且可以配置
A.注意到Secondary IDE Controller组件,默认情况下是不可用,这就是我们在组件设计器中设置的效果
B.所有的组件均可设置为不可用
6.下面移除映象文件中不需要的硬件组件
A.移除Audio Components
B.移除Video Component
C.移除Other Devices
D.移除Legacy Hardware Devices
E.移除可选网络组件
注意:如下设备应启用
  • 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 Hub
7.现在我们得到了一个非常小的基本硬件配置,下面为我们的映象增加软件支持
8.在组件浏览器中,选择Software | Test & Development
9.增加Runtime Quick Start Helper宏到配置中
A.此宏组件自动解决大多数情况下的运行时依赖
B.展开宏,可以查看DHTML设置
10.在组件浏览器中,找到Design Templates,将Windows-based Terminal Professional宏增加到配置中
A.此宏组件增加了创建瘦客户端的支持
B.展开此宏组件,可以查看DHTML设置
C.不要选取下列组件
  • Internet Explorer Technologies
  • Terminal Services
  • Windows XP Explorer User Interface
  • SNMP
  • Windows Media Player 6.4
D.瘦客户端设计不需要调用这些组件,所以要移除
注意:Generic USB Input Device Support组件自动增加了对USB & HID class的支持,也增加了对USB鼠标和键盘的驱动支持。此组件在任何使用USB设备的映象中都应选取
11.在检查依赖性dependencies之前对 SLX文件进行设置
12.在组件属性窗口中,单击Settings
A.打开Run-time Image Licensing,点击Show打开PID输入,此PID决定了发布的映象是试用版本还是最终版本,不填为试用版本,填写错误将导致映象生成后,在FBA过程中提示Security Account…………….的错误。
B.打开Target Device Settings
C.如果启动映象的分区不是C:,则需要更改成合适的驱动器盘符,填写引导分区的大小
13.上述工作做完后,开始检测组件的依赖性
Part C: Finalizing the Configuration
C部分:最后配置确认
1.从文件菜单中,选择Configuration | Check Dependencies
2.检测依赖性将花费大约5分钟时间
A.首先检查宏的断链
B.尽量将有依赖的组件事先加入到配置中,将减少依赖性检查时间
3.在创建映象之前需要配置的设置
A.ACPI Uniprocessor PC
1)  这是此配置的硬件抽象层(HAL)配置
2)  单击Settings节点
3)  在组件属性窗口,单击 System Pagefile连接
4)  此处可以设置是否启动Pagefile
5)  因为我们的系统比较小,不需要启动Pagefile
B.NVIDIA Vanta\Vanta LT(显卡设置组件)
1)  这是配置中的显示适配器设置
2)  单击Settings节点
3)  将屏幕分辨率设置为1024X768
4)  颜色质量设为 True Color (32 bit)
5)  刷新频率为 60 Hertz
C.User Interface Core
此处主要定义用户界面显示
4.再次检测组件依赖性
5.选择Configuration | Build Target Image创建映象
6.将生成的映象文件拷贝到启动盘
7.修改Boot.ini
8.启动映象,完成FBA
9.试验完成
Appendix A: Sorted hardware list from PMQ
Core HW List – What we will keep
  • ACPI Fixed Feature Button
  • ACPI Power Button
  • ACPI Thermal Zone
  • ACPI Uniprocessor PC
  • Direct memory access controller
  • Disk drive
  • Generic Bus
  • Intel(r) 82801BA Bus Master IDE Controller
  • Intel(R) 82801BA/BAM SMBus Controller - 2443
  • Intel(R) 82801BA/CA PCI Bridge - 244E
  • Intel(r) 82802 Firmware Hub Device
  • Intel(R) 82845 Processor to AGP Controller
  • Intel(R) 82845 Processor to I/O Controller - 1A30
  • Intel® PRO/100 VE Desktop Connection
  • Microcode Update Device
  • Microsoft ACPI-Compliant System
  • Motherboard resources
  • NEC DV17C1
  • Numeric data processor
  • NVIDIA Vanta/Vanta LT (Microsoft Corporation)
  • PCI bus
  • Plug and Play Software Device Enumerator
  • Primary IDE Channel
  • Programmable interrupt controller
  • Secondary IDE Channel
  • System timer
  • System CMOS/real time clock
Audio Components
  • Intel(r) 82801BA/BAM AC'97 Audio Controller
  • Legacy Audio Drivers
  • Legacy Video Capture Devices
  • Media Control Devices
  • Microsoft Kernel DLS Synthesizer
  • Microsoft Kernel GS Wavetable Synthesizer
  • Microsoft Kernel System Audio Device
  • Microsoft Kernel Wave Audio Mixer
  • Microsoft Streaming Clock Proxy
  • Microsoft Streaming Service Proxy
  • Microsoft Streaming Tee/Sink-to-Sink Converter
  • Microsoft WINMM WDM Audio Compatibility Driver
Video Components
  • Audio Codecs
  • BDA IPSink
  • BDA MPE Filter
  • BDA Slip De-Framer
  • Closed Caption Decoder
  • NABTS/FEC VBI Codec
  • World Standard Teletext Codec
  • Video Codecs
USB Components
  • Intel(r) 82801BA/BAM USB Universal Host Controller - 2442
  • Intel(r) 82801BA/BAM USB Universal Host Controller - 2444
  • USB Root Hub
Other Devices
  • System speaker
  • Terminal Server Device Redirector
  • Volume Manager
  • Microsoft Streaming Quality Manager Proxy
  • Logical Disk Manager
  • CD-ROM Drive
Legacy Hardware Components
  • Communications Port
  • Direct Parallel
  • ECP Printer Port
  • Floppy disk drive
  • ISAPNP Read Data Port
  • PS/2 Compatible Mouse
  • Standard 101/102-Key or Microsoft Natural PS/2 Keyboard
  • Standard floppy disk controller
  • Intel(R) 82801BA LPC Interface Controller - 2440
Optional Network Components
  • RAS Async Adapter
  • WAN 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 card
2、整个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)。同样,WAN miniports and RAS也可以删除
4、xpe支持非传统legacy-free设备,有时候你可能想去掉以下的传统设备:
  • Communications port
  • Printer port
  • ECP printer port
  • Direct parallel
  • Printer port logical interface
  • Standard 101/102-key or Microsoft Natural® PS/2 keyboard
  • Microsoft® PS/2 mouse
  • Floppy disk drive
  • Standard floppy disk controller
  • PCI to ISA bridge (chip-set specific in most cases)
  • ISAPNP read data port
5、下列设备是系统必须的
  • System timer
  • Direct memory access controller
  • System CMOS/real-time clock
  • System board
  • Numeric data processor
  • Programmable interrupt controller
  • "Processor" component
  • Microcode update device
6、使用Advanced Configuration and Power Interface (ACPI) PC 组件比使用Standard PC组件创建的映象文件小
7、一般瘦客户端软件组件配置
Component
Thin Client Usage
Domain Participation
Bundles components which make it possible for an embedded device to participate in Windows domain security.
Netshell
Sets the TCP/IP settings for network adapters.
The Netshell command line utility is required to access the network settings in the network control panel.
TCP/IP Utilities
Contains a number if TCP/IP utilities including ipconfig.exe.
System Control Panel
Provides the interface to change the Domain and computer name.
Display Control Panel
Changes video resolution.
Date/Time Control Panel
Sets the local time zone, date, and time.
Audio Control Panel
Support systems with sound and audio.