본문 바로가기

Hello CE,Mobile

Windows CE 5.0(AKU 3.0) Build Commands

Windows CE 5.0(AKU 3.0) Build Commands

   

   

1. Build All(BuildScript 파일내용)

- UpdateLoaderEnv.bat -> blddemo.bat clean -q

- BaseOSEnv.bat -> blddemo.bat clean q

-

1. UpdateLoaderEnv.bat

BuildScripts 폴더

public\common\oak\misc\wince.bat ARMV4I uldr Robin_20060816_ZH16 실행

Wince.bat

여러가지 환경 변수를 설정한는 배치 파일

%1 %2 %3 매개변수가 들어가야 한다

%1 : %TGTCPU%

%2 : %TGTPROJ%

%3 : %TGTPLAT%

wince.bat 실행하기전 %_WINCEROOT% 환경변수가 설정되어 있어야

*.BIF 파일 생성 (%_FLATRELEASEDIR% 디렉토리에 %1, %2, %3 이름의 BIF 파일생성)

아래 배치 파일도 같이 수행된다

Senenv.bat : 파일 없음 (_WINCEROOT%\Developr\%USERNAME%)

%TGTPLAT%.bat : BSP 폴더명과 동일한 .bat 파일 실행

%TGTPROJ%.bat : %_PROJECTROOT%폴더의 %TGTPROJ%.bat 파일 실행

%_WINCEROOT%\Setdrv.bat : 파일 없음

%_WINCEROOT%\Public\Common\Oak\Misc\Etkenv.bat : IMGNODEBUGGER to 1

2. blddemo.bat clean q (%_MAKEENVROOT % 폴더에 있음)( public\common\oak\misc)

To build and create a run-time image. 아래 3 단계를 수행

cebuild.bat

buildrel.bat

makeimg.exe

기타 options

%MAKEIMG_BIN_FORMAT% 환경변수가 "imageupdate" 이면 nk.bin 대신 flash.dio 파일생성

현재 wpc 경우. upld 경우는 nk.bin 생성

  

Cebuild.bat

%_WINCEROOT%\Public\Tree 디렉토리에서 _DEPTREES 환경변수에 설정된 폴더에서 Build.exe 실행.

위와 동일 폴더에서 Sysgen.bat p Tree 실행

%_PLATFORMROOT%\%_TGTPLAT% 에서 Build.exe 실행

Buildrel.bat

To copy files for a run-time image to %_FLATRELEASEDIR% directory

아래 디렉토리를 release 디렉토리로 copy

%_PROJECTROOT%\Cesysgen\Oak\Files

%_PROJECTROOT%\Oak\Files

%_PLATFORMROOT%\%_TGTPLAT%\Files

%_PROJECTROOT%\Cesysgen\Oak\Target\%_TGTCPU%\%WINCEDEBUG%

%_PROJECTROOT%\Oak\Target\%_TGTCPU%\%WINCEDEBUG%

%_PLATFORMROOT%\%_TGTPLAT%\Target\%_TGTCPU%\%WINCEDEBUG%

Makeimg.exe

Perform all processing in the %_FLATRELEASEDIR% directory.

The Ce.bib file define which binaries and files are to be included in the run-time image.

By defaul, the run-time image is named NK.bin.

여러 exe 실행하나 중요한 것만 기술(기타 내용은 MSDN makeimg.exe 참조)

Fmerge.exe 여러 환경파일 소스들을 하나의 파일로 합친다.

common.bib + config.bib + project.bib + platform.bib = ce.bib

common.reg + project.reg + platform.reg = reginit.ini

common.dat + project.dat + platform.dat = initobj.dat

common.bd + project.db + platform.db = initdb.ini

3. BaseOSEnv.bat

BuildScripts 폴더

public\common\oak\misc\wince.bat ARMV4I wpc Robin_20060816_ZH16

wpc 부분만 다름

기타 변수 설정(makeimg_bin_format, skutype, dpi, imgpocketmsn, imgpocketmsnts)

    

   

 2. Buildpkg.bat ( public\common\oak\bin\i386 )

To merge all the .cpm and .crf files

This batch file creates Packages.cpm.csv.merged and Packages.crf.merged

MergePDK.exe

Buildpkg.bat 배치 파일 안에 diskimage.bat 배치파일이 들어 있음.(필해 배치파일 확인)

When you run BuildPkg.bat, the following packaging tools are called :

MergePkd.exe

SettingsCollision.exe

ShadowOrderTool.exe

MakeRGU.exe

RGUComp.exe

MakePkg.exe

PackageGenerator.exe

