Windows Embedded Standard 8 入门指南 5 of 5

作者:肖正波

转自:http://blog.sina.com.cn/s/blog_6e94205b01013r9f.html


Windows <wbr>Embedded <wbr>Standard <wbr>8 <wbr>入门指南 <wbr>5 <wbr>of <wbr>5 写这篇日志的文章和特殊,你懂的...

 

第五章 实战开发

 

5.1 准备

 

在这一章节中我们将从头开始,将整个开发流程走一遍,和第二章一样我们的目标机是一台虚拟机。整个系统的安装过程是不需要大家交互的。

需要大家准备好:

  1. 已经安装好VMware Workstation 并且VMware Workstation 的版本是9.0.0 Build812388或者更高版本。
  2. http://www.iswtt.com/blog/download/WES8_Module_Demo.zip下载自定义组件(放到公司的WEB服务器上了,建议大家用xunlei拖)。

这个组件有以下功能:

将我们自己的Shell(MyShell.exe)释放到System32目录中;

将SYSPREP_Demo.xml(sysprep中用的到的脚本) 释放到Sysprep目录中;

将 Vmware Tools 的安装源释放到c:\temp 目录下,并且自动安装(静默安装)。安装完成后,自动删除c:\temp目录;

大家有兴趣可以用Module Designer 打开这个组件,去看看该组件的设置。

3. 从http://www.iswtt.com/blog/download/makeiso.zip下载ISO镜像构建脚本。

4. 从http://www.iswtt.com/blog/download/ISWT_WindowsEmbeddedStandard8_TEST.zip 下载虚拟机模板。

5. 从http://www.iswtt.com/blog/download/vm_scsi.zip下载VM虚拟机的SCSI磁盘控制器驱动。

可选的:我上传了一个已经配置好的应答文件,从http://www.iswtt.com/blog/download/WES8_Demo.zip下载。

 

5.2 开始

 

image

图 5-1 新建应答文件

• 步骤 1: 打开ICE,选择菜单“File”-〉“New ConfigurationFile”,新建建立一个应答文件,其他参照图 5-1 设置,其中“Select OSarchitecture”必须选择为“x86”。

Windows <wbr>Embedded <wbr>Standard <wbr>8 <wbr>入门指南 <wbr>5 <wbr>of <wbr>5

图 5-2 成功导入组件

• 步骤 2:将下载好的WES8_Module_Demo.zip解压缩,选择菜单“File”-〉“Import ”-〉“ImportModule”,在选中刚才解压缩获得的文件“WES8 Demo .emd”。

确保出现如图 5-2 所示的成功导入组件的信息。

image

图 5-3 Winodws PE

• 步骤 3:

将虚拟机模板,WindowsEmbeddedStandard 8_TEST.zip解压缩。用Vmware Workstation9打开文件:“ISWT_WindowsEmbeddedStandard 8_TEST.vmx”。

将开发工具中的“Embedded_8_32Bit_Bootable_IBW.iso”载入虚拟机的光盘驱动器,然后配置虚拟机从光盘驱动器引导。

虚拟机(实体机)启动后确认进度条,耐心等待几分钟直到出现欢迎画面。这里一共有三个选项:“InstallNOW(开始安装)”、“Deploy an Answer File or WIM(部署一个应答文件或WIM文件)”和“LaunchWinPE Command Prompt(加载WinPE 命令提示符,CMD)。”我们选择:“Launch WinPE CommandPrompt”来启动WinPE的CMD。

• 步骤 4:

在CMD窗口中依次输入下列命令:

diskpart
Sslect Disk 0
clean all
Create Partition Primary
format fs=ntfs
assign letter=z:

TAP /O Z:\VM.PMQ

这样就获得了目标机的硬件配置信息。

直接关闭虚拟机电源,将虚拟机的磁盘挂载(虚拟机的属性里面选中虚拟硬盘,单击“Utilities”按钮选择“MAP”)到本地。把vm.pmq磁盘文件从挂载的磁盘中拷贝出来。

完成拷贝后,记得将磁盘卸载。

image

图 5-4 依赖性检查

• 步骤 5:

回到ICE当中,选择菜单“File”-〉“Import …”-〉“Import PMQ…”,将刚才拷贝出来的vm.pmq导入到应答文件中。

从左侧的“catalog”添加以下组件:

\Features\ISWT Training\WES8 Demo ;
\Features\Diagnostics, Feedback and Maintenance\Registry Editor;
\Features\Diagnostics, Feedback and Maintenance\Task Manager;
\Features\Shell\Shell Launcher 
\Features\User Applications\Internet Explorer 10 ;
\Features\User Applications\Windows Command Line Utilities;

按快捷键“Ctrl+F5”,进行依赖性检查。双击下方“Message”\“Validation”的错误信息,在弹出的对话框中,选择“SimplifedChinese Language Pack”和“Branded Screens”见图5-4,单击“OK”按钮关闭对话框。
再次按快捷键“Ctrl+F5”,进行依赖性检查。

