68
Windows Embedded Standard 초보자 가이드 - - 1 초보자 가이드 esg @sgacorp .kr

가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

1

초보자 가이드

[email protected]

Page 2: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

2

초보자 가이드 목차

[개요] --------------------------------------------------------------------------------------------------------- 3

[주요 추가된 내용] ------------------------------------------------------------------------------------------- 5

[설치사양] ----------------------------------------------------------------------------------------------------- 6

[설치방법] ----------------------------------------------------------------------------------------------------- 6

[QFE에 대해서] ---------------------------------------------------------------------------------------------- 13

[WES 구조] -------------------------------------------------------------------------------------------------- 14

[포팅 과정] -------------------------------------------------------------------------------------------------- 15

[타겟 분석] ------------------------------------------------------------------------------------------------ 17

[IMPORT] ---------------------------------------------------------------------------------------------------- 19

[체크 디펜던시]-------------------------------------------------------------------------------------------- 22

[매크로 컴포넌트] ----------------------------------------------------------------------------------------- 27

[컴포넌트 추가]-------------------------------------------------------------------------------------------- 30

[빌드] ------------------------------------------------------------------------------------------------------ 39

[컴포넌트 만들기] ------------------------------------------------------------------------------------------- 42

[데이터베이스 IMPORT] ------------------------------------------------------------------------------------ 51

[매크로 컴포넌트 제작방법] ------------------------------------------------------------------------------ 53

[필터 사용] -------------------------------------------------------------------------------------------------- 55

EWF (ENHANCED WRITE FILTER) ------------------------------------------------------------------------- 58

HORM(HIBERNATE ONCE RESUME MANY) -------------------------------------------------------------- 62

USB 부트 (FP 2007) ---------------------------------------------------------------------------------------- 65

[적용 예] --------------------------------------------------------------------------------------------------- 66

[USB 부트 만드는 순서] ----------------------------------------------------------------------------------- 67

Page 3: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

3

[개요]

Windows Embedded Standard는 Windows XP Professional SP3 기반으로 만들어진 커스텀한 운영

체제로 Windows XP Embedded의 새로운 버젼입니다. Windows XP Professional SP3의 기능을 거의

모두 사용할 수 있으며, 사용자 타겟 시스템에 맞추어 최적화가 가능합니다. 이러한 장점으로 많은

임베디드 시스템에 적용되고 있습니다. 대표적인 예로 아케이드 게임, KIOSK, ATM, 산업용 자동화

장비, POS, DVR, 임베디드 웹서버 등에 널리 사용되고 있습니다.

Windows Embedded Standard는 기존의 Windows XP Embedded를 사용하는 환경과 동일하게 적

용이 가능하며 특히 Windows XP Professional SP3로 한층 강화된 Windows의 환경을 적용할 수 있

습니다. 이렇듯 향후 Microsoft의 신기술이 우선적으로 적용될 WES에 대한 이해를 돕고자 WES 초

보자 가이드를 제작하게 되었습니다.

아무쪼록 이 가이드를 기반으로 Windows Embedded Standard를 처음 접하시는 분들에게 많은 도

움이 되길 바랍니다. Windows Embedded Standard에 대해서 더 자세히 알고 싶으시다면, 이 가이드

와 함께 MSDN의 Windows Embedded Standard 부분을 같이 보시기 바랍니다.

이 가이드에서는 Windows Embedded Standard를 WES로 Windows XP Professional 를 XP Pro로

Target Designer를 TD로 표기 하겠습니다.

에스지에이 기술지원 팀.

전화문의: 070-7308-9341, 9342

Page 4: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

4

[주요 추가된 내용]

WES에는 기존의 XP Embedded에서는 제공되지 않았던 기능들도 일부 포함이 되어있습니다.

예를 들어 Silverlight 1.0, .NET Framework 3.5, XPS, KMDF, Sysprep등이 있습니다.

먼저 Silverlight는 Windows Embedded Standard 상에서 동작하는 웹 프레젠테이션 기술로서 WPF

의 일부 기능을 제거하여 탄력적이며 가볍게 재구성한 기술로서 Adobe사의 Flash보다 가벼운 장점

을 가지고 있습니다. WES상에서는 Silverlight 1.0이 컴포넌트로 존재합니다.

.NET Framework도 3.5를 지원하면서 기존의 3.0 버전까지만 지원되던 방식보다 업그레이드가 되

었습니다. 3.5버전을 사용하여 좀더 강력한 기능들을 사용하실 수 있습니다. 기존의 WF(Workflow

Foundation), WCF(Windows Communication Foundation), WPF(Windows Presentation Foundation),

Windows CardSpace에 새로운 기능들이 추가 되었으며, LINQ(Language Integrated Query), AJAX,

REST, 기타 사용자의 요구에 맞추어 다양한 .NET Framework 3.5 기반의 Class Library 등 새로운

기능들도 추가되었습니다. 자세한 내용은 msdn에서 확인하실 수 있습니다.

XPS(XML Paper Specification)는 다양한 플랫폼에서 동작할 수 있는 프레젠테이션 기술입니

다. .NET Framework 3.0을 설치하시면 기본적으로 사용이 가능합니다.

KMDF(Kernel Mode Driver Framework)는 WES에 컴포넌트화 되어있으며, 커널모드 레벨에서 장치

드라이버를 설치하고 실행하는 것이 가능합니다. 커널모드 드라이버들은 메니지드 입출력, 플러그 앤

플레이 메모리, 프로세스, 쓰레드, 보안 등 커널모드 OS 컴포넌트들로 구성된 실행의 일부분으로서

커널모드에서 실행된다. KMDF는 UMD(User Mode Driver)와 독립적으로 같은 런타임 이미지상에 같

이 사용이 가능합니다.

Sysprep(Windows System Preparation)은 복제 및 커스텀화를 위해 하드디스크 안에 시스템을 구

축하는 유틸입니다. SCCM(System Center Configuration Manager)을 사용하여 여러 개의 장치에 OS

이미지를 배포할때 Sysprep을 사용합니다.

XP Service Pack 3를 기본으로 지원하며 기존의 모든 핫픽스와 보안 업데이트를 포함하고 있습니

다. 대표적으로 NAP(Network Access Protection), MSXML 6.0(Microsoft Core XML Services 6.0),

BITS(Background Intelligent Transfer Server) 2.5 등이 있습니다.

기타 EWF와 FBWF의 기능도 향상되었습니다.

Page 5: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

5

[설치 사양]

WES를 시작하기 위해서는 개발 툴킷을 설치해야 합니다. 이전의 Windows Embedded Studio를

설치해보신 분들은 설치과정 중간에 생기는 각종 에러메세지 때문에 많이들 고생을 하셨을 것입니다.

하지만 WES는 이러한 에러들을 더 이상 볼 수 없습니다. 자세한 내용은 뒤에 설명하겠습니다.

설치 필요조건

Windows Installer 3.1

Microsoft SQL Server Express 2005, SQL Server 2005, SQL Server Express 2008, SQL Server 2008

개발 PC(최소사양)

CPU : 728MHz(XP Pro, Windows Server 2003), 1GHz(Windows Vista, Windows Server 2008 Standard)

RAM : 512MB(XP Pro, Windows Server 2003), 1GB(Windows Vista, Windows Server 2008 Standard)

HDD : 6GB(Typical 설치시), 10GB(Full 설치시)

Microsoft Internet Explorer 6 또는 상위버전 추천

DVD drive

VGA or 상위해상도; 1024 x 768 해상도 추천

타겟 PC

CPU : Pentium II 200MHz or higher

RAM : 64MB

HDD : 15MB(CMD 쉘)

위의 사양은 그야말로 최소사양입니다. 개발 환경은 코어2듀오 이상의 CPU에 램 2GB 이상은 되

어야 무난하게 작업을 하실 수 있을 겁니다. 개발툴이 높은 CPU 점유율과 메모리를 많이 사용하기

때문에 고사양을 추천 드립니다. 타겟 PC는 WES가 탑재되는 보드로, X86계열의 CPU만을 지원하며,

컴포넌트의 조합에 따라 XP Pro가 동작하지 않는 보드에서도 동작이 가능합니다.

WES를 설치하기 위해서는 WES 평가판 또는 정품 툴킷이 있어야 합니다. 설치방법은 평가판과 정

식판이 동일합니다. 기능도 동일합니다. 다만 평가판은 120일이라는 시간제한이 걸려있는 것과 정식

WES 이미지를 만들 수 없다는 것이 다릅니다.

Page 6: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

6

[설치방법]

WES 툴킷의 설치는 개발용으로 준비된 PC에 설치합니다. 툴킷의 설치는 Windows Installer 3.1

SQL Server 2005 Express WES DVD 순으로 설치하시면 됩니다.

1. Windows Installer 3.1(XP Pro 최신 버전, VISTA 제외)

2. SQL Server 2005 Express(.NET Framework 2.0 필요)

