'pe2usb'에 해당되는 글 1건

  1. 2008.10.02 USB Memory setup

USB Memory setup

잡기 2008. 10. 2. 18:01
잊어버리기 전에 기록해 두자.

'민주주의 2.0' 이라니까, Charles Stross의 소설에 나왔던 Economy 2.0이 생각났다. 경제 2.0은 인공지능인데, 비효율적이고 믿을 수 없는 인간 대신 최적 자원 분배 알고리즘으로 세계 경제를 파탄내고 화폐를 무효화시켜서 경제활동으로부터 인간을 자유롭게 만들었다. 아울러 그 소설의 주인공은 저작권을 무효화시킨다. 속 사정은 흥미진진한 소설을 보면 되고, 하여튼 그것이 인류가 새로운 시대로 나아가게 되는 결정적인 계기를 마련해 주었다. Democracy 2.0도 비슷한 일을 해줄 것만 같은 이름이다.

한 번 울리고 끊기는 전화 -- 뭐야 이건? Business 2.0?

EBS에서는 아침 10시 무렵 '부모 2.0'이란 프로그램을 한다.

제품 발표회 초청장을 받았다. 내가 하는 일 하고는 전혀 상관없는 기계 설계 분야라서 참석했다. 모사의 웍스테이션 설명할 때 좀 우스웠다. ECC Memory를 사용하기 때문에 웍스테이션이 뻑나도 자동으로 복구가 된다거나(Error Correction Code를 말 뜻 그대로 해석) 한 제품을 생산하기 위해 95Khour 동안 테스트를 한단다.

95khour = 10년인데, 설마 제품 설계 및 개발을 10년 해서 간신히 모델 하나 시장에 내놓지는 않을 테고, bath curve 그리려고 burn in test를 그렇게 한다는 뜻일께다.

뜬금없는 그래픽 카드 선전과 웍 스테이션 선전도 따지고 보면 기계 설계 캐드 프로그램 선전하는 것과 다를 것 없고(CAD가 이렇게 눈부시게 발전했다니, 놀랍다) 영업 차원에서 윈윈 전략한다고 SW 신버전 발표회에 최신 HW도 곁다리로 끼워 넣은 것이고 나야 호텔 부페 점심 잘 얻어먹고 경품으로 4GB짜리 USB 메모리도 받았으니, 유창하게 헛소리를 늘어놓는 영업사원을 비웃을 일은 아니다.

하지만 LCD의 color space를 늘리려고 LED backlite 달고 컬러 관리 좀 신경 쓴 30bit-RGB 24인치 모니터를 아티스트/엔지니어용이라며 290만원에 팔아먹는 것은 좀 심해 보인다.
 
이전에 사용하던 1GB 메모리의 열쇠고리 연결부위가 부러져 안 그래도 USB 메모리를 하나 사야지 했는데, 4GB USB 메모리를 공짜로 받았으니 평소에 해보고 싶었던 Windows XP 설치용 CD를 만들어보기로 했다. 이왕 하는 김에 NTLDR에 GRLDR 얹어서 linux live cd도 얹고 WinXP PE도 얹고, Portable S/W를 잔뜩 담아 가지고 다니면 좋겠다.
 
CD 만들다가 USB 메모리가 맛이 갔다. 파티션이 날아가고 드라이브가 잡히지 않는다. PnP 디바이스는 USB Host가 USB Device에 request를 하면 그에 해당하는 configuration 정보를 리턴해 주는데 그때 VID, PID, usb device class 및 sub class를 알게 된다. usb device가 host에 삽입되면 os는 그걸 검출해서 그에 해당하는 디바이스 드라이버를 로드하는데, usb mass storage까지 잡히고 volume manager에 디바이스가 추가되지 않았다. 파티션이 날아가면서 컨트롤러 칩 어딘가 꼬인 것이다.
 
요즘 USB 메모리 가격이 많이 떨어져서 4GB가 1만원 수준이다. 만 원 짜리 장치를 A/S하려고 용산 가기도 뭣하고 뭐 어떻게 해결할 방법 없을까 대원 컴퓨터 사이트에 들어가서 뒤지다가(제품명 i-Clip RT Black) 펌웨어 업그레이드 프로그램을 다운 받아 보니, 생산라인에서 쓰이는 QC용 툴 같다. 디렉토리를 뒤져 USB Mass storage device driver 대신에 사용할 수 있는 Factory Driver라는 것을 찾았다. 드라이버 교체하니까 SMI Mass Production Tool 프로그램에서 장치가 인식된다. 싱글벙글.

