私はMacbook Air 13 "(2017モデル、ベース1.8Ghz)を持っていて、Mavericksを実行できるかどうか確認したいと思いました。アップグレードされたプロセッサと別のボードID(Mac-937CB26E2E02BB01)を保存する2015年と同一のボードIDは、Sierra 10.12.4などまでホワイトリストに登録されていません。 YosemiteとMavericksはアーキテクチャに関して非常に似ています(変更されたカーネル機能はほとんどありません)。AppleIntelBDWGraphicsはBroadwell IntelのドライバですHD 6000.OS X WindowServer:本物のMacでデバイス(xxxxx)と一致するコンテキストがありません
これはBroadwellチップを持っていますが、もちろん10.9.5カーネルはそれをホワイトリストに登録していません。 tは始めることを拒否する。この便利なポスト(https://pikeralpha.wordpress.com/2013/06/11/xnu-10-8-3-haswell-compatibility/)を使用して、Broadwellのサポートを追加するために編集が必要なファイルが見つかりました。私はここからOS Xのxnuソースをダウンロードしました:opensource.apple.com/tarballs/xnu/xnu-2422.115.4.tar.gz
私は関連情報を追加し、最後にカーネルをコンパイルし、Mavericksが起動しました。 (もちろん、PlatformSupport.plistを編集して私の掲示板IDをホワイトリストに入れた後)mavericks-on-mba2017
しかし、事実上すべてが機能しませんでした。キーボードのバックライトが動作し、Broadcom bcm4360が機能し、それがそれでした。キーボードとトラックパッドはspiで、10.10.3(最初のosを含む)の関連するkexts(applehsspihidriverなど)をコピーしてkextloadingした後、キーボードとトラックパッドはMavericksにネイティブであるかのように機能します。しかし、AppleIntelBDWGraphicsとそれに関連するドライバは動作しませんでした。 (また、10.10.3から引っ張られました)AppleIntelBDWGraphicsFramebufferがロードされ、CI(CoreImage)サポートが提供されましたが、あまりにも人気の高い半透明のメニューバー(Quartz Extreme関連)ではなく、私は動作するようになりました。迅速なGoogle検索はIOLockWakeupが同一である私の疑いを確認したとして、
$ sudo kextutil AppleIntelBDWGraphics.kext
Diagnostics for /System/Library/Extensions/AppleIntelBDWGraphics.kext:
Code Signing Failure: code signature is invalid
WARNING - Invalid signature -67061 0xFFFFFFFFFFFEFA0B for kext "/System/Library/Extensions/AppleIntelBDWGraphics.kext"
(kernel) kxld[com.apple.driver.AppleIntelBDWGraphics]: The following symbols are unresolved for this kext:
(kernel) kxld[com.apple.driver.AppleIntelBDWGraphics]: _IOLockWakeup_darwin14
(kernel) kxld[com.apple.driver.AppleIntelBDWGraphics]: _gpu_accumulate_time
(kernel) kxld[com.apple.driver.AppleIntelBDWGraphics]: _gpu_describe
(kernel) Can't load kext com.apple.driver.AppleIntelBDWGraphics - link failed.
私は簡単にIOLockWakeup_darwin14を修正する可能性があり、darwin14を切り捨てても何の害を引き起こさないだろう。ただ、すぐに何が悪かったのかを私に与えたkextutil呼び出します。私は実行可能ファイルを編集して、未解決のシンボルを_gpu_accumulate_timeと_gpu_describeに減らしました。ソースに戻り、関連コードをDarwin 14.0.0(ヨセミテ)のosfmk/kern/energy_perf.cに追跡した後、私はこれらの2つのシンボルを解決するために必要なすべてのファイルを苦労してコピーし、手作業でコンパイルしたエラーを修正しました。カーネルは(最終的に)コンパイルされ、私はすぐにそれをテストし、実際のkextがロードされたシンボルが、解決された後は:
$ sudo kextutil AppleIntelBDWGraphics.kext
Diagnostics for /System/Library/Extensions/AppleIntelBDWGraphics.kext:
Code Signing Failure: code signature is invalid
WARNING - Invalid signature -67061 0xFFFFFFFFFFFEFA0B for kext "/System/Library/Extensions/AppleIntelBDWGraphics.kext"
$ kextstat | grep AppleIntel
14 0 0xffffff7f808e7000 0x2b000 0x2b000 com.apple.driver.AppleIntelCPUPowerManagement (217.92.1) <7 6 5 4 3 1>
24 0 0xffffff7f809a3000 0x3000 0x3000 com.apple.driver.AppleIntelCPUPowerManagementClient (217.92.1) <7 6 5 4 3 1>
36 1 0xffffff7f80a58000 0x8000 0x8000 com.apple.driver.AppleIntelLpssDmac (2.0.57) <11 10 5 4 3>
37 1 0xffffff7f80a60000 0xa000 0xa000 com.apple.driver.AppleIntelLpssGspi (2.0.57) <11 10 7 5 4 3>
43 1 0xffffff7f80b28000 0x14000 0x14000 com.apple.driver.AppleIntelLpssSpiController (2.0.57) <37 36 10 5 4 3>
78 0 0xffffff7f81248000 0x54000 0x54000 com.apple.driver.AppleIntelBDWGraphicsFramebuffer (10.0.6) <77 76 75 18 11 10 7 6 5 4 3 1>
111 0 0xffffff7f81689000 0x79000 0x79000 com.apple.driver.AppleIntelBDWGraphics (10.0.6) <110 76 75 11 7 6 5 4 3 1>
私はソースで編集する方法と、どのようなファイルのあまり詳細には触れません。 QE(Quartz Extreme)はまだGUIでは動作しません。 Console.appをすばやく確認すると、理由がわかります。
10/2/17 9:19:36.687 PM WindowServer[523]: _CGXGLDisplayContextForDisplayDevice: No matching context for device (0x7ff91241e030) - disabling OpenGL
もう1つのGoogle検索では何も役立ちません。すべてのリンクは、単にメッセージを消音することに関連しており、明らかにQE/CIドライバが書かれていないUSB DisplayLinkモニタと関係があります。しかし、私はサポートされているグラフィックスカードにkextがロードされているので、バイナリパッチWindowServerなどが可能かどうかを確認して、デバイスの手動サポートを有効にしたいと考えました。ありがとうございました。
これはスーパーユーザである必要があります –
私はそれをどこに置くべきか分かりませんでしたが、これは単なるパワーユーザーのものよりプログラミングに関連しています。私は間違っているかもしれませんが、私はカーネルモードのものを直接修正しているのでここでは良いと思います。 –