3. WES DVD

평가판은 정품 툴킷과 동일하게 DVD 1장으로 구성되어 있습니다.

[WES DVD 삽입]

처음 DVD를 삽입하면 위와 같은 화면을 보실 수 있습니다.

총 3가지로 구성이 되어있으며 사전 준비사항, 설치, 기타정보로 구성이 되어있습니다.

Page 7: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

7

[Prepare 설치]

Prepare를 클릭하시면 4가지 항목이 나타나게 됩니다.

1. 설치 도움말

2. 최신 SQL Server Express를 웹에서 다운 및 설치

3. DVD안에 있는 SQL Server Express 2005 설치

4. Windows Installer 3.1 설치(현재 설치된 정도에 따라 나타나지 않을 수도 있음)

2번의 경우 SQL Server Express 2008로 설치시 필요한 항목이며 Windows Installer도 4.5를 설치하

셔야 합니다.

우선은 Windows Installer 3.1을 설치합니다.(단, 이미 설치되어있는 경우는 Skip)

만약 SQL Server Express를 먼저 설치하시려고 한다면 아래와 같은 메시지를 보시게 됩니다.

Page 8: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

8

Windows Installer 3.1을 설치했다면 다음은 SQL Server를 설치합니다.

만약 .NET Framework 2.0이 설치되어있지 않다면 아래와 같은 메시지를 보시게 됩니다.

SQL Server는 별다른 설정은 하지 않고 계속 Next를 눌러줍니다.

설치가 완료되었다면 이제 WES를 설치할 차례입니다.

Install의 내용을 클릭해서 진행합니다.

Page 9: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

9

최초화면입니다. Next를 클릭합니다.

Typical로 설치하게 되면 Internet Explorer 7과 Windows Media Player 11 기반으로 설치됩니다.

만약 IE6와 WMP 10, 여러 MUI를 설치하고 싶으시다면 Custom을 선택하시면 됩니다.

먼저 Typical의 설정을 확인하고 Custom 설정에 대한 설명을 하겠습니다.

Page 10: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

10

<Typical 설정>

Typical을 누르시면 위와 같은 화면이 나오게 되며 SQL Server Name 설정과 툴과 DB의 위치를

지정할 수 있습니다. 원하시는 위치에 맞게 설정을 해주세요. 설정이 끝났으면 Next를 눌러줍니다.

Typical 설치시 기본적으로 Tool과 DB와 IE7, WMP11이 설치가 됩니다.

MUI등은 설치 후에도 추가로 설치가 가능합니다.

Page 11: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

11

<Custom 설정>

Database 부분의 IE7 with Media Player 11이 기본으로 설정되어있고 IE6와 WMP10으로 변경을

하시려면 unavailable로 설정해주시면 됩니다. Custom 설치시는 이곳에서 경로를 변경해줍니다.

MUI는 23가지 언어 중 DB에 포함하고자 하는 MUI만 Install 가능하게 변경해줍니다.

Next를 누르면 SQL Server Name을 선택하는 화면이 나타납니다. 해당하는 Name을 선택하시고

Next를 눌러줍니다.

Page 12: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

12

현재 선택된 내용은 Windows Embedded Studio와 Windows Embedded Standard Database와 IE7

with Media Player 11입니다.

Install을 누르면 위와 같은 설치과정을 거치게 됩니다. 이전에 Windows Embedded Studio를 설치할

때 발생하였던 각종 문제들은 WES로 넘어오면서 사라지게 되었습니다.

Page 13: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

13

[QFE에 대해서]

QFE는 Quick Fix Engineering의 약자로 XPE의 데이터베이스에 정보를 보안해야 할 부분들을 모아서

만든 업데이트입니다. 그냥 단순히 업데이트 파일이라고 보셔도 됩니다.

데이터베이스를 업데이트 해야 최신의 OS 이미지를 만들 수 있기 때문에 주기적으로 업데이트 해야

합니다. QFE 정보는 www.yespartner.com 사이트의 QFE 자료실에 있습니다.

QFE는 패치가 있을 때마다 월 단위로 나오게 됩니다. 사이트에 보시면 DQI용과 DB용이 있습니다.

DQI용은 이미 만들어진 OS 이미지에 패치를 하는 것입니다. DB용은 툴킷이 설치된 개발용 PC에 패

치를 하는 것입니다. 현재 QFEs는 SP2, FP2007, Rollup1.0, SP3, WES에 대해서 지원을 합니다.

예전에는 https://microsoft.embeddedoem.com/ 사이트에서 다운로드 받을 수 있었지만 현재는 폐

지가 되어서 다운 받을 수 없습니다. 대신 https://ece.partners.extranet.microsoft.com/ece 사이트

에서 다운로드 받으실 수 있습니다. 이곳은 [email protected]에 직접 메일(OEMCLA 포함)을 보내

서 계정 요청을 하셔야 접속 하실 수 있습니다.

QFE는 다운받으신 후 바로 설치하시면 됩니다. 그리 어렵지 않을 것입니다.

Page 14: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

14

[WES 구조]

WES는 컴포넌트의 조합을 통해서 만든 커스텀한 OS를 말합니다. 여기서 컴포넌트란, XP PRO의 기

능(파일, 레지스트리)을 컴포넌트화 해서 잘게 쪼개놓은 바이너리 파일이라고 보시면 됩니다. 즉 컴

포넌트가 될 수 있는 것은 디바이스 드라이버, 커널, 서비스, 관리도구, 제어판, 통신, 보안, 응용프

로그램이 될 수 있습니다.

또한 XP Pro의 파일과 WES의 파일은 동일한 파일입니다.(일반적인 dll, sys, exe등) 즉 XP Pro의 파

일들이 XPE의 데이터베이스에 있다고 보시면 됩니다.

간혹 어떤 분들은 이런 생각을 합니다. 기능과 파일이 같기 때문에 XPE로 XP PRO와 똑같이 만들

수 있을 것이라 생각합니다. XP Pro와 비슷하게는 만들 수 있지만, 100% 똑같이 만들 수는 없습니다.

WES가 커스텀한 OS이기 때문에 기능은 같을지 몰라도 구성이 틀리기 때문입니다. (ex: 자동 업데이

트 지원 안 함)

WES는 아래와 같은 디자인 목표를 가지고 있습니다.

(아래의 사항에 대해서는 교육에 참가하면 자세히 들으실 수 있습니다.)

1. XP Pro와 바이너리 호환성 (win32 API, WDM 등등)

2. 풍부한 운영체제 기능 (WMP, DX9.0c, .NET Framework, Explorer 등등)

3. 작은 사이즈

4. 모듈화 (모든 기능들이 컴포넌트화)

5. 임베디드적인 기능 (EWF, DUA, Hibernation, Headless 등등)

6. 개발툴 지원

개발툴에 대해서 간단하게 설명하겠습니다.

XPE 툴은 크게 세가지가 있습니다.

Target Designer - 컴포넌트를 조합해서 OS 이미지를 만드는 툴.

Component Designer - 컴포넌트를 만드는 툴.

Component Database Manager - 컴포넌트의 등록, 삭제 등을 관리하는 툴.

부수적인 툴로는

Bootprep.exe, UFDprep.exe - FAT에서 XPE가 부팅 시킬 수 있도록 해주는 툴.

TAP.exe - 32비트 응용프로그램으로 타겟에 디바이스 정보를 가져오는 툴.(윈도우모드에서 실행합니다)

TA.exe - 16비트 응용프로그램으로 타겟의 디바이스 정보를 가져오는 툴.(DOS모드에서 실행합니다)

이외에도 몇 가지 더 있지만 자주 사용하지 않는 툴입니다.

Page 15: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

15

[포팅 과정]

포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다.

아래의 그림을 참고 하시고, 포팅을 하기위한 준비 사항에 대해서 알려드리겠습니다.

포팅을 하기 위해서는 타겟보드가 선정이 되어야 하며, 여기에서 실행할 응용프로그램이 있어야 합

니다. 일반적으로 WES는 응용프로그램에 맞추어 포팅을 해야 합니다.

1. 타겟보드 선정

2. XP Pro SP3 설치(드라이버 설치), APP 테스트

3. 개발 PC에서 타겟 보드로 TAP.exe 복사

4. TAP.exe 실행 -> devices.pmq 생성 [타겟분석]

5. devices.pmq 개발 PC로 복사

6. 개발 PC에서 타겟 디자이너 실행 후 devices.pmq파일 Import [Import]

7. 타겟 디자이너에서 디펜던시 체크

8. 컴포넌트 추가 후 디펜던시 체크 [컴포넌트 추가]

9. 빌드

10. 준비된 저장장치에 이미지 복사(NTFS포멧, 활성화 표시)

11. 저장장치를 타겟보드에 붙여서 부팅(기존 XP Pro HDD는 제거)

12. FBA (First Boot Agent)

