2016年10月12日水曜日

OSX86 on VAIO X

リカバリ領域のバックアップが取れたので、OSX86 10.6.8とWindows 10のデュアルブートに構成変更しました。いろいろやったけどOS X 10.7.4はうまく起動できなかった。

Mac OS X 10.6.0のUSBスティックを作ってClover EFIを入れ、VAIOPEnablerのアーカイブから同kextをGMA500Enablerに差し替えたものを EFI/CLOVER/kexts/10.6/ に導入して、その状態からインストールを行いました。10.6.0だとWi-Fiが使えないので、10.6.8の統合アップデートやAtom kernel patch/Intel SCH patch (この2つはVAIOPEnablerの Extra/tools/ に含まれています)などは事前にダウンロードしてUSBスティックへ入れておくといいと思います。

VAIOPEnablerのVoodooPS2Keyboard.kextだと、チルダ/バッククオートが化けると思うので、 VoodooPS2Controller_0.98_updated_20090511.zip を以下からダウンロードしてきて、中身を差し替えます。

Clover EFIのconfig.plistは、Boot Argsを以下のようにしています(あとScreen Resolutionを1366x768へ変更)。

-v arch=i386 npci=0x2000 USBBusFix=1

インストール時に、ディスクユーティリティでHFS+/FAT32/FAT32のGPT 3パーティション構成にしておきます。FAT32の2つは、Windows導入用と共有するデータ用の2パーティションです。

インストール後の初回起動で、Clover EFIのESP領域へのインストール(kextsの導入も)、10.6.8への統合アップデート、その後に10.6.8のためにAtom kernel patchとIntel SCH patchをあてて再起動すればふつうに上がってくると思います。上がってこないときはBoot Argsを以下のように変更で。

-v arch=i386 rd=disk0s2 npci=0x2000 USBBusFix=1

再起動後にWi-Fiが動くようになるのですが、DHCPサーバーからIPがもらえない現象が起こると思うので、以下のkextへ差し替えます。

オーディオはVAIOPEnablerに同梱の VoodooHDA.kext が使えます。

有線LANはMarvell Yukon 80E8057ですが、ドライバはシステム標準にあるもののエントリがないので /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleYukon2.kext/Contents/Info.plist の適切な場所に以下を追記します。ぼくは Yukon-88E8061 の直前に入れました。

<key>Yukon-88E8057</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.iokit.AppleYukon2</string>
<key>EnableLowPwr</key>
<integer>1</integer>
<key>IOClass</key>
<string>yukon2osx</string>
<key>IOPCIPrimaryMatch</key>
<string>0x438011ab</string>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
<key>MACNumber</key>
<integer>1</integer>
<key>Model</key>
<string>Yukon Gigabit Adapter 88E8057 Singleport Copper SA</string>
<key>NetworkNumber</key>
<integer>1</integer>
<key>RxDeadman</key>
<integer>60</integer>
<key>RxRingGrowOnPause</key>
<integer>10</integer>
<key>RxRingSize</key>
<integer>0</integer>
<key>RxRingSize_100MBit</key>
<integer>128</integer>
<key>RxRingSize_10MBit</key>
<integer>64</integer>
<key>RxRingSize_GigaBit</key>
<integer>256</integer>
<key>TxRingSize</key>
<integer>256</integer>
<key>Vendor</key>
<string>Marvell</string>
</dict>

これであとはKext Utilityで処理すれば認識されると思います。

VAIOPEnablerのIOGMA500Framebuffer.kextを入れるとGUIが起きてこなくなるので、入れてはいけません(入れてしまったらsingle user modeから削除してno-cache起動で)。

画面のQE/CI、効きません(ドライバないからね!)。スリープはたぶんできません(起動時間短いし我慢だね!)。OSは2013年にサポートが終了しています(Old Macでも構わない人向けだね!)。

3GモジュールであるところのQualcomm Gobi 2000は、Windows側からファームウェアを引っ張ってくる必要があります。ファームウェア・アップローダとドライバの2つがセットで動きます(Windowsを入れましょう)。これは長くなるので別項で。

あと、スクリーンセーバーはいつも『コンピュータ名』にしているんだけど、この画面解像度ではAppleロゴが大きいので /System/Library/Frameworks/ScreenSaver.framework/Resources/Computer Name.saver/Contents/Resources/ScreenSaver.tiff をいじって小さくしたりしている。

Chromiumのビルド選別

Core 2 Duoのreal Macのように32ビットEFI+32ビットカーネル+64ビットアプリな64ビット環境ではなく、Atom Z550だと32ビットEFI+32ビットカーネル+32ビットアプリの32ビット環境が限界なので、最近のChromeは動きません。64ビット環境ならOS X 10.6.8でもChrome 49.0.2623.112まで行けます(※OS X 10.8以下ではこれが限界です)。

以下にChromiumのアーカイブがあるので、そこから32ビット環境で動く最後のChromiumを探してみる。

Chrome 41の途中あたりで64ビットビルドに変更されているので、そのあたりを重点的に掘っていくと、VAIO Xで305034は動くけど305049は動かないので、32ビットビルドの最終版は305034ということに。

これでもマウスカーソルはフラッシュするしテーマ周りの描画が若干怪しいので、安定版が欲しいならChrome 3xを中心に掘り下げる必要があると思います。

Windowsを入れた後処理

Windowsを入れたら、当然ですがWindowsしか起動しなくなるので、OSX86用に作ったUSBスティックから起動させてClover EFIを再インストールしたあと、Terminalから以下のように操作します。

$ sudo fdisk -e /dev/rdisk0
> p
> f 1
> w
> q

これでESP領域がアクティブになるので、次の起動時からはClover EFIが表示されるようになります。OS X/WindowsともにClover EFIから起動できます。