SMI 프로그램을 찬찬히 살펴보니 생산후 기본적인 테스트와, 포맷, 프로그램 설치, CD 파티션 설치 따위를 지원한다. 게다가 이 프로그램은 컨트롤러 칩이 동일하다면 비슷한 종류의 뻑난 USB Memory를 복구하는데 사용할 수도 있을 것 같다.

사용자 삽입 이미지
 
사용자 삽입 이미지

사용자 삽입 이미지


사용자 삽입 이미지

본격적인 작업 시작. 웹 사이트를 돌아다니면서 비슷한 일을 한 사람들의 글을 읽으면서 느낀 점은, 꽤 복잡하게 작업한다는 것. 일단 Windows XP SP3 Snoopy 버전을 SMI Mass Production Tool로 별도 파티션을 잡아 설치한 다음, 다음 작업을 진행했다.

작업 목표

  • USB-CDROM: Windows Install용 CD 이미지를 넣어둔다
  • USB-HDD로 부팅할 때 응급 복구 및, Windows PE, Linux 이미지 셋 중 하나에서 부팅이 가능하도록 한다
  • Windows에서는 Portable Application Package를 사용할 수 있도록 한다.
  • 나머지 짜투리 공간은 파일 교환등의 목적으로 사용.
준비물
설치

  • Windows XP PE Image를 daemon tool등의 virtual cd image 프로그램으로 마운팅
  • PE to USB 프로그램으로 USB를 포맷하고 설치
  • PC의 C:\NTLDR, C:\BOOT.INI 파일을 USB Memory의 root 디렉토리에 복사
  • USB Memory에 복사한 boot.ini 파일 수정
    [boot loader]
    timeout=0
    default=c:\grldr
    [operating systems]
    c:\grldr="GRUB"
  • Xubuntu 설치: iso의 디렉토리 .disk와 casper를 USB Memory의 root 디렉토리에 복사.
  • USB Memory 루트 디렉토리에 있는 MENU.LST 파일 수정(Win PE 패키지 안에 Hiren CD Image등이 포함되어 있으므로 아주 간단하게 작업이 끝남)
    splashimage /SPLASH.XPM.GZ

    title Boot from HardDisk
    rootnoverify (hd0,0)
    makeactive
    chainloader +1

    title Microsoft Windows PE(Uniprocessor)
    find --set-root /minint/SETUPLDR.BIN
    chainloader /minint/SETUPLDR.BIN

    title Microsoft Windows PE(Multiprocessor)
    find --set-root /minint/SETUPLD2.BIN
    chainloader /minint/SETUPLD2.BIN

    title Xubuntu 8.04.1 I3
    find --set-root /casper/vmlinuz
    kernel /casper/vmlinuz file=preseed/xubuntu.seed boot=casper persistent quiet splash --
    initrd /casper/initrd.gz

    title Hiren's BootCD
    map --memdisk-raw=1
    map --mem /HIRENS.IMG (fd0)
    map --hook
    chainloader (fd0)+1
    rootnoverify (fd0)

    title ---------------------------------------------------------------------------
    default 0

    title Restart the Computer
    reboot
  • Uopack 프로그램 실행하여 USB Memory에 포터블 어플리케이션 설치
사용자 삽입 이미지
 
사용자 삽입 이미지
 

사용자 삽입 이미지

정리하니까 이렇게 쉬울까 싶을 정도로 간단해서, 거진 4시간 이상을 인터넷 뒤지고 찾은게 무색해진다. 아울러, Grub이 몹시 쓸모있는 부트 로더 같다.  

사용자 삽입 이미지
WinGrub으로 USB Memory 루트 디렉토리에 있는 menu.lst 파일 편집하는 것.

사용자 삽입 이미지
Grub을 부트로더로 사용하기 위해 USB Memory의 MBR(Master Boot Record)에 Boot Record를 기록. Install 버튼 클릭.

사용자 삽입 이미지

이때 USB Partition을 헷갈리지 않기 위해 Tools->Partition List를 확인해 둔다. 이 경우 (hd1,0)

 설치가 끝난 후, 만일의 사태에 대비해 USB Memory의 root directory에 위치한 파일들을 read only, hidden으로 숨겨두었다.

지금 쓴 이 아티클은 USB Memory에 OS 2개를 담고 부팅 CDROM을 제작하는, 이 세상에 존재할 수 있는 가장 간단한 방법을 다룬 것이다. 장담한다. 개나 소나 다 할 수 있다!
,