13. WES 완성

14. TEST (H/W, S/W)

HDD, DOM, CF

HDD: XP Pro

WES Tools

개발 PC

HDD: XP Pro

타겟 보드 TAP.exe 복사

devices.pmq

Page 16: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

16

포팅하는 과정에 대해서 간략하게 알아봤습니다.

위의 순서가 항상 맞는 건 아닙니다. 그나마 가장 일반적이고, 쉬운 하나의 루트입니다.

좀더 WES에 익숙해지면, 자신만의 빌드 프로세스를 만들어서 최적화를 할 수 있습니다.

위의 순서는 최적화하고는 약간 거리감이 있습니다. 자동으로 의존성 체크를 하기 때문에 필요치 않

은 컴포넌트까지 다 추가가 됩니다. 하지만 WES를 처음 접하시는 분들에게는 편하게 OS 이미지를

만들어 줄 것입니다.

OS 최적화에 관한 것은 여기에서 다루지 않을 것입니다.

그에 관한 정보는 세미나나 MSDN을 참조 하십시오.

<Windows Embedded Standard 메인 툴인 Target Designer 화면>

Page 17: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

17

[타겟 분석]

TA/TAP라는 툴이 있습니다. C:\Program Files\Windows Embedded\Utilities에 보면 있습니다. TA

는 16비트 응용프로그램에서 디바이스 정보를 얻어오는 것이고, TAP는 32비트 응용프로그램에서 디

바이스 정보를 얻어오는 것입니다. TAP.EXE를 타겟 보드에 복사 후 실행해서 디바이스 정보를 얻어

옵니다. 참고로 TA보다 TAP가 성능이 더 좋습니다.

위와 같은 화면이 나오고 devices.pmq 파일이 생성됩니다.

여기에 타겟 보드의 하드웨어 디바이스 정보가 들어있습니다. 이 파일은 xml로 만들어지며, 메모장으

로 열어도 내용확인이 가능합니다.

devices.pmq만 있으면 어디서든 타겟 보드에 관한 XPE 이미지를 생성할 수 있습니다. 그러므로 파

일명에 별도로 표기 하여 구분하여 주시기 바랍니다. Target_devices.pmq 이와 같이 표기하시면 편

하실 겁니다. 이 파일을 개발 PC로 복사 합니다.

Page 18: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

18

이제 개발 PC에서 TD(Target Designer)를 실행 시킵니다.

Files – New를 선택하면 아래와 같은 화면이 나옵니다. 맘에 드는 이름을 입력하십시오.

TD화면을 보시면 세 부분으로 나눠져 있습니다.

왼쪽부터 Component Browser | Configuration Editors | Details Pane 로 나눠집니다.

Component Browser에는 XPE에서 사용하는 전체 컴포넌트 목록이 표시됩니다. 현재 몇 개의 컴포넌

트가 데이터베이스에 있는지도 나타납니다.

Configuration Editors에는 현재 만들려고 하는 OS 컴포넌트가 표시됩니다. 즉, 이 목록의 컴포넌트

를 빌드해서 OS를 만드는 것이라 보시면 됩니다.

Details Pane에는 컴포넌트의 자세한 사항 및 세팅, 파일, 레지스트리 등을 표시해줍니다.

앞으로 우리가 만들어야 할 컴포넌트 목록을 컨피그레이션이라고 하겠습니다.

이제 우리는 컨피그레이션을 만들어야 합니다. 어떤 컴포넌트를 넣어야 할지 초반에는 막막하죠. 가

장 먼저 해야 할 것은 하드웨어 관련 컴포넌트를 추가 시키는 것입니다. 이것을 임의로 추가를 시키

려면 힘들기 때문에 조금 전에 작업했던 devices.pmq를 이용해서 컴포넌트를 추가시킵니다. 즉 TD

에서 import를 하는 것입니다. 그러면 devices.pmq가 가지고 있는 하드웨어 디바이스 목록과 XPE의

데이터베이스에 있는 컴포넌트 목록 중 일치하는 것을 자동으로 추가를 시켜줍니다. 대부분의 컴포

넌트는 이미 데이터베이스에 있으며, 목록에 없는 컴포넌트는 컴포넌트를 만들어서 따로 추가시키거

나, 이미지가 만들어진 후 드라이버 설치를 해야 합니다.

Page 19: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

19

[Import]

TD에서 File – Import를 누르시면 아래와 같은 창이 뜹니다. 작업용으로 만든 폴더 경로를 찾아서

devices.pmq를 선택 후 열기를 누르세요.

Start버튼을 누르시면 import가 시작됩니다.

Page 20: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

20

여기에서 잠깐 살펴봐야 할 부분이 있습니다.

import화면 중 끝에서 세 번째를 보시면 devices.pmq가 몇 개의 디바이스를 가지고 있으며, XPE에

서 디바이스 컴포넌트를 몇 개를 찾았는지에 대해서 나옵니다.

위의 예를 보면 76개의 디바이스 정보를 가지고 있고, 72개의 디바이스 컴포넌트를 찾은 겁니다.

Close 버튼을 눌러보시면 컨피그레이션에 76개의 컴포넌트가 추가되어 있는 것을 보실 수 있습니다.

나머지 6개의 디바이스는 찾지 못한 컴포넌트라고 보시면 됩니다.

이것들 중에 Storage Volume과 관련된 것을 제외하고, 보통 PCI 카드나 USB 외부 장치(CAM,

Printer, Scanner 등), 오디오 드라이버, 비디오 드라이버, 이더넷 드라이버 등이 안 잡혀 있을 것입

니다. 이와 같이 추가되지 않은 디바이스는 컴포넌트로 만들거나, OS 생성 후 XP Pro와 같이 드라이

버를 설치해서 올릴 수 있습니다.

컴포넌트 만드는 과정은 뒤에서 다루기로 하겠습니다.

Page 21: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

21

Import가 완료되면 컨피그레이션 창에 컴포넌트가 추가된 것을 보실 수 있을 겁니다.

이 컴포넌트는 타겟 하드웨어와 관련된 컴포넌트로서 WES의 기본 구성이 됩니다.

Page 22: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

22

[체크 디펜던시]

체크 디펜던시는 컨피그레이션에 있는 컴포넌트의 의존성을 검사하여, 각 컴포넌트와 연관된 컴포넌

트를 추가해 주는 기능입니다. 컴포넌트를 추가 했다면 의존성 검사를 하셔서 추가된 기능이 정상적

으로 작동할 수 있게 해줍니다.

여기에서는 Import한 타겟 디바이스와 연관된 컴포넌트와 OS가 구성되기 위해서 필요한 컴포넌트를

자동으로 추가합니다.

메뉴에서 Configuration – Check Dependencies를 누르시거나 F5 키를 누르시면 바로 진행이 됩니다.

아래와 같은 화면이 나오면서 체크합니다.

Page 23: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

23

체크 디펜던시가 끝나면 태스크 창에 에러 메시지가 뜨면서 아래 그림과 같이 나올 것입니다.

이것은 연관성에 대해서 개발자에게 물어보기 위해 생긴 에러입니다.

보통 5개가 나오는데, Loder의 선택, Logon의 선택, MUI의 선택, 사용 할 포맷 형태, 파일 시스템 등

을 지정합니다.

에러가 생긴 라인을 더블 클릭하면 아래와 같은 창이 뜹니다. 그림과 같이 선택합니다.

EWF NTLDR은 EWF를 사용했을 때 사용하는 Loder입니다. Loder는 반드시 하나만 선택해야 합니다.

EWF에 관해서는 나중에 설명하도록 하겠습니다.

MUI 선택입니다. 사용하고자 하는 언어를 선택하시면 됩니다. 다국어를 사용하고자 한다면 여러 언

어 동시 선택이 가능합니다.

Page 24: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

24

첫 번째 라인을 더블 클릭하면 Loader의

선택이 나옵니다.

일반적으로 NT Loader 를 사용합니다.

EWF NTLDR는 EWF 를 사용 할 경우에 체

크해 주시기 바랍니다.

주의 할 점은 대부분 컴포넌트들이 NT

Loader 를 의존성을 가지고 있어서 체크

디펜던시 할 때 충돌이 날 수 있습니다.

두 번째 라인을 더블 클릭하면 파일 시스

템을 어떤 것을 사용할 지 물어봅니다.

이것은 다중 선택이 가능하며, 포팅 할 시

스템에 필요한 파일 시스템을 선택하시면

됩니다.

CDFS – CD를 사용하기 위한 파일 시스템

FAT – USB 메모리 사용시 필요

NTFS – XP의 기본 파일 시스템

UDFS – DVD를 사용하기 위한 파일 시스템

세 번째 라인을 더블 클릭하면 위의 그림

과 동일하게 나옵니다.

따로 추가하시지 않으셔도 위에서 추가 했

다면 포함되어 있을 것입니다.

Page 25: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

25