Relmerge.exe (PacageGenerator.exe then uses the Relmerge tool.)

When BuildPkg.bat has completed, the Disk Image tool then runs and uses

the <Pkg_Friendly_NameX>.pkg.cab output files from BuildPkg.bat

아래 내용은 log 파일을 참조해서 작성(buildpkg > 로그파일명)

1. postproc \release\WPC\postproc ??

*** Filtering PKD files into

C:\WM600\release\WPC_Robin_20061120_ZK20_Retail\WPC\postproc ***

  

2. MergePKD.exe

Used the _FLATRELEASEDIR to search for all the package definition, .pkd.xml, files.

Read all the .pkd.xml files and merge them into a single package definition,

Packages.pkd.xml.merged

3. settingscollision.exe

settingscollision.exe 경로명 reginit.ini cexipmodl.cpm.csv.merged packages.pkd.xml.merged

packages.crf.merged

reginit.ini : Merged reg file

cexipmodl.cpm.csv.merged : Merged component to package mapping file

packages.pkd.xml.merged : Merged package definition file

packages.crf.merged : Merged component relationships file

4. ShadowOrderTool.exe

Shadow file(Packagename.psf.csv)

Generate a package shadow file, <Packagename>.psf.csv

The .psf.csv file for a package lists the GUIDs of shadowed packages

The following files are inputs for the .psf.csv file :

Merged component to package mapping, .cpm.csv, file

Merged component relationship, .crf, file

Merged package definition, .pkg.xml, file

The shadow order tool output file, .psf.csv file, is a text file. Each line in the .psf.csv file has

Following format :

<Shadowed Pkg GUID>, <Shadowed Pkg Name>, <Rule>

Ex)

273ce4bf-d4ef-4771-b2ce-6fe2fa2b2666, SMARTFON, SHADOWS

ShadowOrderTool.exe ~\releas\WPC\packages.crf.merged cexipmodl.cpm.csv.merged

~\release\WPC\packages.pkd.xml.merged

5. MakeRGU.exe

The MakeRGU.exe application maches the registry entries in Reginit.ini to packages in a

Merged .pkd file based on the mappings from a merged .cpm file.

The following files are the outputs of the MakeRGU.exe application:

A series of <GUID>.rgu files (one per package)

A special Boot.rgu file that is converted into the boot hive

A Default.rgu file

레지스트리 관련 내용(Ref. MSDN)

MakeRGU.exe ~\release\WPC\packages.pkd.xml.merged cexipmodl.cpm.csv.merged

~\release\WPC\reginit.ini

6. RGUComp.exe

RGUComp generates Boot.hv and outputs the contents of a registry hive file.

RGUComp.exe -b

7. MakePKG.exe

MakePkg.exe performs the following operations:

Processes package definition files, both merged and single form.

Processes component to package mapping files.(.cmp.cvs)

Processes CE.bib files to extract the appropriate file information.

Generates formed XML files containing the file information for the packages extracted from

the package definition files.

The input files for MakePkg.exe are:

Merged package definition (.pkd) files

Component to package mapping, .cpm.csv, files

CE.bib file

MakePkg.exe generates the following file as output:

Build side manifest, .bsm.xml, file

(The build side package is created for each package specified in the command line.)

MakePKG.exe packages.pkd.xml.merged cexipmodl.cpm.csv.merged ce.bib

8. PackageGenerator.exe

The Package Generator, PackageGenerator.exe, automates the creation of package files that contain full versions of all of the files defined by the package definition files.

The PackageGenerator.exe tool performs the following operations:

Parses a package definition file, which consists of one or more package definitions with

each package encoded as an XML document entry.(.pkd.xml)

Parses a package shadow file, which is determined based on the contents of the package

definition file.(.psf.csv)

Parses a build manifest file, which is determined based on the contents of the package

definition file.(.bsm.xml)

Finds each file specified within a build manifest file, and then determines file type.

단계에서는 모두 Merged 파일을 사용

버전에 따라 옵션이나 사용법이 약간 틀릴 있음.

The input files for PackageGenerator.exe are:

Merged package definition file

Build manifest files

Shadow order files

The following files as output

Devices side manifest files(These files are placed under the new directory)

Canonical package, .pkg.cab, files (.cab.pkg (?))

PackageGenerator.exe ~\release\WPC\packages.pkd.xml.merged

9. diskimage.bat 배치 파일로 넘어감

10. ~release\WPC\postbuildpkg.bat

11. log 파일 생성 종료

   

   

   

   

   

3. diskimage.bat( public\common\oak\bin\i386 )

SKUMerge.exe

