삽질하는플머

'Lion'에 해당되는 글 1건

  1. VMWare 에 Mac OS X Lion 설치하기. 4

VMWare 에 Mac OS X Lion 설치하기.

여가생활/맥과 아이폰
맥북을 쓰고는 있지만 실제 작업을 할 때 사용하는 여러가지 툴들은 아무래도 윈도의 것들이 손에 익는다.
델파이 XE2 도 나왔고, 델마당에 s193382님이 번역중이신 멋진 강좌들에 감동받아서... VMWare에 라이온을 설치하는 과정을 정리해 본다. 





스탭 1. 설치 이미지 만들기. 

참조 사이트. 
http://www.sysprobs.com/create-bootable-lion-os-installer-image-vmware-windows-intel-based-computers
 
준비물. 
1. 라이온 10.7 설치어플에서 뽑아낸 InstallESD.dmg (참고링크1, 참고링크2)
2. 스노우 레오파드(이하 설범)가 구동중인 VMWare Workstation 또는 VMWare Player (참고링크)

 

1) 먼저 기존의 설범 가상머신에 5GB 하드를 추가로 만들어준다. 




2) 설범을 구동하고 디스크 유틸리티를 띄워 새로 추가한 5GB 하드를 다음과 같이 파티셔닝 한다. 
 

이름 - LionInstaller
포멧 - Mac OS 확장
파티션 - 1개의 파티션, Apple 파티션 맵



 
 

3) InstallESD.dmg 파일을 마운트한다. 이 파일은 "Mac OS X Install ESD" 라는 이름으로 /Volumes 에 마운트 된다. 




4) 이 경로로 이동한 뒤 BaseSystem.dmg 를 마운트 한다. 

# cd "/Volumes/Mac OS X Install ESD"  

# open BaseSystem.dmg 

 
 


 

5) "Mac OS X Base System" 이 마운트 되었다.  다시 디스크 유틸리티로 돌아가 방금 마운트한 이미지를 위에서 파티셔닝한 5GB 하드에 복원해 준다. 



 
루트 암호를 입력해주고 완료되기를 기다린다.  



6) 터미널에서 다음 명령을 통해 kernelcache 파일들을 복사해준다. 

# cp "/Volumes/Mac OS X Install ESD/kernelcache" /Volumes/LionInstaller/kernelcache 





7)  방금 복사한 kernelcache를 활성화 하기 위해 plist 파일을 편집한다. 
/Volumes/LionInstaller/Library/Preferences/SystemConfiguration/ 로 이동, com.apple.Boot.plist 파일을 텍스트 편집기로 열어 다음 내용을 추가해준다. 

<key>Kernel Cache</key> 
<string>\kernelcache</string>


이 작업에는 루트권한이 필요하므로 sudo vi, 또는 sudo nano 를 추천한다. 


  

 
8) 이제 설치 패키지를 복사할 차례이다. 터미널에서 다음 명령을 내려준다. 

# sudo rm /Volumes/LionInstaller/System/Installation/Packages 
# sudo cp -R "/Volumes/Mac OS X Install ESD/Packages" /Volumes/LionInstaller/System/Installation/Packages



두번째 명령은 상당히 큰 데이터를 VMDK로 복사하게 된다. 한참 놀다오는 편이 좋겠다. 



9) 거의 끝나간다. VMWare 의 경우 Mac OS X의 서버버전만을 지원하므로, 새로 생성된 설치 이미지를 서버 버전으로 표시해주자. 
터미널에서 다음 명령을 내려준다. 

# cd /Volumes/LionInstaller/System/Library/CoreServices 
# sudo touch ServerVersion.plist



이것으로서 다른 부트로더의 도움 없이 VMWare에서 부팅시킬 수 있는 라이온 설치 이미지가 만들어졌다. 




스탭 2. 라이언 설치 및 설정. 

참조 사이트
http://www.sysprobs.com/working-method-install-mac-107-lion-vmware-windows-7-intel-pc


준비물

1. VMWare Workstation 또는 VMWare Player
2. 스탭 1에서 만든 Lion OS X bootable VMDK 파일. 
3. 추가 파일. 아래 세 종류 작업의 묶음이다. 
  3-1. VMWare 에서 Mac OS X와 OS X 서버를 구동시킬 수 있는 패치 (원본 위치),  
  3-2. 미리 만들어진 가상머신 파일 (원본 위치). 
  3-3. 다양한 해상도 및 공유폴더 기능을 가진 VMWare tools 설치용 darwin.iso.



1)  추가 파일을 다운로드 받고, 여기서 macosx_guest_vmware_7.tar.gz 파일의 압축을 풀고 관리자 권한으로 명령 프롬프트를 열어 windows.bat 를 실행한다. 이 때 실행중인 모든 가상머신은 종료되어야 한다. 
 




2) Lion_107.zip 파일의 압축을 풀고 VMWare 에서 Mac OS X Server 10.6 64-bit.vmx 파일을 열어준다. 
VM -> Settings... 메뉴에서 앞에서 만들어준 5GB 짜리 Lion_Installer.vmdk 가상하드를 추가한다. 