네 번째 라인을 더블 클릭하면 언어 선택

이 나옵니다.

이것은 다중 선택이 가능하기 때문에 다국

어를 지원이 가능한 OS를 만들 수 있습니

다. (다중 선택은 추천 드리지 않습니다)

설치한 MUI에 한해서 언어에 맞게 선택하

시면 됩니다.

마지막 라인을 더블 클릭하면 로그온 선택

이 나옵니다.

이것은 반드시 한 개만 선택하셔야 합니다.

Minlogon - 단일 유저를 사용하며, Win 98

이나 Windows Me가 사용한 방식입니다.

Windows Logon – 다중 유저를 사용하며,

Win XP에서 사용하는 방식입니다.

보통은 나오지 않지만 나오는 경우 더블

클릭하면 사용할 포맷에 대해서 나옵니다.

이것은 다중 선택이 가능합니다.

FAT Format – FAT 포맷을 사용

NTFS Format – NTFS 포맷을 사용

둘 다 선택할 것을 추천 드립니다.

Page 26: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

26

위의 에러내용을 체크하신 후 다시 한번 체크 디펜던시를 합니다.

그러면 하나의 에러가 나옵니다.

Shell 선택 화면입니다. Shell은 하나만 선택이 가능합니다. Command shell은 도스 창이라고 보시면

됩니다. Explorer shell은 여러분이 사용하고 계신 Windows XP의 Shell 입니다.

Shell prototype component는 Custom Shell을 만들 때 사용하고, Task Manager shell은 작업 관리자

를 Shell로 사용합니다.

Shell을 선택하셨다면 XPE의 기본구성은 다 하셨다고 보셔도 됩니다.

각 컴포넌트간에 구성을 자동으로 했기 때문에 기본적은 OS구성뿐만 아니라 여러 가지 기능도 포함

이 되어 있습니다. 시간이 되신다면 어떠한 컴포넌트가 포함되어 있는지 보셔도 도움이 될 것입니다.

우선 저장을 하시고, 다음 단계부터는 컴포넌트 추가에 대해서 알아보겠습니다.

Page 27: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

27

[매크로 컴포넌트]

이제부터 하실 것은 컴포넌트의 추가입니다.

지금 상태로도 빌드 후 부팅이 가능하고 몇 가지 OS 기능을 사용을 할 수 있습니다. 이더넷이 살아

있다면 인터넷도 될 것입니다. 하지만 이대로 빌드하기에는 먼가 부족합니다. 이것을 채워주기 위해

서 컴포넌트를 추가해야 합니다. 어느 정도 기능을 가진 WES가 되기 위해 어떤 컴포넌트를 추가해

야 할지에 대해서 알아보도록 하겠습니다.

WES에서 OS 사이즈를 고려하지 않는 상황이라면 매크로 컴포넌트를 추가시키는 것이 가장 편합니

다. WES 사이즈가 정해져 있다면 필요한 컴포넌트를 하나씩 추가를 시켜야 하고 시간도 많이 걸립

니다. 매크로 컴포넌트란 일반적인 컴포넌트가 가진 기능은 없고, 단지 특정 주제와 관련된 컴포넌트

만 디펜던시를 가지는 컴포넌트를 말합니다. 일반 컴포넌트와 달리 굵은 글씨체로 되어 있어서 알아

보기 편합니다.

자주 사용하는 매크로 컴포넌트에 대해서 알아보도록 하겠습니다.

Page 28: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

28

컴포넌트 목록 중에 Test & Development 부분에는 많은 매크로 컴포넌트가 있습니다.

위의 매크로 컴포넌트 중에 표시가 되어있는 컴포넌트들을 추가 시키시면 됩니다.

추가하는 방법은 더블클릭 또는 우측버튼을 눌러서 add를 선택하시면 됩니다.

또한 매트로 컴포넌트의 세팅을 보시면 자신이 어떤 컴포넌트를 포함하고 있는지 나타납니다. 여기

에서 체크박스에 체크를 없애시면 해당 컴포넌트는 체크 디펜던시 할 때 추가되지 않습니다.

(참고 : 위의 매크로 컴포넌트는 WES에만 있습니다. 위의 그림과 여러분의 컴포넌트 목록이 틀릴 수 있습니다.)

주의 하실 사항은 모든 매크로를 넣고 빌드 하시면 안됩니다. 매크로 컴포넌트 중에는 같이 추가되

면 안 되는 컴포넌트가 있습니다.

보통 제가 Sample 이미지를 만들 경우 주로 추가 시키는 매크로 컴포넌트입니다.

Class Installers / Hardware Compatibility

Multimedia Application Compatibility

Shell Application Compatibility

Windows Application Compatibility

Class Installers / Hardware Compatibility – 이것은 디바이스 드라이버와 관련된 가장 밑바탕이 되는

클래스 컴포넌트입니다. 이것을 추가하지 않을 시 devices.pmq에서 가져온 디바이스 목록에 있는

클래스를 제외하고 드라이버가 설치가 되지 않습니다.

간단히 예를 들자면, 타겟 보드에서 XP Pro를 설치하고 바로 TAP를 실행 시킨다면, 해당 디바이스의

정보를 그대로 가지고 옵니다. 이 정보를 가지고 XPE를 만든 후에 USB CAM을 사용한다고 가정합니

다. USB CAM을 사용하기 위해 XPE 이미지에서 드라이버를 설치한다면 설치가 안 된다는 것입니다.

왜냐하면 TAP를 실행한 당시에는 USB CAM(Image Device)에 대한 Class Installer가 없기 때문입니

다. 이것을 사전에 방지하고자 이 컴포넌트를 추가시켜 주시면 드라이버 설치 시 큰 문제는 발생하

지 않을 것입니다.

Multimedia Application Compatibility – 이것은 멀티미디어와 관련된 컴포넌트가 거의 포함 되어 있습

니다. 대표적으로 DX9.0c, Windows Media Player 11.0, Digital TV Support, Analog TV Support 등이

포함 되어있습니다.

Networking Application Compatibility – 이것은 네트워킹과 관련된 컴포넌트가 포함되어 있습니다. 여

기에서 이것을 추가시키지 않은 이유는 시스템 리소스를 많이 잡아먹는 컴포넌트가 들어가 있기 때

문입니다. IIS같은 서버의 기능이 포함되어 있으며, 잘 사용하지 않는 네트워킹 기능이 포함되어 있습

니다. 기본적으로 이 컴포넌트가 없더라도 TCP/IP와 관련된 컴포넌트가 포함되어 있습니다. 이 컴포

넌트를 사용하려 한다면 테스트 후 사용하시기 바랍니다.

Page 29: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

29

Runtime Quick Start Helper Macro – 이것은 빠른 시작을 위해서 사용하는 컴포넌트입니다. 체크 디펜

던시 할 때 에러가 날만한 사항(Logon, Language, Shell, File system등)을 미리 추가 시켜놓은 것입

니다. 이것은 너무 고정적이기 때문에 잘 사용을 하지 않습니다.

Shell Application Compatibility – 이것은 제어판과 관련된 컴포넌트들이 포함되어 있습니다.

Software – System – User Interface – Shells – Windows Shell에 있는 컴포넌트 목록이 모두 포함되

어 있다고 보시면 됩니다. 세팅 부분을 보셔서 필요하지 않는 컴포넌트는 제거 하시기 바랍니다.

Ex)Games, Speech Control Panel등등.

Test Application Compatibility – 이것은 응용프로그램에 대한 문제점 해결을 위해 모든 매크로 컴포

넌트를 포함하고 있는 것으로서 대부분의 컴포넌트를 포함하고 있기 때문에 용량이 상당히 커지게

됩니다.

Windows Application Compatibility – 이것은 응용프로그램이 작동하기 위해 기본적으로 필요한 컴포

넌트의 모음입니다.

Windows Management Instrumentation Technologies – 이것은 WMI에 관련된 컴포넌트로서 시스템

관리 측면의 기능들이 포함되어 있습니다. 주의)이것을 추가하면 IIS가 자동으로 추가됩니다.

MinKernel Sample Macro – 이것은 XPE가 부팅이 되기 위한 가장 최소한의 컴포넌트를 가지고 있는

매크로 컴포넌트입니다. 커널 부분이기 때문에 이것으로 이미지를 만들면 아무것도 안 나옵니다. 상

징적인 의미가 큽니다.

MinLogon Sample Macro – 이것은 Minlogon으로 만들 수 있는 최소의 컴포넌트를 포함하고 있습니

다. 사이즈도 15메가 정도 되며, Command Shell로 부팅이 가능합니다.

WinLogon Sample Macro – 이것은 Windows logon을 만들 수 있는 최소의 컴포넌트를 포함하고 있

습니다. 사이즈는 80메가 정도 되며, Explorer Shell로 부팅이 가능합니다.

위의 3개의 Sample Macro 컴포넌트는 pmq파일을 import하지 않더라도 부팅이 가능합니다. 가장 기

