Temp

[iCN 510/520] 커스텀 롬 제작 및 플래싱

Hanulgoh 2011. 8. 22. 17:03

  아래는 Navman의 iCN 510/520 을 위한 커스텀 롬 제작 및 플래싱 방법입니다. 확인해보지 않았으나, Mio 브랜드 제품도 유사한 하드웨어 구조 및 부트로더를 사용하는 관계로 가능하리라 생각합니다. 이를 응용하면, 해당 기기에서 맵피와 같은 국내 어플리케이션을 소프트리셋 없이 사용할 수 있습니다(나만의 첫화면, 기본 로케일 변경, 한글 폰트 내장 등).


I. 롬 덤프
  준비물: 본체, USB 케이블, 32MB 이상의 SD/MMC 카드, 덤프 관련 유틸리티.


  1. 위의 파일을 다운로드 한 뒤, 압축을 풉니다.
  2. romdumptoCF.exe를 기기의 \My Flash Disk\Backup으로 옮깁니다.
    (XP의 경우 ActiveSync, Vista 이상의 경우 WMDC; Windows Mobile Device Center를 이용)
  3. \My Flash Disk\Backup에 위치한 AppStartupSec.exe를 다른 이름으로 바꿔줍니다.
  4. romdumptoCF.exe의 이름을 AppStartupSec.exe로 바꿔줍니다.

  5. 본체 뒷면의 스위치(ON -> OFF -> ON)를 이용하여 하드리셋을 합니다.
  6. 하얀색 배경의 창(Use the File Menu !)이 표시되면, SD/MMC 카드를 넣습니다.
  7. 메뉴의 File - Dump Rom - OK 순서대로 클릭합니다.
  8. SD/MMC 카드에 따라 다르나, 약 1분 경과후 완료 메세지와 함께 롬 덤프가 완료됩니다.
    (메모리 카드 루트에 dump.rom 파일 생성. 파일 사이즈는 정확히 32MB.)


II. 커스터마이징
  준비물: 과정 I에서 덤프한 파일, 롬에 넣고자 하는 파일들, dumpromx.


  1. 위의 파일을 다운로드 후, dump.rom 파일이 있는 같은 폴더에 압축 해제합니다.
  2. shell(시작 - cmd 또는 압축파일의 shell.lnk)을 실행한 뒤, 위의 경로에서 dumpromx [ENTER]
    DUMPROMX v1.06 - ROM analysing tool for extracting/adding files
    Usage: dumpromx [options] imagefile [offset [imagefile offset ...]]
       -f <fileout>  - get info about (or extract if -d specified) only this file
       -a <filein>   - add this file (or replace fileout if -f specified), can be modules
       -a <dirin>    - add all files in 'dirin' folder to rom
       -d <dirpath>  - save found files/modules to this path
       -v            - verbose : print alignment, struct contents
       -q            - quiet : don't print anything
       -n            - don't use negative rva fix
       -u <ofs>L<len>:desc   - add user defined memory regions to complete image
       -x <offset>   - process XIP chain at offset
       -i <offset>   - specifiy image start offset
       -3            - use wince3.x decompression
       -4            - use wince4.x decompression [ default ]
       -5            - use wince4.x decompress, and e32rom for wm2005
  3. 위의 내용이 표시됨. 덤프한 롬으로부터 파일을 추출하고 싶을 경우, dumpromx -d <대상 폴더명> dump.rom [ENTER]
    <대상 폴더명>에 추출한 파일이 저장됩니다.
  4. 하나의 커스텀 파일을 롬에 포함하고 싶은 경우, dumpromx -a <동일 폴더상의 파일명> dump.rom [ENTER]
    <동일 폴더상의 파일명>.nb라는 이름으로 새로운 롬이 저장됩니다.
  5. 여러개의 파일을 롬에 포함하고 싶은 경우, dumpromx -a <동일 폴더상의 폴더명> dump.rom [ENTER]
    <동일 폴더상의 폴더명>.nb라는 이름으로 새로운 롬이 저장됩니다.

  6. 하위폴더는 지원하지 않으며, 추가된 모든 파일은 장치의 \Windows\ 경로상에 위치합니다.
    wince.nls와 같이 시스템 전체에 영향을 미치는 파일은 독립적으로 추가하기를 추천합니다.
  7. 기본 레지스트리 변경은 (툴의 불안정으로 인해) 추천하지 않으나, 변경해야 할 일이 있을 경우는 압축 파일에 포함된 fdf2reg.pl, reg2fdf.pl을 사용하시면 됩니다. 이 유틸리티를 실행하기 위해서는 perl 스크립트 해석기를 사용하세요.


III. 커스텀 롬 플래싱
  준비물: 본체, 32MB 이상의 SD/MMC 카드, 과정 II에서 제작한 커스텀 롬.

  1. 과정 II에서 제작한 커스텀 롬 파일의 용량(32MB)을 확인한 뒤, 파일의 이름을 WinCEIMG.bin으로 바꿔줍니다.
  2. SD/MMC 카드의 루트(\)로 복사한 뒤, 카드를 본체에 장착합니다.
  3. 본체 뒷면의 스위치(ON ->OFF)를 이용하여 하드리셋을 합니다.
  4. 본체 앞면의 조그버튼을 누른 상태에서, 본체 뒷면의 스위치(OFF -> ON)를 이용하여 롬 업데이트 모드로 진입합니다.
    (다음과 같은 형태의 메뉴가 표시됨)


    Upgrade Tool VX.X

    0=WinCE Image(USB)
    1=WinCE Image(SD/MMC)
    2=UBoot Image(USB)
    3=UBoot Image(SD/MMC)
    ...
    6=Memory Test
    ...
    Choice: 0
  5. 조그버튼을 이용하여 WinCE, SD/MMC를 선택한 뒤, 과정에 따라 진행합니다.
  6. 업데이트가 완료되었으면 한번 더 하드리셋을 한 뒤 정상적인 부팅이 되는지 확인합니다.
    (여기서 더 이상 진행되지 않을 경우, 과정 II로 다시 돌아가서 시스템 파일이나 크기가 큰 파일에 대한 수정 필요)