image

图 5-5 设置Shell Launcher

• 步骤 6:展开应答文件中的"“\Features\Shell\Shell Launcher\ ShellLauncher_x86”,将右上方的“Fliter view by:”设置成“7 OOBE System”。

将“Shell”的值改为myshell.exe ;
选中“UserSetting”,单击鼠标右键,在弹出的菜单中选择“Insert New User”;
展开刚刚新建立的“User”,将“AccountName”的值设置成Administrator;
将“DefaultReturnCodeAction ”的值设置为0;
将“Key”的值设置为1;
将“Shell”的值改为Explorer.exe ;
都设置好后,参见图5-5。

系统如果是以Administrator 账户登录,启动的shell是标准的explorer。
如果是以其他账户登录,启动的shell是自定义的myshell.exe。

image

图 5-6 配置分区参数

• 步骤 7:

展开应答文件中的"“Products\EmbeddedCore\LUA-Setting_X86”,将右上方的“Fliter view by:”设置成“2 OfflineServicing”。将“EnableLua”的值改为False。这样我们就关闭了UAC。

展开应答文件中的"“Products\EmbeddedCore\International-Core_X86”,将右上方的“Fliter view by:”设置成“4Specialize”。将“UILanguage ”的值改为zh-CN。

展开应答文件中的"“Products\EmbeddedCore\International-Core-WinPE_X86”,将右上方的“Fliter view by:”设置成“1WindowsPE”。将“UILanguage ”的值改为zh-CN。

展开应答文件中的"“Products\EmbeddedCore\Setup_X86”,将右上方的“Fliter view by:”设置成“1 WindowsPE”。
将“DiskConfiguration ”下的“WillShowUI ”的值设置为“OnError”
选中“DiskConfiguration ”,单击鼠标右键,在弹出的菜单中选择“Insert New Disk”;
展开刚刚新建里的“Disk”,将“DiskID”的值设置成0;
将“WillWipeDisk ”的值设置成true;因为目标磁盘可能存在分区,所以我们设置抹除磁盘。
选中刚刚新建立的“Disk”下的“CreatePartitions ”,单击鼠标右键,在弹出的菜单中选择“Insert NewCreatePartition”;
展开刚刚建立的“CreatePartition”,将“Extend”的值设置为“false”
将“Order”的值设置为“1”
将“Size”的值设置为“5000”
将“Type”的值设置为“Primary”,见图5-6

展开应答文件中的"“Products\EmbeddedCore\Setup_X86”,将右上方的“Fliter view by:”设置成“1 WindowsPE”。
展开“ImageInstall ”下的“OSimage”将“InstallToAvailablePartition”的值设置为“True”

展开应答文件中的"“Products\Embedded Core\Setup_X86”,将右上方的“Fliter viewby:”设置成“1 WindowsPE”。
展开“UserData ”将“AcceptEula ”的值设置为“True”
展开“UserData ”下的“Productkey”将“Key”的值设置为“NFJPK-4MJBJ-72FJM-J3C9W-D9JTT”。这个key是WES8RP版的评估产品密钥,如果你有其他的产品密钥,可以自行替换。

将“WillShowUI”设置为“Error”

image

图 5-7 创建帐户

• 步骤 8:

展开应答文件中的"“Products\EmbeddedCore\Shell-Setup_X86”,将右上方的“Fliter view by:”设置成“7 OOBESystem”。
展开“OOBE”,将“HideWirelessSetupInOOBE ”设置为“True”;
将“HideWirelessSetupInOOBE”设置为“True”
将“HideOEMRegistrationScreen”设置为“True”
将“HideLocalAccountScreen ”设置为“True”
将“HideEULAPage”设置为“True”
将“NetworkLocation”设置为“Work”
将“ProtectYourPC ”设置为“1”
将“SkipMachineOOBE”设置为“True”

展开应答文件中的"“Products\Embedded Core\Shell-Setup_X86”,将右上方的“Fliterview by:”设置成“7 OOBE System”。
展开“UserAccounts”下的“AdministratorPassword”将“Valus”设置为“ISWT”;
不要将密码设置为别的值,注意大小写。

展开应答文件中的"“Products\Embedded Core\Shell-Setup_X86”,将右上方的“Fliterview by:”设置成“7 OOBE System”。
选中“UserAccounts”下的“LocalAccounts”,单击鼠标右键在弹出的菜单中选择“InsertNewLocalAccount”。
展开刚刚建立的“LocalAccount”。将“Name”和“DisplayName”的值设置为“ISWT Demo”。
将“Group”的值设置为“Users”。
展开刚刚建立的“LocalAccount”下的“Password”,将“Valus”设置为“ISWT”;

都设置好后,参见图5-7。如果Password中显示的是一长串字符串,则可能是被加密保存的。

• 步骤 9:

