現状製品版のEl Capitanは直接imgからインストール出来ない
(ブート用dmgが認識しない。βのEl Capitanのみ?)ようなので、Mavericksからインストール
(Yosemiteはアップグレードを放置して入手し損ねた)
作業時間:トータル6h位
##OSXのブート用dmg作成 (Mavericks)
- MavericksをAppStoreからDL> アプリケーション/OS X Mavericks インストール.app
- ターミナルでインストールdmg生成
$ git clone https://github.com/ntkme/InstallESD.dmg.tool
$ cd InstallESD.dmg.tool
$ bin/iesd -t BaseSystem -i /Applications/Install\ OS\ X\ Mavericks.app/Contents/SharedSupport/InstallESD.dmg -o Output.dmg
成功すると、/ユーザー/InstallESD.dmg.tool/Output.dmg が出来る。
※参考:http://ottan.xyz/virtualbox-yosemite-1605/
##VatualBoxでVMを作成
- 容量は50GB位。(後から容量を拡張する場合は面倒なので多い目に)
- vmの保存先はsparsebundleイメージ内が便利
(バックアップはsparsebundleのファイルをホストOSのTimeMachineで行う運用) - チップセットを"PIIX3"にする。(ICH9だと起動しない)
####○2013年以降に発売されたMacの場合のみ設定(未検証)
2013年以降に発売されたMac(CPUがHaswell世代以降)の場合 仮想マシンのCPUの設定を変更しないと正しく動作しない
$ VBoxManage list vms
$ VBoxManage modifyvm <uuid> --cpuidset 00000001 000306a9 00020800 80000201 178bfbff
##画面の解像度を設定
通常は1024×768のサイズで起動される。
起動後は画面のサイズの変更が出来ないので、以下のコマンドで画面のサイズを指定する。
VatualBoxのversionで以下のコマンドに違いがある
$ VBoxManage setextradata "VM名" VBoxInternal2/EfiGraphicsResolution 1440x900
$ VBoxManage setextradata "VM名" VBoxInternal2/EfiGopMode 4
##画面共有で接続
クリップボード共有が効かないので、OS X標準の”画面共有”でVMに接続する。
- ゲストMACの共有で画面共有を有効にする
- ゲストMACのアダプターを"ブリッジアダプター"に変更
- vmを画面無しで起動
####○vmを画面無しで起動(お好みで。特にしなくてもOK)
$ VBoxManage list vms インストールされているVMのリスト
$ VBoxManage startvm [VM名 or ID] -type headless GUIなしで起動
$ VBoxManage list runningvms 起動中のVM名
##初期設定とEl Capitanのインストール
- ゲストMACの時計を合わす(日本)
- MACのハードウェアシリアル番号の設定
- DLした"OS X El Capitan インストール.app"を実行(約2h)
- サインインに異様に時間がかかる場合はVMを無理矢理再起動
- 画面共有の再設定
####MACのハードウェアシリアル番号の設定
通常は「このMACについて>シリアル番号 XXXXXXXXXX」でMAC本体のシリアル番号が表示されるが、VMでは通常0になる。
このシリアルは"AppleIDのサインイン"や"FileVault"の暗号化に使用される為、
0のままだとAppStoreやiCloud等が使えない ので設定する。
番号は12桁の英数文字。適当な文字を設定して可能かは未検証。
今回は現在使用しているホストMACのシリアルの最後の1文字を変えた物を使用。
例) "ABCDEFGABCDA" > "ABCDEFGABCDE" (このシリアルはダミー)
$ VBoxManage setextradata "Mavericks" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "ABCDEFGABCDE"
##Xcode7のインストール
- App Storeに普通にログインしてDLする。
- DLしたら普通に起動して適当なテストアプリ作成>シミュレーター
- VatualBoxに実機のUSB接続を認識させて、実機デバッグ
####シミュレーターでのデバッグ
Xcode7はAppStoreに普通にログインしてDLする。
若干遅いが、シミュレーターでのデバッグは普通に出来る。
####VatualBoxに実機のUSB接続を認識させて、実機デバッグ
- VatualBoxの画面右下のUSB接続のアイコンから実機を接続する。
- 認識したら実機側で「このデバイスを信用しますか?」みたいなアラートが出るのでOK押下
- Xcodeのターゲット選択の所に実機が表示されればOK
####ゲストOSでのディスク速度
右がホストOS。左がゲストOS上のディスク速度
ゲストOSはsparsebundle上にVDIを作成して実行している。
##その他 ディスク容量を拡張
容量を拡張する場合はVMのリサイズ以外にもGPT情報を修正する必要あり、若干作業が面倒。
- vdiの容量を変更
- ゲストOSをインストールディスク(Output.dmg)から起動>Disk Utility起動
- インストールディスクのDisk Utility>FirstAidでパーティションを修復後、パーティションを拡張
- Output.dmgをアンマウントして起動
####○vdiの容量を変更
VBoxManage modifyhd [vmのファイル].vdi --resize 51200
####○インストールディスクから起動
Vatualbox上でOutput.dmgをマウントしたまま、ゲストOS起動時にCキーを押下状態でブートローダーが表示>BootManaget>EFI DVD/CDROM を選択
####○ディスクユーティリティからパーティション変更
メニュー>ディスクユーティリティ起動。
そのままディスクユーティリティからパーティションを変更しても
"MediaKit が、パーティション(マップ)が小さすぎることを報告しています" というエラーで操作が完了できないので、FirstAidで修復後、パーティションを拡張する