본적인 디바이스만 적용이 된다고 보시면 됩니다. 사이즈를 줄일 때 주로 사용하며, 최적의 OS를 만

들 수 있습니다. 단 컴포넌트를 많이 알아야 하며, 시간이 많이 걸립니다.

Page 30: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

30

[컴포넌트 추가]

WES에서는 수 많은 컴포넌트가 있습니다. 대부분 하드웨어관련 컴포넌트이지만, 기능에 관련된 컴

포넌트도 무척 많습니다. 이것을 다 알기란 힘듭니다. 그래서 처음 접하시는 분들께서 WES를 힘들

게 생각하십니다. 그런 분들을 위해서 자주 사용하는 컴포넌트에 대해서 간략하게 정리하려고 합니

다. 이 부분은 추후에 업데이트가 계속 될 것입니다.

컴포넌트는 크게 두 가지로 나누어 집니다. H/W와 S/W로 나누어 지는데 S/W부분을 살펴 보도록 하

겠습니다. S/W를 확장하시면 4개의 폴더가 나옵니다. 이 중에서도 System부분이 WES의 기능과 관

련된 컴포넌트가 포함되어 있습니다.

모든 컴포넌트에 대한 설명보다는 중요한 컴포넌트 위주로 설명하겠습니다.

Accessibility: 보조 프로그램과 관련된 컴포넌트가 포함되어 있습니다. 여기에 있는 컴포넌트는 잘

사용하지 않습니다.

Page 31: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

31

OEM System Extensions: OEM이 시스템 관련 컴포넌트를 만들었을 경우 이곳에 저장하라고 만들어

놓은 곳입니다.

Management: 시스템 관리에 필요한 컴포넌트가 있습니다.

Infrastructure에는 WMI, MSMQ, ADSI등이 포함되어 있습니다. 일반적인 경우에는 잘 사용하지 않는

컴포넌트입니다.

Applications - Windows Installer Service: 응용프로그램 설치를 위해서 반드시 있어야 함.

Page 32: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

32

International: MUI와 언어에 관한 컴포넌트가 포함되어 있습니다.

다른 언어를 포함하고 싶으시면 **** Language Support를 추가 시키시고 체크 디펜던시하시면 됩니

다. 한글 언어 입력 또는 다국어 입력이 필요하시면 Microsoft Korean IME Core 컴포넌트를 추가 시

켜야 합니다.

Multimedia & Graphics: DirectX 9.0c와 Windows Media Player 9와 같은 멀티미디어 관련 컴포넌트가

포함되어 있습니다. 필요하신 기능에 대해서는 주로 매크로 컴포넌트를 이용합니다.

Infrastructure에는 OpenGL을 사용할 수 있도록 하는 OpenGL Support컴포넌트가 있습니다.

Page 33: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

33

System Services: 이 곳에는 시스템 서비스와 런타임 라이브러리 등 많은 기능에 관련된 컴포넌트가

포함되어 있습니다.

Generic USB Input Device Support컴포넌트는 USB장치를 사용하기 위해 필요한 컴포넌트입니다. 많

은 USB 장치에 관한 드라이버가 포함되어 있습니다.

Base 중요 컴포넌트

Administration Support Tool -> 관리 도구 툴

CDFS –> CD 파일 시스템(시디 롬에서 시디를 읽기 위해 필요.)

UDFS -> DVD를 읽을 수 있게 함.

EWF관련 컴포넌트 –> XPE를 보호하기 위해 필요한 컴포넌트

CMD –> 커맨드 창

IMAPI – CD Burning -> 탐색기 창에서 시디를 구울 수 있도록 함.

Other 중요 컴포넌트: .NET Framework 컴포넌트

Application Support 중요 컴포넌트

C runtime Library

Dos Windows on Windows Support(16비트 응용프로그램을 호환하게 함)

Jet database Engine ->데이터 베이스 관련 ODBC, OLEDB, DAO등..

Visual Basic Runtime Libraries

Printing & Imaging : 프린터 관련 컴포넌트가 포함되어 있습니다.

주로 매크로 컴포넌트를 이용합니다.

Page 34: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

34

User Interface : 쉘 인터페이스와 제어판 관련된 컴포넌트가 포함되어 있습니다.

Windows Shell 부분을 통해서 XP Pro와 비슷하게(겉 모습만) 만들 수 있습니다.

Shell Application Compatibility 컴포넌트를 추가 시키면 Windows Shell의 컴포넌트들을 한꺼번에 추

가 시킬 수 있습니다. Windows Shell에 어떤 컴포넌트가 포함되어 있는지 꼭 한번 보시기 바랍니다.

Storage & File Systems : 디스크 관리와 관련된 컴포넌트가 포함되어 있습니다.

대부분 중요한 컴포넌트는 자동으로 디펜던시 됩니다. 특정 저장장치를 사용하거나 디스크 관리 같

은 기능(Disk Management MMC Snap-In)이 필요하다면 이곳에서 컴포넌트를 추가 시켜야 합니다.

Networking & Communications : 네트워킹과 통신에 관한 컴포넌트가 포함되어 있습니다.

Networking Application Compatibility컴포넌트를 추가시키면 네트워킹에 관련된 모든 컴포넌트를 추

가 시킬 수 있습니다.

Applications

Network Command Shell -> cmd에서 netsh을 통해서 ip를 변경 할 수 있습니다.

TCP/IP Utilities -> ping, ipconfig, route등.. tcp/ip 유틸 제공.

Infrastructure ->IIS, MSMQ등이 포함.

Computer Name User Interface -> 컴퓨터 이름을 바꿀 수 있도록 합니다.

Windows Firewall Control Panel -> 방화벽을 제어할 수 있습니다.

Page 35: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

35

Security: 보안과 관련된 컴포넌트가 포함되어 있습니다.

Infrastructure

Automatic Logon –> 자동 로그인을 가능하게 해줍니다. 이 컴포넌트를 추가시키시고, 세팅

에서 사용자 ID와 PASSWORD를 미리 넣으시면 부팅 시 자동으로 로그인 됩니다.

Smart Card Reader Driver Library -> 스마트 카드를 사용하기 위해서 필요한 컴포넌트 입니

다. 이 컴포넌트는 디펜던시가 걸려있지 않아서 따로 추가시켜야 합니다.

User Account -> 사용자 계정을 설정 할 수 있는 컴포넌트입니다. 컴포넌트를 선택 후

Settings를 누르시면 아래와 같은 화면이 나옵니다.

Username과 Password를 설정하시면 계정이 만들어진 체로 XPE 이미지를 만들 수 있습니다.

User Type은 사용 허용 정도에 따라 Administrator, Power User, User, Guest 중에서 설정하

시면 됩니다.

Page 36: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

36

Applications -> Dr. Watson Debugger 등 기타 컴포넌트가 들어있습니다.

지금까지 System 부분의 컴포넌트 중에 중요한 것을 요약해서 설명 드렸습니다.

포팅 시 기본적인 응용프로그램이 동작할 수 있도록 컴포넌트 목록을 정리하겠습니다.

1. Test & Development 안에 있는 매크로 컴포넌트

Class Installers / Hardware Compatibility

Windows Application Compatibility

Shell Application Compatibility – Setting 값 조정. 아래의 목록 체크박스 해제

- Desktop Wallpaper (바탕화면)

- Screen Savers (화면 보호기)

- Standard Start Menu Shortcuts(바로 가기 모음: 영문에서만 적용)

- Games (프리셀, 카드놀이 등등)

- User Control Panel (사용자 계정)

- Windows XP Visual Style (XP 테마)

- Phone and Modem Control Panel (전화 및 모뎀 옵션)

- Speech Control Panel (음성)

- 위 사항 외에 필요 없는 항목 체크 박스 해제.

Multimedia Application Compatibility – 이것은 추가하지 않습니다. 이것을 추가하면 사이즈가 많이 커

지기 때문에 멀티미디어와 관련된 컴포넌트 중에 필요한 것만 찾아서 넣는 것이 더 좋습니다.

만약 추가한다면 Setting에서 Windows Media Player Tour 컴포넌트를 체크 해제합니다.

Page 37: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

37

2. Software – System 안에 있는 컴포넌트

Management – Infrastructure - Netmeeting (넷미팅 기능 사용시 추가)

Terminal Server Remote Desktop(원격 접속 사용시 추가)

Applications – MS Config Support Utility (msconfig 사용시 추가)

Windows Installer Service(필수 추가)

International - Infrastructure - Microsoft Korean IME Core (한글입력 사용시 추가)

Multimedia & Graphics - DirectX 9.0c (다이렉스X 사용시 추가)

Kernel Audio Support (오디오 관련 컴포넌트)

Windows Media Player (Light) (필수 추가)

- Infrastructure - OpenGL Support (OpenGL 사용시 추가)

