310 likes | 471 Views
WCI330 嵌入式 XP 高级技术. 凌宁 系统工程师 亚洲区嵌入式系统事业群 微软(中国)有限公司. 嵌入式 XP 的高级技术. 嵌入式 XP 简介 SDI 操作系统镜像格式和支持工具 镜像克隆和重新封装 大规模生产近乎相同的镜像 远程启动 允许通过 PXE 技术从服务器启动镜像 设备更新代理( Device Update Agent ) 轻量级服务客户端 WinPE 可启动 “ XP ” 的安装平台 Enhanced Write Filter 保护操作系统分区 CD-Boot
E N D
WCI330嵌入式XP高级技术 凌宁 系统工程师 亚洲区嵌入式系统事业群 微软(中国)有限公司
嵌入式XP的高级技术 • 嵌入式XP简介 • SDI • 操作系统镜像格式和支持工具 • 镜像克隆和重新封装 • 大规模生产近乎相同的镜像 • 远程启动 • 允许通过PXE技术从服务器启动镜像 • 设备更新代理(Device Update Agent) • 轻量级服务客户端 • WinPE • 可启动“XP”的安装平台 • Enhanced Write Filter • 保护操作系统分区 • CD-Boot • “El Torito”技术的实现可以让操作系统在只读媒体上运行
嵌入式XP简介 • 构件化的Windows XP专业版 • 和专业版XP同样的二进制代码 • 完全支持Win32和SP1.net API • 同样的补丁支持 • 支持所有Windows平台的设备驱动 • 给开发者提供最好的工具
嵌入式XP的构件 • XML描述的构件 • 1000 多个操作系统构件 • 9000 多个设备驱动 • 减少构件之间的依赖性 • 每个构件所包含的内容 • 文件或其他的资源 • 设置,并且提供DHTML的配置UI • 注册状态 • 依赖性 • 帮助文档
嵌入式XP开发概述 Target Designer Component Designer Target Analyzer Hardware Definition OS Image Application Components App, OS and EEF Components XPe Component Database Application Binaries
SDI • SDI是一个嵌入式XP镜像的可携带文件格式 • 虚拟磁盘(Virtual disk drive) • 磁盘镜像备份(.sdi文件) • 分区,格式化,可启动 • 建造,编辑和展开镜像 • SDI Loader • GUI工具 • 创造,挂上(mounting), 取下(dismounting) 作为磁盘的SDI文件 • SDI Manager • 命令行工具:操作OfflineSDI文件
SDI 的用途 • 管理大量的可启动镜像 • Target Designer builds into mounted drives • 远程启动的操作系统镜像格式 • NTLDR对SDI镜像的支持 • Remote Boot manager允许对MAC地址进行SDI镜像配置
SDI 文件格式 • SDI Signature • Boot Offset and Length • Extensible (4K) Header Disk Blob Boot Blob • Boot program STARTROM.COM • Real mode executable file • Call NTLDR.exe LoaderBlob PartitionBlob • Loader Program NTLDR.exe • Mounts Partition Blob as RAMDISK • Boots into RAMDISK • Target runtime image • Post FBA XPe Image
镜像克隆和重新封装 • 在同样的硬件平台上大量部署 • Run-time镜像必须配置不同的序列号,MAC地址,SID等 • 包含系统克隆构件(System Cloning Component) • 分两步走:重新封装和克隆 • 允许在FBA中配置 • 允许在建造后手工安装应用 • 利用SDI技术部署重新封装的镜像
远程启动 • 概述 • 通过网络启动一个嵌入式的设备 • 针对POS的方案 • 针对无盘设备 • 系统要求 • 嵌入式Windows XP run-time镜像 • 设备支持BIOS PXE, TCP/IP网络 • Windows 2000或以上服务器并带有DHCP, PXE和TFTP服务。
远程启动方案 • 方案 • 在POS类的设备里面部署 • 无盘系统, 不需要保存状态 • 功能单一 • 由第三方进行扩展 • SDI镜像, 启动到RAM Disk • 用RBS Manager配置远程启动服务器 • 针对MAC地址分配镜像, 启动程序等 • 扩展能力是基于支持NTLoader镜像格式的SDI镜像
远程启动方案架构 DHCP Server Clients Redirection Service Boot Service TFTP Service
设备更新代理(Device Update Agent) • 针对小容量设备的轻量级管理方案 • 最小的依赖性 • 灵活的命令集以适应广泛的应用方案
主要的DUA方案 • 更新应用或者应用数据 • 部署QFEs或者系统更新 • 部署新部件或者设备驱动 • 自动清理和管理任务
DUA特性 • 执行当地或者远程的命令文件 (Push vs. Pull) • 灵活的调度(jitter and polling options) • 可在Target Designer里面配置 • 广泛的命令集
DUA命令文件的执行 • 获得命令文件后立即执行 • 按顺序执行命令 • 每条命令都可以指定错误模式 • 错误会在Event Log中记录
DUA 安全考虑 • 提供带验证的HTTPS,作为安全传输的选择 • 命令文件不是明文文本 • 所拉(Pull)文件的位置必须是安全的 • 有必要的时候最好同时使用其他的安全措施,譬如VPN, 加密,IP filtering…
DUA架构 Update Web Server Development Environment Device Update Script (.DUS file) HTTP/HTTPS Validate and Tokenize Translator XPE Device Device Update Agent Command File (.DUP) Local File Storage
DUA 使用经验 • 在确定的配置下测试和部署 • 制定更新计划–时间安排,负载分配,http要求 • 命令文件执行完毕后应该更新Pull的服务器。 • 服务器最好不要发布重定向
WinPE • WinPE是一个Windows XP预安装环境 • 轻量级用于服务的OS • 嵌入式XP SP1 CD1是一个可启动的WinPE • 在过程中部署License • 在目标硬件上开发的时候 • 启动WinPE并运行目标设备分析程序(Target Analyzer) • 启动WinPE并且拷贝镜像 • 部署的时候 • 远程启动/远程安装WinPE • Bootstrap SDI Manager • 安装和启动远程镜像到硬盘或者RAMDisk
Enhanced Write Filter技术 • 保护文件系统 • 永久保存 • 需要设备存储的支持(硬盘, flash ram, 等.) • 非永久保存 • 重定向磁盘写操作到内存 • 覆盖(Overlay)的作用 • 支持多层保护和“undo” • 多卷支持 Overlay 3 Overlay 2 Overlay 1 Disk
EWF的构成 • EWF构件 • 在run-time镜像中支持EWF技术 • 包括对EWF的配置 • EWF NT Loader构件 (EWF NTLDR) • 如果需要从EWF所保护的可写介质启动的话,就必须包含着个构件(譬如硬盘) • 如果从CD启动,就不需要 • EWF 管理控制台(EWF Manager Console) • 这个构件可以让最终客户在设备上面重新配置EWF。
配置EWF • 设计阶段 • 在Target Designer中间设置 • Run-Time阶段 • 利用EWF Manager Console
CD-Boot • 允许嵌入式XP从CD启动 • 嵌入式XP对El Torito的实现 • 只允许一个可启动的分区 • 可启动分区必须是第一个分区 • Enhanced Write Filter (non-persistent) 在Session中存储信息 • 支持只读介质的使用 • 使用CD-ROM作为系统 • 重定向磁盘写操作到内存或者其他的存储介质 • 不支持永久性EWF
设备方案 镜像大小 (未压缩) Minimal Kernel 3.72 Simple – MinLogon 11.3 Simple – WinLogon 42.8 Basic STB 58.8 WBT 75.4 Kiosk 92.3 Retail Point of Sale 100 NAS 111 Web Server 114 Home Gateway 119 Advanced STB 138 Information Appliance 167 OS Footprint: 配置案例
应用 • 嵌入式XP的应用也都是Windows的应用 • Target Win32/.net fx • 基于PC的开发和测试 • 基于构件的安装 • 编辑构件,而不是安装 • 构件是服务和分发的单位
硬件平台 • 嵌入式XP的设备都是基于标准的PC硬件 • X86 CPU • 标准或者缩减的主板 • PC的外设和驱动程序