展开应答文件中的"“Products\Embedded Core\Shell-Setup_X86”,将右上方的“Fliterview by:”设置成“4 Specialize”。
展开“AutoLogon”,将“Username”设置为“Administrator”
将“Enable”的值设置为“True”
展开“Password”,将“Valus”设置为“ISWT”;

 

image

 

图 5-8 搜索1

image

图 5-9 搜索2

• 步骤 10:

按快捷键“Ctrl+F”,打开搜索。
取消选中“Configuration File”,选中“Search FileName”,输入关键字“Notepad.exe”,见图5-8。单击Find按钮开始搜索。
双击“Path”是“Notepad/Files”的项目。定位后将该组件添加到应答文件中。

按快捷键“Ctrl+F”,打开搜索。取消选中“Catalog”和“Search FileName”,选中“ConfigurationFile,输入关键字“Home”,见图5-9。单击Find按钮开始搜索。双击搜索到的项目。
将对应的值(Home_Page)修改为“www.iswtt.com”。

image

图 5-10 集成驱动

• 步骤 11:

在“Windows Embedded Catalog”文件夹中(默认的位置是C:\Windows EmbeddedCatalog\),新建一个名称为“My Drivers”的文件夹。

将下载的vm_scsi.zip 解压缩,将解压缩出来的“vm_scsi”文件夹复制到刚才建立的“MyDrivers”文件夹下。例如:“C:\Windows Embedded Catalog\MyDrivers\vm_scsi”。

选择菜单“Insert”->“Driver Path”->“Pass1 WindowsPE …”,选择刚才建立的“My Drivers”文件夹。
检查“Path”的值,应该变成为:“%distributionshareroot%\My Drivers”,见图5-10

附注:

对于INF格式的驱动建议采用此方法集成。对于exe格式的驱动建议做成自定义组件,然后调用。例如本文提供的WES8_Demo这个自定义组件。

系统必须的驱动程序,必须集成在“WindowsPE”阶段。

image
图 5-11 构建系统

• 步骤 12:

将应答文件保存,到此对应答文件的设置都完成了,我们开始构建系统镜像。
选择菜单“Tools”-〉“ Create Media”  -〉“Create IBW imageFrom Configuration”(需要有管理员权限)。单击“Next”按钮继续。
因为Vmware 虚拟机不支持USB启动,我们要将系统的镜像打包成ISO格式。所以我们选择“Publish to afolder”,单击“Browse”按钮,选择“c:\osimg”文件夹(如果没有,自己建一个。)见图5-11。都设置好后,单击“CreateMedia”按钮开始构建。

 

将下栽的”makeiso.zip”解压缩,运行makeiso.cmd脚本(必须提供管理员权限),将系统文件打包成一个iso镜像。如果你使用的不是默认位置,需要自己修改脚本。
打包命令的例子:

"C:\Program Files\Windows Embedded 8 Standard\Toolset\WindowsDeployment Tools\Deployment Tools\x86\Oscdimg\oscdimg.exe" -n -m-b"C:\Program Files\Windows Embedded 8 Standard\Toolset\WindowsDeployment Tools\Deployment Tools\x86\Oscdimg\etfsboot.com""C:\osimg" "C:\osimg.iso"

格式:oscdimg.exe" -n -m -b“引导模块”“系统文件的位置”“目标iso文件的存放位置”。

image

图 5-12 SYSPrep封装系统

• 步骤 13:

用Vmware Workstation 9打开文件:“ISWT_WindowsEmbeddedStandard8_TEST.vmx”。

将开发工具中的“osimg.iso”载入虚拟机的光盘驱动器,然后配置虚拟机从光盘驱动器引导。大家耐心等待,十几分钟后就能看到“桌面”了。你可以安装软件等对系统做一些自定义。

打开CMD 执行下面2条命令(见图5-12):

cd C:\Windows\System32\Sysprep

sysprep /generalize /audit /shutdown/unattend:SYSPREP_Demo.xml

之后系统会关机。之后你可以通过imageX、Ghost等去分发这个镜像。

辅助:SYSPREP_Demo.xml 封装用的应答文件的作用:

配置自动登录,进入审核模式时,将自动登录账户配置为Administrator。

配置自动登录,退出审核模式后,将最终的自动登录账户配置为ISWT User。

设置准备好进入审核模式后关机。

进入刚进入审核模式时,执行命令Notepad。

image

图 5-13 进入审核模式

image

图 5-14 最终的成品


• 步骤 14:

我们再次打开虚拟机电源,耐心等待,第一次登录后,将会弹出记事本,手动关闭记事本后,系统将继续加载SYSPrep执行后,系统将关闭。
再次打开虚拟机电源,输入登录密码ISWT后(不知道为什么自动登陆的密码不对,BUG?)。我们点一下开始菜单上的桌面。你可以看到SYSPrep被加载,我们现在处于审核模式下。你可以对系统再次做一些自定义操作。
最后单击“确定”按钮。系统重启后退出审核模式。重启后见图 5-14。

到此整个开发流程就结束了。

 

END

肖正波

深圳艾斯威特贸易有限公司

2012-11-11


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值