System Service - Generic USB Input Device Support (필수 추가:USB 키보드 마우스 등등 지원)

Base - Administration Support Tools (관리도구 필요시 추가)

Beep Driver(비프음 필요시 추가)

Safe Mode Support(안전 모드 필요시 추가)

Other - .NET Framework 2.0, 3.0 (닷넷 프레임워크 필요시 추가)

Application Support - Jet Database … (데이터베이스 필요시 추가)

Visual Basic 6.0 Runtime Library (VB DLL 필요시 추가)

Printing & Imaging - Client Printing Support (프린터 사용시 추가)

User Interface - Shell Application Compatibility 컴포넌트와 중복

Storage & File Systems - Applications - Disk Management MMC Snap-In (디스크관리)

Networking & Communications - Applications - Network Command Shell (netsh 사용시 추가)

TCP/IP Utilities (ping, ipconfig 사용시 추가)

Infrastructure - Computer Name User Interface (필수 추가)

Windows Firewall Control Panel(방화벽 추가)

위의 컴포넌트 목록에서 필요가 없는 컴포넌트는 추가하지 않으시면 됩니다.

XPE를 최적화 하기 위해서는 이러한 컴포넌트의 관계에 대해서 더 많이 알고 계셔야 가능합니다.

우선 이 정도의 컴포넌트만 알고 계셔도 웬만한 응용프로그램은 잘 동작할 겁니다.

Page 38: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

38

그리고 컴포넌트 중에 User Interface Core라는 컴포넌트가 있습니다.

User Interface Core 컴포넌트의 세팅을 보면 위의 그림처럼 보일 것입니다.

사용자가 원하는 대로 좌측 하단의 시작화면을 만들 수 있습니다. 거의 보여주느냐 안보여 주느냐의

차이인데 거의 대부분 체크 합니다.

그 중에 Show context menu on Shell folders, Show context menu on Task bar 는 반드시 체크해주세요.

마우스 오른쪽 버튼을 눌렀을 시 메뉴를 나오게 하는 체크입니다.

Page 39: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

39

[빌드]

이제 빌드를 해봅시다.

빌드는 메뉴에서 Configuration – Build Target Image를 누르시면 됩니다.

또는 F7을 누르시면 아래와 같은 창이 뜹니다. Build를 누르세요

빌드가 끝나면 밑에 그림에서와 같이 설정된 C:\Windows Embedded Images\test 폴더에 새로운

폴더와 파일이 생성이 됩니다. 폴더를 여시고 그 안에 3개(또는 4개)의 폴더와 4개의 파일을 사용하

고자 하는 드라이브에 카피 하시면 됩니다.

Page 40: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

40

단, C드라이브에 OS를 올리지 않는 경우 TD상의 옵션과 boot.ini 파일을 수정해 주어야 합니다.

C드라이브에 설치하는 경우는 아래와 같습니다.

이제 리 부팅하시면 XPE가 부팅이 되면서 로고 화면이 뜨게됩니다. 그리고 FBA가 시작이 됩니다.

Page 41: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

41

FBA는 First Boot Agent의 약자로 처음 부팅 시에 OS가 구성되기 위한 기본적인 일들을 하는 과정

을 말합니다. PNP 체크, 네트워킹 구성, 보안 설정, 레지스트리 하이브 구성 등 여러 가지 일들을 합

니다. 이 과정에서도 약간의 시간이 걸립니다. 간단하게 커피 한잔 하시면서 기다리시기 바랍니다.

FBA가 완료되면 자동으로 리 부팅이 됩니다. 그리고 위와 비슷한 화면이 나올 것입니다. 화면 우측

하단에 나오는 Windows Embedded Standard라는 글씨는 평가판이라는 표시입니다. 빌드할 때 컨피

그레이션 세팅에서 PID를 넣어야 이 글씨가 없어집니다. 이 글씨가 있으면, 120일간 사용이 가능합

니다. 또한 Service Pack 3라는 표시도 볼 수 있습니다.

평가판 툴킷에는 아래와 같은 메뉴가 없습니다.

Page 42: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

42

[컴포넌트 만들기]

XPE 에서는 드라이버를 이미지상에서 설치할 수도 있고, 미리 컴포넌트로 만든 후 등록시켜서

이미지로 만들 수 있습니다.

컴포넌트를 만들었을 때의 장점은 필요한 파일만을 가지고 컴포넌트를 만들기 때문에 이미지

사이즈를 줄일 수 있고, 이미지를 만들었을 때 드라이브를 설치해야 하는 번거로움을 줄일 수

있습니다. 그리고 드라이버와 관련된 컴포넌트를 사전에 추가가 되기 때문에 드라이버가 안 잡히는

문제를 줄일 수 있습니다.

디바이스 컴포넌트를 만들려면 해당 디바이스의 드라이버를 다운로드 받은 후 inf 을 이용해서

만듭니다. 하지만 디바이스 드라이버에 inf 파일이 없는 경우가 많죠. 압축이 되어 있어서 파일이

하나로 되어 있거나 설치파일만 존재하는 드라이버도 있습니다.

이런 경우 해당 디바이스 드라이버 파일을 추출하기 위해서 MyDriver 같은 유틸을 사용해서 추출해야

합니다. 만약 디바이스 드라이버가 압축되지 않고 파일로 있을 경우에는 그것으로 컴포넌트를

만들면 됩니다.

드라이버가 실행파일로 되어 있다고 한다면, 먼저 MyDriver를 설치를 해야 합니다. MyDriver는

www.yespartner.com의 XPE 자료실에 가면 있습니다. 다운을 받으십시오.

다운 받으시고 더블클릭 하셔서 설치 하시면 됩니다.

Page 43: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

43

영어를 선택 하십시오

Next를 계속 누르시면 설치가 완료 됩니다.

이제 MyDriver를 더블 클릭하셔서 실행하시기 바랍니다.

Page 44: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

44

실행 하셨으면 아래와 같은 화면이 나올 것입니다.

Collect All을 눌러서 디바이스 정보를 가져 옵니다.

디바이스 목록이 나오는 것을 확인 했으면, 추출하고자 하는 드라이버가 있는지 확인합니다.

여기서는 Intel® 82845G/GL/GE/PE/GV Graphics Controller를 컴포넌트로 만들어 보도록 하겠습니다.

원하는 디바이스를 찾았으면 마우스 우측 버튼을 눌러 Backup to specified folder를 선택합니다. 그

러면 디바이스 드라이버와 관련된 파일을 찾을 것입니다.

Page 45: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

45

Start 버튼을 눌러서 드라이버 파일을 추출합니다. 그러면 해당 폴더(C:\My Drivers)에 드라이버 파

일이 생성이 됩니다.

이제 이 파일로 컴포넌트를 만들면 됩니다.

컴포넌트 디자이너를 실행합니다. 메뉴 –file - Import 를 누르시면 아래와 같은 화면이 나옵니다. 여

기에서 해줄 것은 경로 선택과 확장자를 INF로 변경해 주면 됩니다.

MyDriver로 추출한 드라이버에서는 INF파일이 oem#.inf로 생성이 됩니다.

이것을 선택하시고 열기를 클릭합니다.

Page 46: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

46

Automatic을 선택하시고 OK 버튼을 클릭합니다.

아래와 같은 화면이 나오면 Start를 누르세요. 그러면 Import가 시작됩니다.

Page 47: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

47

Import가 종료가 되면 아래와 같은 화면이 나옵니다. 에러는 일단 무시하시고 Close를 누르셔서 컴

포넌트가 생성 되었는지 확인 합니다.

생성된 컴포넌트는 하나가 될 수도 있고 수십 개가 될 수도 있습니다. 그것은 inf파일에 따라 틀립니

다. 여러 컴포넌트가 생성 된다면 그 중에 필요한 컴포넌트만 사용하시고 필요 없으신 컴포넌트는

지우셔도 됩니다. 그러기 위해서는 정확한 디바이스 드라이버 명을 알아야 합니다. 지우시는 방법은

컴포넌트를 선택하시고 우측 버튼을 누르시면 컨텍스트 메뉴 중에 삭제를 누르시면 됩니다.

Page 48: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

48

아래와 같이 컴포넌트를 선택합니다.

그러면 우측 패널에 컴포넌트에 관한 정보가 나옵니다. 이것을 수정해 주시면 됩니다.

기본적인 이름은 추후에 검색하기 쉽도록 컴포넌트 이름에 회사명이나 이니셜 등을 같이 써주는 것

이 좋습니다. 여기에서는 컴포넌트 이름 뒤에 (test)를 덧붙였습니다.

이제 Repositories를 만들어야 합니다. 이것은 컴포넌트가 데이터베이스에 등록이 될 때 컴포넌트에

필요한 파일의 경로를 지정해 주는 것입니다. 되도록이면 컴포넌트 파일과 디바이스 드라이버 파일

을 같은 폴더에 두시는 것이 관리하시기 편합니다.

