BLOG ARTICLE ITX | 2 ARTICLE FOUND

  1. 2007.03.05 ITX101 - 윈도우 XP를 램디스크로 구동하기(MSDN)
  2. 2007.03.02 ITX101 - Embedded for Everyone (2)


임베디드 기기를 제작하려면 하드디스크처럼 물리적인 구동모듈이 없는 OS구동이 필요하다.
특히나 윈도우즈같은 덩치큰 OS는 성격상 일반 ROM에서 구동하기에 적합하지 않기 때문에 플래시롬에서 돌려야 하겠지만, 플래시롬의 Read/Write 횟수제한은 잦은 액세스를 필요로 하는 윈도우즈를 돌릴 경우 긴 수명을 보장받기 힘드므로, 램(RAM)디스크 구동이 가능하다면 빠른 속도와 오랜 수명을 보장 받을 수 있게 된다.

필요한 준비물

- Microsoft® Windows® XP Embedded with Service Pack 1
- 충분한 메모리 공간(2기가 이상)

구동 원리는 Windows XP Embedded의 SDI Image를 이용하여 램디스크에 복사될 인스톨 드라이브의 내용을 만들고, 이를 초기 부팅시 램디스크를 마운트하고 해당 이미지를 로드하는 것이다.

SDI Image는 XP Embedded의 주 기능중 하나로 다음의 3가지 정보를 품게된다.

1. BOOT BLOB (부트 프로그램)
부트 프로그램 부분에는 STARTROM.COM이란 32비트 프로그램이 들어가게 된다. STARTROM.COM은 초기 부팅시 OEM-Authored Boot Program라는 프로그램을 로드 할 수 있는데, 이 프로그램은 이미지의 공급자가 부팅전 원하는 작업을 수행할 수 있는 기회를 준다.

2. LOAD BLOB (NTLDR)
램디스크가 마운트되면 작동할 NTLDR이 들어갈 공간이다. 부트 프로그램이 SDI 로딩을 끝내면 이 부분의 NTLDR을 작동시켜 램디스크 XP부팅이 시작된다.

3. PART BLOB
실질적인 OS가 들어갈 부분. 잊지말아야 할 부분은 인스톨본이 아니라 인스톨된 드라이브의 이미지라는 것이다. 여기에 반드시 들어가야할 3가지 내용이 있는데,
- 윈도우즈 램디스크 드라이버가 들어가 있을것
- ntdetect.com과 boot.ini가 들어 있을것
- boot.ini안에서 해당 볼륨의 실행부분을 다음과 같이 바꿀 것
[boot loader]
default=ramdisk(0)\WINDOWS
[operating systems]
ramdisk(0)\WINDOWS="Windows XPE From RAM" /fastdetect

SDI 이미지를 만든 대략적 과정은 다음과 같다. (SDI Manager 디렉터리 상에서 작업)

1. 공 SDI 이미지를 만든다.
C:\SDI>sdimgr /new ram_boot_img.sdi

2. 인스톨된 볼륨의 내용을 Import한다. (볼륨이 D드라이브일 경우)
C:\SDI>sdimgr ram_boot_img.sdi /readpart:d:

3. 부트 프로그램을 Import한다.
C:\SDI>sdimgr ram_boot_img.sdi /import:BOOT,0,startrom.com

4. NTLDR을 Import한다.
C:\SDI>sdimgr ram_boot_img.sdi /import:LOAD,0,ntldr

5. 마지막으로 패킹한다.
C:\SDI>sdimgr ram_boot_img.sdi /pack

6. 이미지에 이상이 없는지 확인해본다.
C:\SDI>sdimgr ram_boot_img.sdi

현재 계획은 초기 부팅 모듈과 SDI이미지는 플래시롬에 기록되고, 플래시롬을 통하여 SDI 이미지가 램디스크에 마운트 된 이후부터는 플래시롬은 사용되지 않는 방식을 고려중이다.
보다 자세한 내용은 MSDN의 해당 글과 SDI Manager 매뉴얼을 참고해본다.

MSDN 해당 글 바로가기
SDI Manager 바로가기
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST


JoonJoon군과 노닥거리다 우연히 얘기하게된 소형 Embeded System. 예전부터 Embeded System DIY제작에 관심이 많아온터라 의견을 주고받았다.

mini-ITX

mini-ITX는 2001년 VIA에서 합병한 Cyrix의 저전력 프로세서 C3를 위하여 만든 규격이다. 그 당시의 분위기를 되살리자면, 춘추전국시대와 같았던 x86 호환 CPU시장이 인텔, AMD를 빼고 퍼포먼스 측면에서 사장되고 있던 시기였다. Cyrix 역시 그 당시 천하를 호령하던 Athelon XP이나 Pentium4의 상대가 되지 못했기 때문에 저전력, 소형화를 통해 Embedded 시장을 노크하기 시작했다. mini-ITX는 micro ATX 등과 비슷한 개념이지만 보다 소형(170 mm x 170 mm)에 방열판 구조의 저소음/저전력 아키텍쳐를 지향이였다.

nano-ITX

이후 VIA는 2005년말 보다 소형(120 mm x 120 mm)의 nano-ITX 폼펙터를 발표한다.

pico-ITX. D-SUB 단자가 이렇게 크게 느껴질 줄이야.

장사가 잘 되는지 얼마전 CES 2007에서는 pico-ITX 폼펙터를 발표했는데 크기는 불과 100 mm x 70 mm에 불과하다.

CES 2007 인터뷰 영상

앞으로 ITX 카테고리를 통하여 ITX H/W 관련 정보나 Embedded S/W 관련 정보를 포스팅할 예정이다.
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST
  1. 구리스 2007.03.22 11:01  댓글주소  수정/삭제  댓글쓰기

    으허.. 똑같은 관심사에 유사한 정보습득에도 정보의 질이 다르시군요.
    저는 내부자료로 보고서를 맹글었는데.. 이건뭐..;; 월급반납 해야겠네유 ㅋㅋ

    • 미니미 2007.03.23 01:29  댓글주소  수정/삭제

      과찬이십니다. 저도 이쪽엔 전혀 지식이 없습니다.
      현재 DIY로 하드디스크없는 미니 XP머신을 구상중이라
      관련 정보를 계속 모으는 중입니다.
      서로 좋은 정보 공유했으면 좋겠네요.