메모리와 프로세서는 적당히 설정해준다. CD/DVD 은 "Auto detect" 로 맞춘다. 



3). 가상머신을 시작하면 자동으로 설치가 이루어진다. 첫번째 화면에서 언어를 선택해주고 설치를 진행하자. 




4) 설치가 완료된 후 5GB 가상하드는 제거한다. 이 가상머신에는 사운드카드가 설정되어있지 않으므로 추가해준다. 



darwin.iso 를 마운트, VMWare Tools 를 설치해준다. 




5) 아직 소리가 나지 않는다. 사운드 카드는 추가되었으니 드라이버를 설치해보자. 
다음 사이트에서 EnsoniqAudioPCI_v1.0.3_Lion.pkg 를 다운받는다. 
http://vmsvga2.sourceforge.net/

조금 느리기는 하지만 일단 소리 재생은 된다. 

그래픽 드라이버인 VMsvga2_v1.2.3_Common_Installer.pkg 도 기분상 설치해줬다.
내가 주로 사용하는 Quick Switch 모드에서 호스트 컴퓨터 해상도가 유지되는 장점이 있다. 화면도 왠지 부드러워지는 느낌. 



가상머신의 에너지 절약은 의미가 없으므로 "시스템 환경설정" -> "에너지 절약" 에서 "사용 안함"으로 설정한다. 




6) 마지막으로 소프트웨어 업데이트를 하면 설치는 마무리. 




7) 맥 앱스토어에서 Xcode 4 다운로드 및 설치. 
설치프로그램은 /Applications 에 들어온다. 다시 다운받기 귀찮으니 "Install Xcode.app" 을 적당히 압축, 보관해두자. 




8) 설범으로 오면서 생긴 문제라는데, 애플 자사의 시네마 디스플레이에서는 EDID 정보를 읽어내 제대로 된 폰트 서브픽셀 렌더링을 해주므로 LCD 모니터에서 폰트 가독성이 좋아지지만 일반 모니터에서는 그렇지 않단다. 어쩐지 맥북에서는 깔끔한 글자가 VMWare에서는 흐리멍텅하게 보이더라니... 
 
http://x86osx.com/bbs/view.php?id=osxtips&no=2584

LDC모니터를 사용한다면 위 링크를 참조, 콘솔에서 다음 명령을 내린 뒤 재부팅 한다. 말 그대로 신세경이네. 

# defaults -currentHost write -globalDomain AppleFontSmoothing -int 2



화면을 캡쳐해 확대해보면 서브픽셀 랜더링이 제대로 동작하는 것을 확인할 수 있다. 







부록. 탈옥 디바이스용 코드사인. 


테스트 프로젝트를 생성하고 타겟을 iOS Device 로 설정한 뒤 Cmd-B 로 빌드해보면, 다음과 같이 코드사인 에러가 나며 빌드에 실패한다.



Xcode에서 작성한 아이폰/패드용 앱을 실제 기계에 올리기 위해서는 개발자 프로그램에 가입해 일년에 99달러를 지불한 뒤 프로비저닝 코드를 받아 설치해야 하기 때문이다. 그러나 탈옥된 iOS 기기에 AppSync가 설치되어있다면 아래와 같은 방법으로 일단 돌려볼 수는 있다. 


응용프로그램 -> 유틸리티 -> 키체인 접근 을 실행하고 키체인이 "로그인"으로 되어있는지 확인한다. 
 



키체인 접근메뉴에서 "인증지원 -> 인증서생성" 선택. 다음과 같이 기록해 준다. 

이름 : iPhone Developer 
신원유형 : 자체 서명 루트
인증서유형 : 코드서명
기본값 덮어쓰기 : 체크. 




나머지는 모두 기본값. 유효기간만 한 10년 잡아주자. (3650일)

생성된 iPhone Developer 인증서는 X표시가 되어있음. 키를 더블클릭하고 "신뢰"를 펼친 뒤, 이 인증 사용시 (항상신뢰) 로 설정. 



/Developer/Platforms/iPhoneOS.platform/Info.plist 파일을 백업하고 편집, 

# cd /Developer/Platforms/iPhoneOS.platform/
# sudo cp Info.plist Info.plist.bak



파일 내의 XCiPhoneOSCodeSignContext 를 찾아 XCCodeSignContext 로 변경. (76, 111, 123 번째 줄)



다시 한 번 빌드해보면 방금 만든 인증서로 코드사인이 되는 것을 볼 수 있다.
(iOS Device용 실행파일은 Arm6/Arm7 바이너리가 하나로 합쳐진 FAT 바이너리이므로 코드사인이 두 번 이루어진다.)



Run 버튼을 눌러주면 탈옥된 디바이스로 실행파일이 전송된다. 



잘 동작하지만 애석하게도 디버깅은 되지 않는다.
실제 기계에서 디버깅은 생각보다 중요하므로 어지간하면 개발자 프로그램을 구입하는 편이 좋겠다.
(이 때, 앞에서 백업해 둔 Info.plist 를 원래대로 돌려놓는 것을 잊지 말 것!)