Page 49: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

49

Repositories 폴더를 우측버튼을 누르면 Add Repository를 눌러서 새로운 Repository를 생성합니다.

여기에서 해주실 것은 Repository Name과 Source Path만 설정해 주시면 됩니다.

Browse…를 눌러서 디바이스 드라이버가 있는 폴더를 지정합니다.

Page 50: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

50

다시 만들어진 컴포넌트를 선택합니다.

Repositories…를 눌러서 조금 전에 생성한 Repository를 선택합니다.

여기까지 설정 하셨으면 이제 저장 하시면 됩니다.

다시 한번 말하지만 디바이스 드라이버 폴더에 저장하시기 바랍니다.

Page 51: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

51

[데이터베이스 Import]

이제 데이터베이스에 등록을 시키는 일만 남았습니다.

등록 시키기 위해서는 Component Database Manager를 실행하셔야 합니다.

그리고 Import를 클릭합니다.

…을 클릭하셔서 컴포넌트 파일(*.SLD)을 찾아서 열기 합니다.

Page 52: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

52

파일을 선택하셨으면 Import를 눌러서 등록을 합니다.

아래와 같이 나오셨으면 컴포넌트 등록이 제대로 된 것입니다.

등록이 된 것을 TD에서 확인을 해야겠지요.

TD를 실행시키시고 Search에서 컴포넌트 이름으로 검색을 합니다.

그러면 만드신 컴포넌트가 보일 것입니다.

Page 53: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

53

[Macro Component 제작방법]

다음은 Macro Component 제작방법에 대해서 알아보겠습니다.

제작방법은 일반적인 Component 제작과 비슷합니다.(Macro Component 에 대한 내용은 29 P 참조)

우선, Component Designer 를 열고, 새로운 문서를 열어줍니다.

Components 항목에서 마우스 오른쪽 클릭 후 Add Component 를 클릭합니다.

Component Properties 부분은 아무 값이나 넣으셔도 상관없습니다. 중간부분의 Prototype 에서 오른

쪽의 Browse 를 누르시고 Selector Prototype Component 컴포넌트를 지정해 줍니다. 그리고 반드시

아래의 Macro component 항목을 체크해줍니다.

Page 54: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

54

다음은 Component or Group Dependency 항목에서 오른쪽 클릭 후 Add -> Component

Dependency 를 클릭해줍니다. 다음은 추가하고자 하는 Component 를 선택 후 더블클릭으로 추가

합니다. 앞서 38, 39 페이지에 소개한 기본 컴포넌트들을 추가해보겠습니다. 추가를 다 하셨으면 저

장을 합니다.

다음은 데이터베이스에 Import를 해주시면 됩니다. Success가 되면 Target Designer에서 확인합니다.

Page 55: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

55

[필터 사용]

간혹 그러한 생각이 들 때가 있을 겁니다. 특정 파일을 검색해서 컴포넌트를 찾는 방법이 있는지 말

이죠. 이런 경우 필터를 이용하면 간단하게 해결이 됩니다.

필터 사용법은 간단합니다. 간단한 규칙을 만들고, 필터를 적용하게 되면, 규칙에 따른 컴포넌트들의

목록이 나타납니다.

아래의 화면은 필터의 메인 화면입니다. New...를 눌러보세요.

Page 56: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

56

새로운 필터를 적용하기 위한 Name을 만들어야 합니다. 이것이 필터이름이 됩니다.

Filter rules부분을 보시면 여러 가지 규칙이 있습니다.

주로 사용하는 규칙은 Component display name contains와 Component contains the following file

이 두 가지입니다. 원하시는 규칙을 더블클릭 하시거나 Add Rule를 누르셔서 추가 합니다.

추가하실 때 Combine using을 결정 하신 후 추가 하셔야 합니다.

예를 들면 파일 두 개를 모두 포함하는 컴포넌트를 찾으려면 Component contains the following file

규칙을 AND형태로 두 개 추가 시키시면 되고, 각각의 파일에 대한 컴포넌트를 찾으시려면 OR의 형

태로 추가 시키시면 됩니다.

Page 57: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

57

지금부터 파일명을 알았을 때 컴포넌트 찾는 방법에 대해서 알아보겠습니다.

XPE를 포팅 했을 대 ping을 통해서 네트워크 점검을 하려고 합니다. 하지만 기본적으로 ping 컴포

넌트는 포함되지 않죠. 이것이 어떤 컴포넌트에 포함되어 있는지 찾아보겠습니다.

File: ping.exe

위의 파일을 필터를 이용해서 관련된 컴포넌트를 찾아보겠습니다.

Component contains the following file을 추가 시킵니다.

그리고 Filter description에서 규칙을 더블 클릭해서 파일명을 입력합니다.

입력을 완료했으면 OK를 클릭하시고 Apply Filter를 클릭합니다.

약간의 시간이 지나면 아래와 같이 파일을 포함한 컴포넌트를 찾습니다.

Page 58: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

58

EWF (Enhanced Write Filter)

XPE의 특정 기능 중에 가장 많이 사용하는 것이 EWF입니다.

이것은 디스크를 보호할 뿐 아니라 시스템 파일까지 보호하는 일석이조의 효과를 누릴 수 있습니다.

원리는 간단합니다. 운영체제와 디스크의 중간에 오버레이(램 또는 디스크)를 둠으로써 디스크의 쓰

기가 이루어 질 때, 오버레이에 쓰기가 이루어지도록 만드는 것입니다.

아래의 그림을 보시면 이해가 빨리 될 것입니다.

위의 그림은 EWF가 보호되고 있는 시점에서 쓰기가 이루어질 때 어떻게 진행되는지 나타냅니다. 직

접적으로 파티션에 쓰기가 되지 않고 오버레이 영역에 파일이 복사되는 것이죠.

즉 EWF가 보호되고 있다면 외부에서 파일을 카피하거나 시스템 설정을 했을 경우 실제로 디스크에

서 카피되거나 설정되는 것이 아닌 오버레이 영역에서 되는 것입니다. 이때 램 오버레이를 사용한다

면 리부팅을 하게 되면, 카피하거나 설정된 것이 모두 사라지게 됩니다.

PPaarrttiittiioonn

FFiillee ssyysstteemm

EEWWFF OOvveerrllaayy

((RRAAMM oorr DDiisskk))

WWrriittee

AApppplliiccaattiioonn

Page 59: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

59

위의 그림은 EWF가 보호되고 있는 시점에서 읽기가 이루어질 때 어떻게 진행되는지 나타냅니다. 읽

기에서는 오버레이가 우선시 되며, 그 후에 파티션에서 파일이나 설정사항을 읽어옵니다. 그렇기 때

문에 오버레이에 파일이나 설정사항이 저장되어 있다면 그 사항들이 적용이 된 상태로 실행이 됩니

다.

EWF에서 오버레이는 램과 디스크 방식이 있습니다. 여기에서는 가장 많이 사용하며, 사용하기 쉬운

EWF 램 레지스트리 컴포넌트를 통해서 적용시키는 방법에 대해서 알아보겠습니다. 이 문서는 기초

적인 문서이기 때문에 자세한 사항은 생략하며, 기본적인 사용법에 대해서만 설명하고자 합니다.

EWF에 관한 자세한 내용은 Windows XP 임베디드 실전 가이드를 참고하시기 바랍니다.

기본적으로 EWF를 적용시키기 위해서 필요한 컴포넌트는 아래와 같습니다.

Enhanced Write Filter: 런타임 이미지에 EWF를 적용하기 위해 필요

EWF Manager Console Application: EWF를 관리하기 위해 필요

Enhanced Write Filter API: 응용프로그램의 인터페이스에 EWF를 제어하기 위해 필요

EWF NTLDR: Custom NTLDR

PPaarrttiittiioonn

FFiillee ssyysstteemm

EEWWFF

RReeaadd

AApppplliiccaattiioonn

OOvveerrllaayy

((RRAAMM oorr DDiisskk))

Page 60: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

60

아래는 FP 2007로 업그레이드 했을 때의 EWF 세팅 창입니다.

오버레이 형식을 RAM(Reg) 방식을 사용할 것을 추천 드립니다.

RAM 방식이나 DISK 방식은 빈 파티션 공간이 있어야 하기 때문에 사용하기가 불편합니다.

그리고 Start EWF Enabled 옵션을 체크하시지 마시기 바랍니다. 처음에 OS가 부팅되서 EWF가 적용

되어 있으면 OS 설정을 할 수 없습니다.

Page 61: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

61

빌드 후 확인 방법은 CMD창에서 할 수 있습니다.

XPE 이미지에서 시작 – 실행 – CMD

CMD창에서 EWFMGR C: 라고 하시면 관련 정보가 나오는 것을 확인하실 수 있을 겁니다.

명령어는 네 가지를 주로 사용합니다. 특이한 점은 EWF 명령어들은 부팅 후 적용이 된다는 것입니

