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 |