MakeCIF.exe(Device-side Compression Info File Generator)

ShadowCalcEng.exe(Shadow Calculation Engine)

1. SKUMerge.exe

Merge image manifest, or SKU, files together in proper shadow order.

Input files to SKUMerge are processed in the following order

%_TGTPROJ%.sku.xml (wpc.sku.xml)

%SKUTYPE%.sku.xml(PHONESKU.sku.xml)

Oem.sku.xml

Output file is %_TARGETPLATROOT%.sku.xml(Robin_2006xxxx_xxxx.sku.xml)

skumerge.exe (매개변수 없이 실행)

2. MakeCIF.exe

MakeCIF converts a merged SKU file, and produces a Compression Info File with compress-

ion flags for each package listed in SKU along with default values for all new packages install

-ed on the device.

(sku.xml 파일을 이용해서 패키지들을 압축할 있도록 CIF 파일을 생성 한다)

The ouput of MakeCIF.exe is included in the Disk Image metadata package.

makecif.exe Robin_20061120_ZK20.sku.xml packages.cif

3. ShadowCalcEng.exe

ShadowCalcEng.exe queries for the shadow information and filters based on the contents of the .

Output file is .sof

shadowcalceng.exe ~release\WPC\packages.cif ~release\WPC\packages.sof

[makeimg.bat MSDN 없고 batch 파일에 있는 내용]

4. RGUComp.exe

RGUComp.exe generates Boot.hv and ouputs the contents of a registry hive file.

RGUComp.exe

5. PackageGenerator.exe(buildpkg 단계에 있음. 여기선 매개변수만 다름 )

PackageGenerator ~release\WPC\metadata.pkd.xml

OEMpreDskImage.bat 파일이 없는 관계로 호출이 안됨

6. dskimage.exe

%_TGTPLAT%.cfg.xml 파일과 %_TGTPLAT%.sku.xml 파일을 이용해서 이미지 파일 생성

상세내용은 MSDM 참조

dskimage.exe ~release\WPC\%_TGTPLAT%.cfg.xml

~release\WPC\%_TGTPLAT%.sku.xml

dskimage.exe 했을 경우 생성 되는 파일

FLASH.DIO FLASH.DIO.alloc

FLASH.DIO.cfgdata FLASH.DIO.info FLASH.dio.postproc

7. 로그 생성 종료

   

4. ETC. Compile commands

1.Build.exe

dir 파일을 찾고 sources 파일을 찾음

Nmake.exe 실행해서 compile link

%PROJECTOAKROOT%(\oak) compile 파일을 위치시킴

exe, dll : Target\%_TGTCPU%\%WINCEDEBUG%. 폴더에 파일 생성

lib : Lib\%_TGTCPU%\%WINCEDEBUG%. 폴더에 파일 생성

WINCEREL 환경변수가 정의 되어 있으면 exe, dll 파일은 release 디렉토리에도 복사

  

2.sysgen

Public\common\ 아래의 폴더를을 build 하기 위한 명령

폴더를 프로젝트라 하고 "sysgen p 프로젝트명" 하면 wpc\cesysgen\oak\taget 폴더에

Dll 파일들이 생성됨

프로젝트의 cesysgen\makefile 내용대로 build ..

Public 있는 dll 따로 build 없을 사용

Sysgen 경우 public\common 폴더가 default build

3.nmake

Makefile 이용한 build

ex) public\common\cesysgen\makefile 안의 ufnmdd 라고 정의 부분이 있음

nmake ufnmdd makefile

   

2. flash.dio 파일이 flash.bin.nb0 생성되는 과정

%_TGTPLAT%.cfg.xml 파일과 %_TGTPLAT%.sku.xml 파일에 의해 생성

cfg.xml : FLASH 메모리 설정에 관한 파일

sku.xml : 패키지 설정에 관한 파일 

   

원본 위치 <http://blog.naver.com/PostView.nhn?blogId=bulhee78&logNo=90017788400&redirect=Dlog&widgetTypeCall=true&topReferer=http%3A%2F%2Fsearch.daum.net%2Fsearch%3Fw%3Dtot%26t__nil_searchbox%3Dbtn%26q%3DRelmerge.exe>

   

'Hello CE,Mobile' 카테고리의 다른 글

Kernel IO 추가하는법  (0) 2010.11.10
Make image 중 PKG error 발생하는 case 중  (0) 2010.11.10
레지스트리 수정모음 II  (0) 2010.11.04
레지스트리 수정모음 I  (0) 2010.11.04
; @CESYSGEN IF CE_MODULES_XXX   (0) 2010.11.04