Windows XP Embedded 上手指南
概述
對于一種開發(fā)工具的學(xué)習(xí),最重要也最困難的階段就是概念的建立,只要建立了正確的概念,明白整個系統(tǒng)的體系結(jié)構(gòu)和各種工具作用,剩下的工作就是實(shí)際操作,積累經(jīng)驗(yàn)了,最多不過在需要的時(shí)候查一查手冊。
本文通過指導(dǎo)讀者進(jìn)行實(shí)際操作,一步步地完成一次完整的開發(fā)工作,從而幫助讀者建立一個清晰明確的概念。
因?yàn)槲覀冮_發(fā)的產(chǎn)品不是普通的軟件,而是專用的操作系統(tǒng),所以需要針對某個特定的硬件平臺(目標(biāo)機(jī))來進(jìn)行開發(fā);首先需要一個強(qiáng)大的工作站來運(yùn)行開發(fā)環(huán)境和開發(fā)工具,然后根據(jù)目標(biāo)機(jī)硬件配置和軟件需求進(jìn)行開發(fā),開發(fā)完成后將做好的操作系統(tǒng)影象文件(Image)與目標(biāo)機(jī)硬件結(jié)合,運(yùn)行系統(tǒng)并測試。
配置開發(fā)工作站
首先介紹開發(fā)用的工作站,一臺標(biāo)準(zhǔn)PC機(jī),硬件配置要求如下:
? ? 操作系統(tǒng)Windows XP Professional
? ? PIII 500MHz 以上(建議1GHz以上)
? ? 256MB 內(nèi)存 (建議512MB)
? ? 3GB 剩余硬盤空間
對該P(yáng)C機(jī)的配置如下:
? ? 將硬盤設(shè)置兩個分區(qū)
? ? 第二個分區(qū)分配為700MB,可以是FAT32格式或NTFS格式(這個分區(qū)將包含可啟動的Windows XP Embedded Image)
? ? 主分區(qū)使用所有剩余的硬盤空間,可以設(shè)置為FAT32格式或者NTFS格式
? ? 在主分區(qū)中安裝Windows XP Professional系統(tǒng),并安裝Windows XP Embedded 開發(fā)工具
修改BOOT.ini文件,將下面的代碼部分增加到該文件中,可以使這臺PC機(jī)雙重啟動,作為開發(fā)用的Windows XP Professional系統(tǒng)從分區(qū)一啟動,而開發(fā)好的Windows XP Embedded Image從分區(qū)二啟動。
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\\Windows
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\\Windows="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\\Windows="Microsoft Windows XP Embeddedd" /fastdetect
安裝Windows XP Embedded開發(fā)工具
將Windows XP Embedded開發(fā)包的CD1放入CD-ROM中,在自動運(yùn)行的提示中, 按照以下順序安裝XPE開發(fā)工具:
? ? Tools Setup:安裝XPE開發(fā)工具(包括Target Designer, Component Designer, Component Database Manager, 以及其他工具)
? ? Database Engine Setup: 安裝SQL Server 2000 Desktop Edition database engine (MSDE)
? ? Database Setup: 安裝組件數(shù)據(jù)庫及Repositories
開發(fā)工作站的其他配置
在C盤新建一個XPE_Demo目錄,用來放置開發(fā)中生成的配置定義文件和組件定義文件。
從CD-ROM上安裝TweakUI示例文件到C:\\Program Files\\TweakUI。
這樣我們就完成了開發(fā)工作站的準(zhǔn)備工作。
硬件平臺分析
在開發(fā)過程中,首先需要運(yùn)行硬件分析程序來分析當(dāng)前機(jī)器的硬件配置情況。
操作系統(tǒng)與硬件緊密相關(guān),只用充分地了解和支持硬件,才能讓操作系統(tǒng)正常穩(wěn)定的運(yùn)行。由于X86結(jié)構(gòu)計(jì)算機(jī)的硬件比較復(fù)雜,普通開發(fā)者很難對它充分地理解熟悉,因此,微軟提供了一個硬件分析工具來幫助開發(fā)者分析硬件。
Windows XP Embedded提供的這個工具叫Target Analyzer,可以自動分析所在設(shè)備的硬件信息,Target Analyzer有兩個版本:TA.exe和TAP.exe。分析完成后會在同一個目錄中產(chǎn)生一個XML格式的輸出文件Devices.pmq。
TAP.exe是一個32位的應(yīng)用程序,運(yùn)行在Windows XP和Windows 2000上,可以運(yùn)行一些高級的硬件檢測。
TA.exe是一個16位應(yīng)用程序,運(yùn)行在DOS上,可以用來檢測一些無法安裝Windows 2000及Windows XP的系統(tǒng),但檢測的功能要差一些,有的硬件設(shè)備無法識別。
下面我們運(yùn)行TAP.exe來檢測這臺開發(fā)機(jī)的硬件配置:
? 進(jìn)入C:\\Program Files\\Windows Embedded\\Utilities目錄
? 運(yùn)行TAP.exe,會在同目錄中生成Devices.pmq
用文本編輯器打開這個Device.pmq文件,文件中用XML語言描述了目標(biāo)設(shè)備的硬件信息,例如:在PCI段中,描述了Intel的21440 Ethernet 控制器。
因?yàn)槲覀兪窃陂_發(fā)工作站上運(yùn)行了這個程序,所以Devices.pmq中包含的是開發(fā)工作站的硬件信息。
保存硬件平臺信息
使用Devices.pmq中的信息有兩個辦法,其一可以根據(jù)這個文件生成一個
XPE組件,為以后開發(fā)完整的操作系統(tǒng)作準(zhǔn)備;其二可以在開發(fā)時(shí)將這個文件直接導(dǎo)入;將PMQ文件做成XPE組件的好處是,可以一次工作反復(fù)使用:做成XPE組件后保存到組件數(shù)據(jù)庫中,以后每次開發(fā)系統(tǒng)都可以調(diào)用。
? ? 運(yùn)行組件設(shè)計(jì)器 Component Designer
? ? 將剛才生成的Devices.pmq文件導(dǎo)入,選擇File/Impot… ,彈出導(dǎo)入對話框
? ? 按下“Start”按鈕,開始PMQ文件的導(dǎo)入過程,該過程大約耗時(shí)10分鐘;完成后,會在Component Designer中顯示一個‘Devices.sld’組件,將其改名為‘Demo Platform Component’
? ? 展開Component Designer中目錄結(jié)構(gòu)
Windows XP Embedded Client
Components
Devices
選中Devices,將組件的Name屬性由‘Devices’改為‘Demo Platform Component’
你可以將該組件設(shè)為‘Selector Prototype Component’類型,成為該類型的組件后,可以在Target Designer中單獨(dú)地選取該組件所關(guān)聯(lián)的各個設(shè)備:
? ? 在Prototype欄中按下Browse…,彈出Select Prototype Component對話框。
? ? 在Prototype component source欄中選中Database選項(xiàng)。
? ? 在組件樹列表中展開到Software/Test&Developnent,選中Selector Prototype Component組件。
? ? 按下OK確定。
選擇File/Save as菜單將該配置保存為“C:\\XPE_Demo\\DemoPlatform.SLD” 這個SLD文件中就包含了前面開發(fā)的Demo Platform Component組件,關(guān)閉Component Designer。
[!--empirenews.page--]1. 2. 要在Target Designer中使用這個組件,需要先把這個組件保存到組件數(shù)據(jù)庫中:
? ? 打開Component Database Manager,開始菜單\\所有程序\\Microsoft Windows Embedded Studio\\Component Database Manager
? ? 點(diǎn)擊‘Import’按鈕,在SLD file:欄中按下瀏覽按鈕,找到“C:\\XPE_Demo\\DemoPlatform.SLD”,點(diǎn)擊Import。
? ? Import成功后,關(guān)閉Component Database Manager。
? ? 確認(rèn)工作成果:
打開Target Designer,選擇 File/New菜單,建立一個新的配置Configuration,確認(rèn)Demo Platform Component 是否在Target Designer左側(cè)的組件瀏覽器中,如果發(fā)現(xiàn)該組件,則說明剛才的硬件分析工作順利完成了。
創(chuàng)建初始化配置
要構(gòu)造一個完整的XPE系統(tǒng),首先需要在Target Designer中創(chuàng)建一個配置(Configuration),這個配置僅僅是一個空的開發(fā)框架,然后在該配置中添加所有的硬件支持組件,系統(tǒng)內(nèi)核組件和軟件功能組件。添加完成后使用Target Designer自動檢測組件的關(guān)聯(lián)關(guān)系,并自動把缺少的組件添加到配置中。
? 首先運(yùn)行Target Designer
? 選擇File菜單
? 選擇New,創(chuàng)建一個新的Windows XP Embedded 配置
? 將該配置的Name 改為DemoPlatform
在下面的Choose Platform中,選擇Windows XP Embedded Client (x86)
按下OK按鈕創(chuàng)建該配置并保存
在Target Designer中間的組件列表欄中,選中DemoPlatform.slx,在右邊的屬性欄中修改配置的屬性,添入您的個人信息(Name, Owner, Author, Description等)
設(shè)置高級參數(shù)
下面設(shè)置一些整個系統(tǒng)運(yùn)行需要的參數(shù)
在配置瀏覽器的頂端,展開DemoPlatform.slx,選中Settings,這時(shí)右邊的屬性設(shè)置面板會顯示可以設(shè)置的選項(xiàng)
在Target Devices Settings下面,點(diǎn)擊Show,顯示詳細(xì)的選項(xiàng)
設(shè)置下列的配置信息:
? ? Boot Drive = C:
? ? Windows Folder = D:\\Windows
? ? Program Files Folder = D:\\Program Files
? ? Documents and Settings folder = D:\\Documents and Settings
? ? Boot ARC path = multi(0)disk(0)rdisk(0)partition(2)
? ? Boot Partition Size (MB) = 700
設(shè)置完成后,將配置信息保存到C:\\XPE_Demo 目錄。
創(chuàng)建XPE組件
通常每一個嵌入式設(shè)備都會運(yùn)行一個或多個用戶自己的應(yīng)用程序,另外如果使用了非通用的硬件設(shè)備,還需要添加相應(yīng)的驅(qū)動程序;怎樣把這些相對獨(dú)立于操作系統(tǒng)的部分集成到操作系統(tǒng)中來,使其成為一個整體?推薦的方法是,將各個獨(dú)立的部分做成XPE組件,在開發(fā)階段進(jìn)行集成;通常該工作可以分成五個階段:
? ? 確定組件使用的資源以及設(shè)置
? ? 在Component Designer中配置組件的資源和設(shè)置選項(xiàng)
? ? 創(chuàng)建一個Repository,將該組件使用的文件加入到該Repository中
? ? 保存該組件的配置信息
? ? 將該組件導(dǎo)入到Component Database Manager中
下面我們就以一個實(shí)際的例子來說明,為TweakUI Control Panel
程序創(chuàng)建一個XPE組件。
? ? 打開Component Designer。
? ? 選擇File\\Import菜單,將瀏覽的文件類型設(shè)置為Setup Information Files(*.inf)
? ? 選擇“C:\\Program Files\\TweakUI\\TweakUI.inf”,并將其導(dǎo)入,Component Designer可以根據(jù)TweakUI.inf中的信息,自動生成一個組件。
? ? 需要為這個組件添加一個Repository,這個Repository實(shí)際上是一個系統(tǒng)目錄,該目錄中包含組件所需要的文件,每一個帶有文件的組件都會對應(yīng)一個或多個Repository,打開Component Designer中的Repositories文件夾。
點(diǎn)擊右鍵,在彈出菜單中選擇“Add Repository”,新建一個Repository。
在該Repository的Name屬性中填入Tweak UI Files
點(diǎn)擊Source Path欄中的Browse按鈕,找到C:\\Program Files\\TweakUI。
在Component Designer中選中TweakUI.inf組件
在該組件的屬性欄中,按下Repository按鈕
在彈出的Select Repository對話框中,選擇Tweak UI Files項(xiàng)目,確定。
最后,選中tweakui.inf組件,在右邊的屬性設(shè)置面板中將該組件的名字改為Tweak UI Control Panel Applet。
選擇File/Save as,保存為"C:\\XPE_Demo\\TweakUI.SLD",關(guān)閉Component Designer。
到此已經(jīng)完成了TweakUI組件的創(chuàng)建;同前面創(chuàng)建的硬件信息組件一樣,要在Targert Designer中使用這個組件,必須先將其導(dǎo)入到組件數(shù)據(jù)庫中。
打開Component Database Manager,
Import這個TweakUI組件:找到"C:\\XPE_Demo\\TweakUI.sld"并導(dǎo)入
導(dǎo)入完成后,關(guān)閉Component Database Manager
打開Target Designer
打開剛才創(chuàng)建的配置DemoPlatform
確認(rèn)Demo Platform Component 組件和Tweak UI Control Panel Applet組件都在Target Designer的組件瀏覽器中。
與其他組件不同,利用Target Analyzer的輸出文件Devices.pmq生成的組件是一個宏組件,宏組件本身不具備什么功能,僅僅是帶有與其他組件的關(guān)聯(lián)關(guān)系;前面我們開發(fā)了一個名為“Demo Platform Component”的宏組件,利用該組件可以方便的為初始化配置添加硬件支持。
構(gòu)造XPE 系統(tǒng)影像文件
到此我們已經(jīng)完成的硬件信息的分析并開發(fā)了一個硬件信息組件,開發(fā)了一個應(yīng)用程序的組件,另外還建立了初始化的配置。在本節(jié)中我們來完成一個完整配置的開發(fā)工作。
打開Target Designer
第一個需要添加的組件是由Devices.pmq文件產(chǎn)生的宏組件Demo Platform Component,加入了這個組件,就把硬件信息全部添加到配置中;只要在Target Designer左側(cè)的組件瀏覽器面板中雙擊該組件就可以添加該組件到配置中。
在組件瀏覽器中,找到Demo Platform Component組件,將該組件加入配置中。
如果沒有找到該組件,可以在查找欄中輸入它的名字進(jìn)行檢索。[!--empirenews.page--]
在Target Desinger中包含了一萬一千多個組件,怎樣找到自己需要的組件呢?下面我們來討論一下組件瀏覽器中的過濾器。
可以通過過濾的方法找到一個組件或一組相關(guān)的組件,Windows XP Embedded開發(fā)包內(nèi)包含的大量組件可以通過過濾器方便地進(jìn)行查找。
點(diǎn)擊在組件瀏覽器上面的Filter按鈕,創(chuàng)建一個新的過濾器
在Filter Manager對話框中,按New按鈕
在Name欄填入TweakUI
在過濾規(guī)則描述欄中,雙擊過濾規(guī)則“Component Display Name Contains[Sybstring]”,在出現(xiàn)的Filter Editor對話框中,輸入TweakK
按下OK關(guān)閉過濾編輯器
在Filter Manager中,Avalable Filter List欄中應(yīng)該顯示Tweak
選擇Tweak過濾器,并按下Apply Filter按鈕
在組件瀏覽器中,會僅僅顯示Tweak UI Control Panel Applet組件
將該組件加入到配置中
將過濾器恢復(fù)到All Conponents顯示狀態(tài),顯示所有的組件
下一步,將向配置中添加Design Template組件,這個設(shè)計(jì)模板組件也是個宏組件,并且與Demo Platform Component 組件非常類似;所謂宏組件是指一個僅僅包含組件關(guān)聯(lián)信息的組件,而沒有其他功能。例如可以將與TCP/IP協(xié)議有關(guān)的20個組件都與一個名為TCP/IP的宏組件關(guān)聯(lián),通過添加這個TCP/IP宏組件,可以一次添加那20個組件。
向配置中添加組件的方法有很多,可以單個組件逐一添加;可以添加宏組件;也可以通過Target Designer的關(guān)聯(lián)性檢查功能自動添加組件。
Windows XP Embedded提供了若干的模板組件,從單一的軟件功能如TCP/IP、DerictX8.0到整個系統(tǒng)模板如機(jī)頂盒模板、POS機(jī)模板都有,可以根據(jù)實(shí)際應(yīng)用考慮使用其中一個。
加入Windows-based Terminal Professional組件,這個組件可以在Design Templates文件夾中找到。在配置面板中,擴(kuò)展這個組件,并選中Settings,右邊的屬性面板會顯示該宏組件中主要的組件模塊。
下一步工作是要向配置中添加其他必須的核心組件,在這個例子中,你的文件系統(tǒng)是FAT格式,所以需要添加FAT組件
1. 1. 可以在Software\\System\\Storage and File Systems\\Infrastructure\\File Systems路徑下找到FAT組件
2. 2. 再加入Fat format組件,該組件在Software\\System\\Storage and File Systems\\Applications路徑下
3. 3. 加入Explore Shell組件,該組件在Software\\System\\User Interface\\Shells路徑下
4. 4. 加入NT Loader組件,該組件在Software|System\\System Services\\Base.路徑下
最后,進(jìn)行關(guān)聯(lián)性檢查,確保所有的必要組件都已經(jīng)添加到配置中。
在Configuration菜單中,選擇Check Dependencies進(jìn)行組件關(guān)聯(lián)性檢查,所有宏組件的關(guān)聯(lián)組件以及缺少的組件都會自動添加到配置中。
關(guān)聯(lián)性檢查結(jié)束后,會提示一個錯誤:
Component: "Regional and Language Options [Version 5.1.2600, R620]" requires at least one additional enabled component not in the configuration.
Target Designer不能通過自動添加組件解決這個錯誤,因?yàn)橛卸鄠€組件可以選擇,所以Target Designer會將可以選擇的組件列出,由開發(fā)者自己決定添加哪一個組件。
選擇Target Designer底部的Tasks欄
雙擊上面的條目,Target Designer會顯示一個提示,要開發(fā)者從多個可選的組件中挑選需要的組件。
在本例子中,選擇English Language Support組件,按下Add按鈕,盡管其他語言也列出了,但并不是必須的。
開始菜單選項(xiàng)
在關(guān)聯(lián)性檢查階段,User Interface Core組件會被自動添加到配置中,因?yàn)槠渌_發(fā)者選中的組件需要該組件的支持;如果需要在Image的開始菜單中包含需要的菜單,則要設(shè)置該組件的選項(xiàng)。
選擇的開始菜單選項(xiàng):
? ? Show Control Panel on Start Menu
? ? Show My Computer on Start Menu
不要選擇的開始菜單項(xiàng):
? ? Prohibit Access to Hot Keys
? ? Prohibit Access to Control Panel
最后再進(jìn)行一次關(guān)聯(lián)性檢查。
構(gòu)造及測試運(yùn)行時(shí)IMAGE
在Configuration菜單中,選中Build Target Image… 菜單項(xiàng),出現(xiàn)Build對話框
在Destination欄中,添入一個保存Image的空目錄,例如在C:\\Windows Embedded Images目錄下,建立一個新的空目錄Test Configuration
log文件應(yīng)保存在另外的目錄中,不要與Image在同一目錄
按下Build按鈕,Target Designer會完成Image的構(gòu)建;完成后,在指定目錄下會生成如下的文件和目錄集合
如果在運(yùn)行了關(guān)聯(lián)性檢查之后,對配置進(jìn)行了改變,構(gòu)建Image時(shí),Target Designer會提示開發(fā)者再做一次關(guān)聯(lián)性檢查。
構(gòu)件完成后,會顯示如下的提示框:
在上面的例子中,請注意提示No Errors,但有兩個Warnings,第一個Warning出現(xiàn)是因?yàn)樵谂渲弥袥]有輸入PID號碼,不輸入PID號碼構(gòu)造出來的Image是個限時(shí)評估版的;第二個Warning出現(xiàn)是因?yàn)門weak UI 組件被包含進(jìn)配置,但該組件不是Released版本組件,當(dāng)然對Image本身沒什么影響。
構(gòu)造完成后,關(guān)閉該對話框。
將以上Image文件目錄中的目錄和文件拷貝到D盤的根目錄下,因?yàn)槲募夸洷仨毢颓懊媾渲脤傩灾械脑O(shè)定相匹配,拷貝完成后,得到下面圖示的目錄:
保存配置信息,選擇File菜單的Save菜單項(xiàng)。
關(guān)閉Target Designer
重啟機(jī)器
測試XPE系統(tǒng)
在重啟過程中,會提示兩個啟動選項(xiàng),運(yùn)行Windows XP Professional, 或者運(yùn)行Windows XP Embedded. 擇Windows XP Embedded。
啟動選項(xiàng)使用C:\\Boot.ini控制的,在前面我們已經(jīng)在Boot.ini中添加了如下段落:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\\WINDOWS="Microsoft Windows XP Professional" /fastdetect
[!--empirenews.page--]multi(0)disk(0)rdisk(0)partition(2)\\WINDOWS="Microsoft Windows XP Embedded" /fastdetect
當(dāng)XPE正常運(yùn)行后,可以查看在該系統(tǒng)中是否包含了我們需要的功能,以此來檢驗(yàn)我們的工作。
打開Control Panel,查看其中是否包含了Tweak UI Control Applet選項(xiàng)。
運(yùn)行Tweak UI控制面板程序,可以看到下面的對話框:
到此,我們完成了整個開發(fā)過程。
開發(fā)XP Embedded Bootable CD
1.準(zhǔn)備工作
首先做一些硬件方面的準(zhǔn)備:至少需要一臺刻錄機(jī)和兩塊硬盤。第一塊硬盤就是操作系統(tǒng)所在的硬盤,對分區(qū)沒有什么特殊要求,但操作系統(tǒng)必須是Windows 2000/XP/Server 2003。第二塊硬盤是制作光盤的關(guān)鍵,此盤中的分區(qū)數(shù)量不得大于4個,并且要保留至少8MB未分區(qū)空間,第一個分區(qū)為主分區(qū),分區(qū)格式為FAT16,容量必須小于一張光盤的容量(650MB或700MB),根據(jù)我們這次講解的內(nèi)容計(jì)算,分成300MB即可。所有分區(qū)工作都可在Windows中完成,這里不再贅述,分完區(qū)千萬不要忘記激活第二塊硬盤的主分區(qū)(下文中稱該主分區(qū)為“目標(biāo)區(qū)”,第二塊硬盤為“目標(biāo)盤”,第一塊硬盤為“系統(tǒng)盤”)。
分好區(qū)后,將“C:\Program Files\Windows Embedded\utilities\”中的“BOOTPREP.exe”拷貝至目標(biāo)區(qū),由于這是一個16位程序,所以必須在DOS下運(yùn)行。重啟電腦,進(jìn)入BIOS(一般是按“Del”鍵或“Ctrl+Alt+Esc”組合鍵),將系統(tǒng)盤設(shè)為“None”(當(dāng)然,也可以關(guān)閉電腦,拆下系統(tǒng)盤),再設(shè)置首先從軟盤或光盤啟動(視你想用哪種方法啟動而定),保存退出。使用Win98光盤或啟動軟盤引導(dǎo)至DOS界面下,輸入“C:”,然后回車進(jìn)入C盤,也就是目標(biāo)區(qū),再輸入“BOOTPREP”并回車,按兩次“Y”確認(rèn)后,目標(biāo)盤設(shè)置完成。
2.創(chuàng)建“EnableAutoLayout”組件并導(dǎo)入
①打開開始菜單中的“Component Designer”,在打開的程序界面中選擇菜單“File”→“New”創(chuàng)建一個新的“sld”文件。
②展開窗口左側(cè)的“Windows XP Embedded Client (x86)”目錄,并在“Components”目錄上單擊右鍵,選擇“Add Component”。
③在右側(cè)新建窗口的“Name”區(qū)內(nèi)輸入一個名稱,例如“EnableAutoLayout_Settings”(圖3)。
④右鍵單擊左側(cè)窗口中的“Registry Data”,選擇“Add”→“Registry Data”,在彈出的“Add Component Registry Resources”對話框中分別填寫以下值(圖4):
Root: HKEY_LOCAL_MACHINE
Key name: SOFTWARE\Microsoft\ Windows\CurrentVersion\OptimalLayout
value name: EnableAutoLayout
Type: REG_DWORD
value: 0
⑤選擇“Default”單選框,按“OK”回到主窗口,選擇“Flie”→“Save”保存為“EnableAutoLayout.sld”,下面將該文件導(dǎo)入數(shù)據(jù)庫。
⑥在開始菜單中選擇“Component Database Manager”,在“Database”標(biāo)簽窗口中選擇“Import”(圖5)。在彈出對話框的“SLD file”一欄中找到剛剛保存的“EnableAutoLayout.sld”文件。
⑦最后選擇“Import”開始導(dǎo)入組件(圖6),導(dǎo)完后關(guān)閉所有對話框。
3.創(chuàng)建“Target hardware device drivers”組件并導(dǎo)入
①進(jìn)入目錄:C:\Program Files\Windows Embedded\utilities\,執(zhí)行“tap.exe”,很快便在同一目錄中生成一個“devices.pmq”文件。
②在開始菜單中選擇“Component Designer”,在彈出窗口中選擇“Flie”→“Import”,導(dǎo)入“devices.pmq”文件(導(dǎo)入時(shí)間較長,圖7)。
③導(dǎo)入完畢,選擇窗口左側(cè)的“Components”→“devices”,在右側(cè)窗口的“Name”文本框中填寫“My devices-hardware”(圖8)。
④單擊右側(cè)窗口中“Prototype”欄旁的“Browse”按鈕,在彈出窗口中選中“Software”→“Test&Development”→“Selector Prototype Component”(圖9)。按“OK”回到主窗口,選擇“Flie”→“Save”保存文件為“Mydevices.sld”。
⑤按第2步中的“⑥”和“⑦”兩個步驟將“Mydevices.sld”導(dǎo)入到數(shù)據(jù)庫。
4.創(chuàng)建El Torito實(shí)時(shí)運(yùn)行鏡像(El Torito run-time image)
①在開始菜單中選擇“Target Designer”,在彈出窗口中選擇“File”→“New”,命名為“My XP Embedded”后按“OK”(圖10)。
②“Target Designer”的窗口共分為4部分,上面左側(cè)窗口中顯示所有組件的列表,先前導(dǎo)入的“Enable AutoLayout_Settings”和“My devices-hardware”組件就放在根目錄下。中間窗口中顯示新建的“My XP Embedded”系統(tǒng)的組件列表,此時(shí)還沒有任何組件。右側(cè)窗口則用于顯示“My XP Embedded”系統(tǒng)組件的屬性和設(shè)置窗口。下面的大窗口顯示制作信息,有“Tasks”、“Messages”和“Debug”3個標(biāo)簽(圖11)。
③雙擊左側(cè)窗口中的“EnableAutoLayout”和“My devices-hardware”組件,將它們添加到中間的“My XP Embedded”窗口中。
④展開左側(cè)窗口中的“Design Templates”,雙擊添加“Windows-based Terminal Professinal”組件,這個組件中包含了一個最小化XP Embedded所必需的基本組件。
⑤展開左側(cè)窗口中的“Software”→“System”→“Storage & Flie System”→“Infrastructure”→“Flie Systems”,雙擊添加“FAT”組件。再展開左側(cè)窗口中的“Software”→“System”→“Storage & Flie System”→“Applications”,雙擊添加“FAT format”組件。這一步是為實(shí)時(shí)運(yùn)行鏡像設(shè)置文件系統(tǒng)。[!--empirenews.page--]
⑥展開左側(cè)窗口中的“Software”→“System”→“System Services”→“Base”,雙擊添加“El Torito CD”、“EWF NTLDR”和“Enhanced Write Filter”組件。然后展開中間窗口中的“Enhanced Write Filter”組件,選擇“Settings”,在右側(cè)窗口中將“Start EWF Enabled”復(fù)選框中的對勾清除(圖12)。
⑦展開左側(cè)窗口中的“Software”→“System”→“User Interface”→“Shells”,雙擊添加“Explorer shell”組件。再展開“Windows Shells”子目錄,雙擊添加“User Interface Core”組件,并在其“Settings”窗口中選中“Show Run on Start Menu”一項(xiàng)(圖13)。
⑧展開左側(cè)窗口中的“Software”→“System”→“Management”→“Applications”,雙擊添加“EWF Manager Console Application”組件。再展開“Software”→“System”→“International”→“Infrastructure”,雙擊添加“Chinese - Simplified Language Support”。
⑨至此添加組件工作完成,下面檢驗(yàn)工作成果,選擇菜單“Configuration”→“Check Dependencies”開始從屬性檢查(時(shí)間比較長),沒有問題的話會報(bào)告“No errors or warnings”(圖14)。下面就可以建立實(shí)時(shí)運(yùn)行鏡像了:選擇“Configuration”→“Build Target Image”,在彈出窗口中設(shè)置鏡像存放位置,然后按“Build”開始建立鏡像(鏡像大約需占用135MB硬盤空間,圖15)。
⑩打開存放鏡像的文件夾(默認(rèn)為:D:\Windows Embedded Images\),將其下所有文件及目錄拷貝至目標(biāo)區(qū)。
5.建立pre-FBA CD
現(xiàn)在就可以用目標(biāo)區(qū)中的文件創(chuàng)建光盤鏡像了,用這個鏡像刻錄的CD被稱作pre-FBA CD,它并不是我們最終需要的光盤,所以建議用CD-RW盤片刻錄。
①進(jìn)入目錄:C:\Program Files\Windows Embedded\utilities\,執(zhí)行“Hd2iso.exe”,這是一個32位的命令行程序,有類似“Fdisk”的文字菜單(圖16)。
②按“1”鍵選擇“Create an ISO-9660/ELTORITO bootable image file.”進(jìn)入ISO鏡像創(chuàng)建菜單(圖17)。
③按“2”鍵選擇“Set physical drive.”,界面中會顯示出電腦中所有的硬盤,編號從“0”開始。目標(biāo)區(qū)位于第二塊硬盤,所以該硬盤的編號應(yīng)該是“1”,按“1”鍵選擇“\\.\physicaldrive1”后退回至上一級菜單(圖18)。
④按“3”鍵選擇“Select partition(s)”進(jìn)入選擇分區(qū)菜單 。按“1”鍵選擇“BOOTABLE, BIGDOS, 322MB [Not Selected]”,選擇后中括號內(nèi)的“Not Selected”變?yōu)?ldquo;Selected”(圖19),然后按“P”鍵返回上一級菜單。
⑤按“4”鍵選擇“Set image file path”。即存放光盤鏡像的位置,存放該鏡像的分區(qū)至少要有700MB剩余空間,輸入路徑及文件名,如“G:\xpos.iso”(圖20),按回車返回上一級菜單。
⑥按“5”鍵選擇“Advanced Options”。進(jìn)入高級設(shè)置界面(圖21),其中必須要設(shè)置的項(xiàng)目只有一個:“Specify disk signature”。按“2”鍵進(jìn)入該項(xiàng)設(shè)置,在這里需要輸入一串?dāng)?shù)字,啟動“Target Designeras”,展開“El Torito CD”組件,在其設(shè)置項(xiàng)中就有我們需要的那串?dāng)?shù)字(圖22)。輸入數(shù)字后回車退至上一級菜單,該值自動轉(zhuǎn)化為16進(jìn)制數(shù)字。按“P”鍵退出高級設(shè)置菜單。
⑦按“6”鍵選擇“Create Image to package the ISO image”開始創(chuàng)建光盤鏡像,此過程需要較長時(shí)間,創(chuàng)建完畢后按“Q”鍵退出。
⑧用Nero Burning ROM或其他刻錄軟件將制作好的鏡像刻到CD-RW盤片上,至此“pre-FBA CD”制作完畢。由于Windows無法識別這個鏡像中的文件格式,所以查看光盤時(shí)內(nèi)容空空如也,但322MB的容量可以顯示出來。
6.引導(dǎo)硬盤上的El Torito Run-Time鏡像
當(dāng)pre-FBA CD制作完畢后,就可通過它引導(dǎo)目標(biāo)硬盤上的El Torito Run-Time鏡像了。關(guān)機(jī)卸下系統(tǒng)硬盤(在BIOS中關(guān)閉系統(tǒng)硬盤亦可),在BIOS中將啟動方式設(shè)置為從光盤啟動,并將pre-FBA CD放入CD-ROM驅(qū)動器中。系統(tǒng)首先從pre-FBA CD啟動,加載相關(guān)信息之后,便把“權(quán)力”轉(zhuǎn)讓給硬盤中的鏡像繼續(xù)完成引導(dǎo),這個引導(dǎo)過程中系統(tǒng)會不斷從pre-FBA CD中讀取信息,完成XP Embedded的配置,這個過程被稱為First Boot Agent(FBA),要經(jīng)過兩次重啟才能完成。另外,Enhanced Write Filter(EWF)也在這個階段開始工作并創(chuàng)建一個臨時(shí)配置分區(qū)(圖23)。
進(jìn)入XP Embedded界面后,需要確定EWF的狀態(tài),下面的操作均在XP Embedded系統(tǒng)內(nèi)完成。
①確認(rèn)所有EWF Volume的配置情況,在“開始”→“運(yùn)行”中輸入CMD并回車,調(diào)出命令提示符界面。然后鍵入“Ewfmgr.exe”,如果EWF Volume配置正確,則會顯示EWF Volume的情況。
②確認(rèn)C分區(qū)是否為受EWF保護(hù)的分區(qū),在“命令提示符”界面中輸入“EwfmgrC:”,如果配置正確,則會顯示Protected Volume的信息。
④選擇“開始”→“程序”→“Windows 資源管理器”。查看你的系統(tǒng)中是否包括磁盤“El Torito CD”(實(shí)際上就是光驅(qū)中的pre-FBA CD,不過它在XP Embedded中被當(dāng)作卷名為“El Torito CD”的磁盤)和目標(biāo)區(qū)。
⑤如果上述檢查都正常,那么你就可以對這個El Torito Run-Time鏡像進(jìn)行更多的定制了,如增加應(yīng)用程序等,增加軟件的方法和在WinXP中安裝軟件的方法一樣,很簡單吧?[!--empirenews.page--]
7.運(yùn)行“Etprep.exe”
制作最終的系統(tǒng)光盤前還需要執(zhí)行程序“Etprep.exe”,這個工具執(zhí)行如下任務(wù):刪除目標(biāo)盤上在FBA過程中建立的EWF配置分區(qū);交換“El Torito CD”磁盤和目標(biāo)區(qū)的驅(qū)動器符號,這一步過后,就無法通過目標(biāo)區(qū)中的“El Torito Run-Time”鏡像啟動了。
①調(diào)出“命令提示符”界面,進(jìn)入“\Windows\system32 ”目錄并運(yùn)行如下命令:etprep /all。
②如果操作成功會顯示如下文字:
Deleted EWFpartitions = 1.
Swapped ElTorito volume drive E: with Boot volume C: .
③在執(zhí)行“Etprep.exe”后,系統(tǒng)會自動重啟,由于目標(biāo)區(qū)已經(jīng)無法引導(dǎo)系統(tǒng),所以重啟后手動關(guān)閉計(jì)算機(jī)。如果沒有自動重啟,手動關(guān)閉機(jī)器即可。
8.制作最終的XP Embedded Bootable CD
現(xiàn)在可以制作最終的系統(tǒng)光盤了。這個過程與制作pre-FBA CD的過程一模一樣,請按“5.”中所述步驟制作最終的光盤鏡像。在刻錄成CD前,最好使用虛擬PC軟件測試一下這個鏡像,但要注意只有VMware的虛擬PC軟件能正確使用此鏡像,微軟的“Virtual PC”反而不行,是不是有點(diǎn)諷刺(圖24)?進(jìn)入系統(tǒng)后,查看系統(tǒng)屬性,有“嵌入式”的字樣,版本為“2002”