다. 이것을 잊지 마십시오.

EWFMGR C: -enable

이것은 EWF를 활성화 시키는 명령어입니다. 이 명령어를 실행했다고 해서 바로 적용되는 것이 아니

라 부팅 후 적용이 되기 때문에 리부팅 해주셔야 합니다.

EWFMGR C: -commit

이것은 EWF가 활성화 된 상태에서 오버레이 영역에 있는 데이터를 실제 파티션으로 옮기는 명령어

입니다. 즉 EWF 적용된 상황에서 외부로부터 카피를 하거나 설정을 바꾸었을 경우 이 명령어를 내

리면 실제적으로 적용이 된다는 것입니다. 이 명령어도 리부팅을 하셔야 합니다.

EWFMGR C: -disable

이것은 EWF가 활성화 되었을 때 비 활성화로 만들어 주는 명령어 입니다. 한마디로 EWF를 해제하

는 것입니다. (EWF RAM Reg 방식일 경우에는 이 명령어가 작동이 안됩니다.)

EWFMGR C: -commitanddisable

이것은 EWF가 활성화 되었을 때 현재 적용된 상태를 실제파티션에 적용시키고 EWF를 해제시켜주는

명령어입니다.

EWFMGR C: -commitanddisable -live

이것은 위의 명령어에 –live옵션으로 인해 재부팅을 하지 않아도 commitanddisable 상태로 변환 됩

니다. 다시 한번 말하자면 –live를 제외하고 위의 명령어들은 리부팅이 이루어져야 적용이 됩니다.

EWF를 더욱 자세히 알고자 한다면 MSDN이나 XPE 실전가이드를 참고하십시오.

Page 62: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

62

HORM(Hibernate Once Resume Many)

EWF의 사용으로 디스크 및 시스템 파일을 보호하는 효과를 누릴 수 있게 되었지만, 사용자들은 좀

더 빠른 부팅과 특정한 응용프로그램 및 서비스를 동작시키기 위해 HORM 기능을 사용하게 되었습

니다. XPE의 HORM 기능은 XP Pro의 최대절전모드와는 다르게 한번 하이버네이션을 실행시키면 그

다음 부팅부터는 계속 같은 구성으로 부팅이 되도록 설정이 됩니다.

먼저 HORM 기능을 사용하기 위한 제약사항은 다음과 같습니다.

반드시 EWF RAM 혹은 RAM reg 모드를 사용해야 합니다.

그러면 HORM 기능을 사용하기 위한 컴포넌트 및 설정방법에 대해서 알아보겠습니다.

컴포넌트는 기본적으로 EWF 관련 컴포넌트와 추가적으로 몇가지가 더 필요합니다.

1. HAL 컴포넌트 중 하나를 반드시 추가하시고 Setting에서 그림과 같이 체크해줍니다.

ACPI Multiprocessor PC

ACPI Uniprocessor PC

Advanced Configuration and Power Interface (ACPI) PC

Compaq SystemPro Multiprocessor or 100% Compatible

MPS Multiprocessor PC

MPS Uniprocessor PC

Standard PC

Page 63: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

63

2. Enhanced Write Filter 컴포넌트에서 Enable Hibernate-Once-Resume-Many Mode (HORM)에 체크

해줍니다.

3. Power Management Application 컴포넌트를 추가해줍니다. 이 컴포넌트를 추가하여 XPePM이라는

명령어를 사용할 수 있게 됩니다.

XPePM 명령어는 다음과 같습니다.

Page 64: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

64

하이버네이션을 실행시키려면 다음 그림과 같이 입력합니다.

그러면 다음과 같이 실행됩니다.

이제 재부팅하시면 명령어를 입력하는 순간으로 되돌아가게 됩니다.

간혹 HORM 기능을 사용하기 위해 명령어를 입력하면 에러가 발생하는 경우가 있습니다. 대부분이

제어판-전원 옵션에서 최대 절전 모드가 나타나지 않은 경우 hiberfil.sys파일이 생성되지 않아서 발

생하는 오류입니다. 이를 해결하기 위해서는 컴포넌트가 정확히 추가 되었는지 확인해주셔야 하며,

또한 Graphic Driver가 정상적으로 올라가 있는지도 반드시 확인을 해주셔야 합니다.

하이버네이션이 상당한 장점들로 구성되어 있지만, 명령어를 입력하는 동작까지도 같이 저장이 되어

버리기 때문에 이를 해결하시려면 API를 이용하여 버튼 혹은 단축키로 사용하셔야 하는 어려움이 있

습니다. 따라서 사전에 충분한 테스트를 거쳐 사용하시길 권장드립니다.

Page 65: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

65

USB 부트 (FP 2007)

기존 XPE SP2 에서는 여러 가지 저장장치로 부팅할 수 있습니다.

그 예로 HDD, DOM, CF, DOC, uDOC, CD-ROM 등이 있습니다.

하지만 USB 메모리로는 부팅이 되지 않았습니다.

이번에 새롭게 나온 Feature Pack 2007 에서는 USB 메모리로 부팅할 수 있는 기반을 마련했습니다.

이제 사용자들은 이 새로운 기능을 어떠한 방식으로 사용할 지 생각해야 할 것입니다.

USB 부트를 사용하기 위해서는 제약 사항이 있습니다.

XPE FP2007 사용

메인보드에서 USB HDD 부트 지원

최소 11MB/s 의 속도를 가진 NAND SLC 장치

USB 2.0 지원

위와 같은 조건이 만족해야 정상적으로 작동시킬 수 있습니다.

요즘 나오는 USB 메모리나 메인보드일 경우에는 대부분 만족할 것입니다.

하지만 부팅 시간이 늦은 관계로 제품에 직접 탑재하기는 어려울 것 같습니다.

그래도 복구나 배포 등 여러 용도로 사용이 가능할 것입니다.

Page 66: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

66

[적용 예]

아래 그림은 USB 부트를 이용한 간단한 예입니다. USB 메모리에 부트 가능한 XPE 이미지를

만듭니다. 여기에 타겟 보드에 들어 갈 이미지를 다시 만듭니다. 그 이미지는 폴더에 저장하고 USB

부트로 부팅을 합니다. 그리고 타겟 보드의 저장장치를 포맷하고 미리 준비한 이미지를 복사합니다.

이러한 방법으로 타겟의 OS 를 변경하거나 배포할 수 있습니다.

만드는 방법은 간단합니다.

기존 XPE 구성 파일인 SLX 파일을 열어서 USB 관련 컴포넌트를 교체하고 USB 메모리를

UFDPREP.EXE 로 포맷을 시켜주시면 됩니다.

Page 67: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

- -

67

[USB 부트 만드는 순서]

1. XPE 컴포넌트 구성

위의 내용을 참조하여 구성합니다.

2. 컴포넌트 교체

기존 컴포넌트를 USB 부트를 할 수 있는 컴포넌트로 바꿔줍니다.

추가해야 할 컴포넌트 삭제해야 할 컴포넌트

USB 2.0 Common USB 2.0

USB NT Hardware Detect NT Hardware Detect

USB Boot 2.0 USB Root Hub

USB Boot Mass Storage Device USB Mass Storage Device

컴포넌트 목록에서

Software - System - System Services - Base 에 있습니다.

추가를 하면 아래와 같이 나올 것입니다.

Page 68: 가이드20Embedded...가이드 - - 15 [포팅 과정] 포팅을 하기 위해서는 개발 PC와 타겟 보드, 타겟 보드에서 사용할 저장 장치가 있어야 합니다

Windows Embedded Standard

초보자 가이드

68

회색으로 처리 된 것은 disable 한 것입니다.

disable된 컴포넌트는 빌드 시 포함 되지 않습니다.

3. 빌드

주의 하실 점은 빌드 시 디펜던시 체크를 하시면 안됩니다.

컴포넌트들이 기존의 USB 컴포넌트를 다시 추가 할 수 있습니다.

만약 디펜던시 체크를 해야 하는 상황이 온다면 메뉴 - Tools - Options - Dependency Check 탭에

서 Auto-resolve dependencies 에 체크를 해제 한 후 하시기 바랍니다.

4. ufdprep.exe를 이용해서 USB 메모리를 포멧

C:\Program Files\Windows Embedded\utilities\ 에 ufdprep.exe 파일이 있습니다.

ufdprep <usb 드라이브 명>을 입력하셔서 포멧 합니다.

예를들어 usb 드라이브가 K: 라면

C:\Program Files\Windows Embedded\utilities>ufdprep.exe k: /ntfs (반드시 NTFS로 해주셔야 합

니다.

위와 같이 입력하시면 됩니다.

5. 포맷이 끝났다면, 이미지를 USB 메모리에 복사

6. 타겟 보드에 USB 메모리를 장착하시고 BIOS에서 USB-HDD 부트로 설정 하신 후 테스트 합니다.