Lion

■10.7 Lion Preview (2010/03/04)

1. 10.7 Lion Previewを導入する(XPC編)


 iBoot 1.2(同名のChameleonベースのtonymacx86のブートCDとは全くの別物のEFIブートローダー)では、インストールメディア選択後、インストールが開始しなかったのでXPC UEFI bootloaderを使用して、10.7をインストールした。

 動作環境はDFI P55-T36+L3426+MEM 8GB+HDD 1TB+GeForce 240。Chameleonを使用した場合と異なりsmbios情報の上書きが細かくできないので、CPUの情報や機種名などの表示はおかしいが、とりあえずの対応。

 kextはfakesmcをはじめとして10.6のものが流用できるのでVGA、サウンド、ネットワークといった一通りの機能が動作。DSDTの修正もできる為、S3スリープ、復帰も可能。

 なお、背景はなぜかデフォルト富士山で全世界共通の模様。竹取物語では、月に帰ったかぐや姫を嘆いて帝が不老不死の薬を焼いた山が富士山(不死山)とされているので、永久不滅の願いが込められているのかもしれない。

 導入あたっての準備、注意点は下記を参考にした。
 ・Mac OS X Lion (Developer Preview) Released, 10.7
 ・XPC UEFI bootloader
 ・iBoot

 (追記:2011/03/06) インストールガイド
 ・Installing Mac OS X Lion (Developer Preview)

 <<所感>>
 1. XPCではデフォルトのFSBを100MHzと設定してしまうようで、FSB133MHzのL3426では、ベンチマークスコアが33%落ちている。その為、CPUクロックの表示は、本来133x14=1862MHzとなるところが、100x14=1400MHzとなっている。TBは問題なく使用可。
 ・DFI P55-T36+L3426+MEM 8GB+HDD 1TB+GeForce 240(Score 5923、本来は7980)

 2. マウスの設定で、「ジェスチャでスクロールまたは移動するときは指を動かした方向にコンテンツを移動する」がオンになっているため、マウスのスクロールボタンが反対の動きをする。従来の動作にしたい場合は、チェックをはずした方がよい。

 3. Safariのリソースが一部日本語化されていない。動作が不安定。また、デフォルトでFlashは組み込まれていない。

 4. XbenchでThread Testを実行すると、テストが終了せずハングする。

 5. 物理的にはメモリを8GB認識しているが、アクティビティモニタで確認すると3GBまでしか認識していない。

 6. Fermiに対応したドライバNVDAFG100hal.kextは依然として含まれていない。

2. 10.7 Lion Previewを導入する(Chameleon編)

 Lionに試験的に対応したChameleonが公開された(2011/03/06)。netkasオリジナルのものは2.0RC3と古いバージョンがベースだが、2.0RC5版がMaLd0nによって公開されている。

 ・Lion対応版 Chameleon 2.0 RC3
 ・Lion対応版 Chameleon 2.0 RC5(Chameleon_v2.0_RC5_Lion.zipの中身を確認したが、RC3をパッケージングしたもので、RC5ではなかった。)
 ・Lion対応版 Chameleon 2.0 RC3インストーラーパッケージ

 Lionでのカーネルキャッシュの変更に伴い、起動時の引数として-usecacheが必要となっている。また、現時点ではLionのみのサポートの為、本バージョンに入れ替えるとLeopard/Snow Lopardの起動はできなくなる(排他利用)。

 ただし、実験的なサポートの為、起動時にDoubule Faultエラーが発生してしまい、起動できる確率は不完全とのこと。暫定的な回避策となるが、下記のようにすると起動できる確率があがるそうなので、XPCやiBootなりで一度Snow Leopardとのデュアルブート環境を整え、Snow Leopardから一旦ソフトリブートさせるなどの工夫が必要な模様。


 If getting DF – try to boot Snow with old chameleon, then reboot and boot lion with new, sometimes helps


(追記:2011/05/07)
 Lion対応Chameleonでは今までDouble Faultエラーが多発し殆ど起動できなかったが、カーネル実行前に割り込みをマスクすることで正常に起動できるようにした修正bootがリリースされた。早速試した所、当方の環境でも正しく動作することが確認できた(Mac OS X Lion Developer Preview 2)。本リリースを元に、LionとSnow Leopardが起動できるよう両方のブートに対応したChamaelonもビルドされている。



(追記:2011/05/15)
 Mac OS X Lion Developer Preview 3

(追記:2011/05/17)
 Chameleon 2 RC5 r760以降から、Lionの新しいカーネルキャッシュの読込みに対応したUseKernelCacheオプションが追加されているが、Lion DP2以降でUseKernelCache=yesを指定すると、下記の通りACPI_SMC_PlatformPlugin::registerLPCDriverエラーが発生し、SMCドライバがロードできずOSが起動できなくなる(環境を削除した為、現在確認できないが、無印のLion DPにおいては下記エラーは発生しなかった)。


ACPI_SMC_PlatformPlugin::registerLPCDriver - failed to locate SMC driver

 上記エラーはDSDTの修正で、LPC Driverの指定を行わなかった場合にも表示されるエラーである為、UseKernelCache=yesとした場合のキャッシュ読込み処理がDSDTの修正処理に影響を与えているように思われる。

 デフォルトでは、UseKernelCache=noとなっており、本エラーは発生しないが、この場合カーネルキャッシュの読み込みができない為、OSの起動に時間がかかってしまう(キャッシュを使用せずに毎回ドライバの読み込みを行うので遅い)。

(補足)
 本エラーは、FakeSMC.kextが正しく読み込まれていないのが原因。UseKernelCache=yesとすると、Chameleonは/System/Library/Cache/com.apple.kext.caches/Startup/kernelcacheのみを読み込み、/Extra/Extensionsの下を読み込まなくなる。その為、/Extra/Extensionsの下にFakeSMC.kextを置いた場合、本エラーとなる(無印のLion DPの時は、当初Chameleonが使用できず、FakeSMC.kextを/System/Library/Extensionsに置いていた為、キャッシュ作成時にkernelcacheに含まれており、本エラーを回避できていた)。

■ 10.7 Lion 正式版導入の準備(2011/07/03)

 1. Installer Mac OS X Lion.appから起動ディスクイメージ(IntallESD.dmg)を取得する
 Install Mac OS X Lion.appの中のContents/SharedSupportに、起動ディスクイメージのInstallESD.dmgが含まれている(隠しファイル属性でFinderからは表示されない為、Terminalで作業する)。このディスクイメージの中に含まれる、カーネル(mach_kernel)、パッケージ(Packages)とBaseSystem.dmgから起動ディスクを作成することができる。


 2. カーネルフラグにnpci=0x2000を追加し、起動時にコンソールが切り替わり-vや-sが使用できなくなるのを防ぐ

<key>Kernel Flags</key>
<string>npci=0x2000</string>


 3. AppleRTC.kextにパッチをあて、スリープからの復帰時にCMOSがリセットされるのを防ぐ

sudo perl -pi -e 's|\x75\x30\x44\x89\xf8|\xeb\x30\x44\x89\xf8|; s|\x75\x3d\x8b\x75\x08|\xeb\x3d\x8b\x75\x08|' /System/Library/Extensions/AppleRTC.kext/Contents/MacOS/AppleRTC




最終更新:2011年07月03日 23:41