x86 硬件上的 Mac OS X 2008–2024 技術文獻庫
InfiniteMac OSx86 › Snow Leopard 10.6 › 在技嘉 Gigabyte EP45-UD3P 底板上安裝 Snow Leopard
239,943 reads · 2009-08-23 – 2009-09-04
技術報告 Snow Leopard 10.6 Gigabyte G31M / P35

在技嘉 Gigabyte EP45-UD3P 底板上安裝 Snow Leopard

我正嘗試在技嘉 EP45-UD3P 底板上安裝 Snow Leopard,但每次從 Snow Leopard 硬碟開機引導時都會立即觸發五國當機(Kernel Panic)。請問有人成功在這款底板上讓 Snow Leopard 正常運作嗎?

主筆作者
@dmtza 發表於 2009-08-23
所屬專區
Snow Leopard 10.6
典藏規模與紀錄
239,943 次歷史閱讀 · 22 則精選技術筆記(萃取自 26 則原始回帖) · 2009-08-23 – 2009-09-04
參與貢獻成員 (6)
@machinist (10)@skydrone (9)@Obecny (4)@dmtza@DocShadow@mitchde
相關硬件參考
Gigabyte Motherboards ↗ SATA III & NVMe SSDs ↗ USB 3.2 Boot Flash Drives ↗
香港繁體精譯技術專卷 · 完整保留原始指令、Kext 名稱、ACPI 節點與開機參數查看英文原版 (Original English) →

我正嘗試在 Gigabyte EP45-UD3P 底板上安裝 Snow Leopard,但只要一從 Snow Leopard 硬碟開機引導,系統就會立即發生核心恐慌(KP)。

請問有人成功在這款底板上順利安裝並運行 Snow Leopard 嗎?

社群實測與技術補充筆記

自 26 則原始討論回帖中萃取 22 則高價值技術回應

技術筆記 #1 @Obecny 2009-08-23

我也有同樣的問題想請教,UD3P 在首次開機引導時就會發生 KP,無論是 x32 還是 x64 模式都一樣。

技術筆記 #2 @DocShadow 2009-08-23

這並非這款底板獨有的問題。論壇上有好幾篇討論帖都在探討 KP 的成因與可行的修復方案。

簡而言之……如果是在開機引導期間發生 KP,問題出在開機引導程式(Bootloader);如果是在進入桌面時發生,則是權限(Permissions)問題。

技術筆記 #3 @machinist 2009-08-23

UD3P 完全可行

你有仔細看過 Project Snow 嗎?該作者使用的正是 EP45T-UD3P,並提供了非常詳盡的安裝指南。

我自己用的就是 EP45-UD3P 搭配 Q6600。Snow Leopard 在這台機上只需四個核心延伸模組(Kext)加上一份修改版 DSDT 就能完美運行,不過我的藍寶石(Sapphire)3870 顯示卡確實帶來了一些小問題。

這塊底板(UD3P)對 Snow Leopard 的相容性其實相當出色。

技術筆記 #4 @Obecny 2009-08-23 ↳ Re: @machinist
@machinist你有仔細看過 Project Snow 嗎?該作者使用的正是 EP45T-UD3P,並提供了非常詳盡的安裝指南。我自己用的就是 EP45-UD3P 搭配 Q6600。Snow Leopard 在這台機上只需四個核心延伸模組(Kext)加上一份修改版 DSDT 就能完美運行,不過我的藍寶石(Sapphire)3870 顯示卡確實帶來了一些小問題。這塊底板(UD3P)對 Snow Leopard 的相容性其實相當出色。

請問你可以把你修補好的 DSDT 上傳到某個空間,或者透過電郵發給我嗎?

技術筆記 #5 @machinist 2009-08-23

dsdt

Project Snow 的作者已經在該網站上發佈了他的 DSDT,同時提供 .dsl 與 .aml 兩種格式。不過他的音效方案在你那邊很可能無法免驅直上(OOB)。我認為音效問題源於機背黑色音源插孔使用了 layout-id "12"。你可以試試改用 layout-id "66"(十六進制為 "0x42, 0x00, 0x00, 0x00")並配搭正確的 codec-id,音效應該就能正常運作。目前其他人用這個方法都成功了。

另外,InsanelyMac 論壇上也有一篇討論帖附帶了一份 .pdf 文件,詳細說明如何針對 Snow Leopard 修改 UD3x 系列底板的 DSDT。

如果你懂西班牙文,Pere 在 osx86.es 建立了一個內容非常豐富的 DSDT 資源網站。

我不認為單靠我的 DSDT 就能幫你解決開機 KP 的問題。

請問你的硬件配置是什麼?

技術筆記 #6 @Obecny 2009-08-23

我已經在簽名檔更新了我的硬件配置,現在準備深入搜尋一下英文版的 DSDT 修補指南。

技術筆記 #7 @skydrone 2009-08-24

machinist,請問你在這塊底板上能正常使用 Bonjour 嗎?

我的完全用不到。

你使用的是哪 4 個 Kext?

技術筆記 #8 @machinist 2009-08-24

skydrone:

無論在 10.5.8 還是 10.6 下,我透過 DSDT 啟用 RTL8169 網絡卡後都無法使用 Bonjour,不過「全雙工」(Full Duplex)模式是正常的。我還不想就這樣放棄 Bonjour,目前仍在嘗試各種不同的方法來啟用它。剛才下載並安裝了 Realtek 官方提供的 8169 Mac 驅動程式,但似乎沒有任何改善。如果之後能讓 8169 與 Bonjour 正常配合運作,我會再上來回報。

你有試過什麼方法來啟用 Bonjour 嗎?

我在 Snow Leopard 中使用的四個 Kext 分別是:

fakesmc
nullpower
open halt restart
platform uuid

請問你用了哪些?

技術筆記 #9 @skydrone 2009-08-24

我的情況跟你一模一樣。乙太網絡可以毫無問題地以 1Gbit 速度運作,在 Finder 中也能看到並存取 Samba 共享資料夾。但某些依賴 Bonjour 的應用程式(例如 Cyberduck 或 Things)卻完全看不到任何共享資源。

我回家後會試試 R1000.kext,到時再向大家回報結果。

我使用的 Kext 跟你相同,但另外還加了 sleepenabler 和 disabler,否則我的系統無法正常進入睡眠狀態。

技術筆記 #10 @mitchde 2009-08-24

你可以透過修改 DSDT 來修復 Bonjour / Time Machine(兩者屬於同一個問題!)。
問題根源在於 OS X 並未將我們的區域網絡卡識別為內置(built-in)裝置,導致 Bonjour 與 Time Machine 無法運作。
DSDT 的 Time Machine 修復補丁會注入 built-in 屬性,因此你完全不需要對 IONetwork 或網絡卡驅動進行任何 .kext 修補。

請參考這裏:
http://www.insanelymac.com/forum/index.php?showtopic=14… ↗

技術筆記 #11 @skydrone 2009-08-24

感謝 mitchde 提供這項資訊!

請問你在這塊底板上試過這個修復方法嗎?能確認它可以正常運作嗎?我現在不在家,但一回到家就會馬上測試。

技術筆記 #12 @skydrone 2009-08-24

如果有人現在就能測試,以下是需要加入到 DSDT 內 Network(網絡)區段下的程式碼:

Method (_DSM, 4, NotSerialized)
{
Store (Package (0x06)
{
"built-in",
Buffer (One)
{
0x01
},

"device_type",
Buffer (0x09)
{
"ethernet"
},
"name",
Buffer (0x24)
{
"Realtek RTL8111/8168B PCI-E Gigabit"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}

技術筆記 #13 @machinist 2009-08-24

skydrone

這段程式碼在我的機器上沒有帶來任何改變。RTL8169E 的 Bonjour 依然處於「半殘」狀態:這台機器的共享資源會顯示在其他機器的 Finder 側邊欄中,但其他機器的共享資源卻不會出現在這台機器的 Finder 側邊欄裏。如果改用 Psystar 的 R1000 kext,雙向探索就都能正常運作。

請問這段程式碼在你的機器上能實現雙向正常運作嗎?

mitchde:「Built-in」或許是 Bonjour 的必要條件,但光靠它還不夠。我的兩個網絡埠在兩個系統版本下都已顯示為「built-in」,然而 8169 上的 Bonjour 依然只有單向有效。

唯有將兩個網絡埠分別套用「Time Machine 修復補丁」,並建立有效的 UUID,才能真正達成零錯誤的「built-in」狀態。我是使用 platform uuid kext,並將其與 smbios 以及磁碟工具程式(Disk Utility)讀取到的磁碟 UUID 保持同步。(請參閱 Voodoo 論壇上關於 uuid 與「error 35」討論帖的第 23 樓回覆:http://forum.voodooprojects.org/index.php?PHPSESSID=hc9… ↗)

這並非個別案例。另一位撰寫 EP45T-UD3P 指南的作者在使用 EFI 字串(EFI string)啟用其中一個網絡埠時,也遇到了完全相同的問題:http://www.insanelymac.com/forum/index.php?showtopic=16… ↗

(他在文中錯誤地斷言「沒有任何 Mac 配備雙乙太網絡埠」,事實上所有 Mac Pro 都配備雙乙太網絡埠。)

半套 Bonjour 總比完全沒有好,但這個現象確實非常耐人尋味。

技術筆記 #14 @skydrone 2009-08-24

我剛回到家,第一個測試就是把 R1000.kext 加入到 /Extra/Extensions.mkext 中,並在 boot.plist 加上 arch=i386 參數開機。

結果毫無變化。Finder 裏依然能看到 SMB 共享,但我認為 Bonjour 根本完全沒運作,因為 Cyberduck 的 Bonjour 分頁還是找不到我的 iPhone。

請問有什麼簡單的方法可以測試 Bonjour 是否正常運作嗎?

技術筆記 #15 @skydrone 2009-08-24

終於搞定了!成功運作!

你只需要把網絡卡(NIC)切換到混雜模式(promisc mode)即可。 : :

技術筆記 #16 @machinist 2009-08-24 ↳ Re: @skydrone
@skydrone終於搞定了!成功運作!你只需要把網絡卡(NIC)切換到混雜模式(promisc mode)即可。 : :

恭喜你,skydrone!

請問你有使用 R1000 kext 嗎?

要如何為底板內置的 R8168C 啟用混雜模式(promiscuous mode)呢?

技術筆記 #17 @skydrone 2009-08-25

多謝 machinist!

完全不需要像 R1000 這類額外的 Kext,直接用 Apple 原生驅動即可。
你只需要從這裏下載修改版的 ifconfig:

stan ford.edu/~dub/macstuff/ifconfig.tgz

然後設定每次開機時將網絡卡(NIC)切換為 promisc 模式就可以了。

技術筆記 #18 @machinist 2009-08-31

Bonjour

skydrone:

感謝你分享這個出色的 ifconfig 程式連結。可惜的是,我這裏依然沒有「Bonjour」,或者說沒有達到我期望的效果。與這台電腦連線的另一台 Mac/黑蘋果依然能「看到」這台機器,並在 Finder 側邊欄自動顯示共享資料夾;但那台機器的共享檔案卻怎樣都不會顯示在這台機器的 Finder 側邊欄中。請問這項功能在你那邊正常嗎?

我還沒有放棄。我見有些資料提到這可能與校驗和卸載有關,於是嘗試在 IONetworkingFamily.kext 內的 8168/8169 kext 中啟用「checksum offload」,但依然沒有成功。

我手頭上還有幾個構想,如果試出有效的方案會再貼上來。

好好享受你的「Bonjour」吧,也感謝你與我分享你的測試成果。

技術筆記 #19 @skydrone 2009-08-31

Machinist,

請保持所有檔案未經修改,只使用全原生(Vanilla)Kext。接著透過 ifconfig 檢查你的網絡卡是否確實運行於 Promisc 模式。

你可以使用 Cyberduck 的 Bonjour 分頁來測試它是否正常運作。這個方法已經在許多人的機器上奏效,所以我實在看不出你的系統為什麼會有問題。

你能試試這樣做,並提供更多詳細資訊嗎?

技術筆記 #20 @machinist 2009-08-31

skydrone:

我已經全部改用原生(Vanilla)配置,但問題依舊。將兩台黑蘋果連線時,另一台機器可以顯示這台機器的共享項目;當關閉共享時,共享項目也會隨之從另一台機器的 Finder 側邊欄消失。但反過來卻完全不行,除非裝上 RTL1000 kext。而在使用 R1000 kext 時,ifconfig 並不會顯示為 promisc 模式。

我已經反覆確認過 promisc 模式確實處於啟用狀態,並將整個流程重試了好幾次。我不敢百分百排除自己「人為出錯」的可能,但機率真的很低。簡單來說,裝上 R1000 我就能看到另一台黑蘋果的共享,拿掉它就很遺憾地看不到了。

當你將兩台電腦連線並開啟檔案共享時,你能看到另一台電腦的共享項目嗎?

技術筆記 #21 @machinist 2009-09-01

skydrone:

這個「promisc 修復法」最近也被轉發到這篇討論帖中了:

http://www.insanelymac.com/forum/index.php?showtopic=18… ↗

其中一位用家成功享受到完整的 Bonjour 功能並能正常顯示共享項目;另一位用家的 Snow Leopard 機器則是「看得到別人、但別人看不到它」,恰好與我這台 Snow Leopard「看不到別人」的情況完全相反。

這些回覆都在該討論帖的後段位置。

我想你應該會對這個現象感興趣。

技術筆記 #22 @machinist 2009-09-03 ↳ Re: @skydrone
@skydroneMachinist,請保持所有檔案未經修改,只使用全原生(Vanilla)Kext。接著透過 ifconfig 檢查你的網絡卡是否確實運行於 Promisc 模式。你可以使用 Cyberduck 的 Bonjour 分頁來測試它是否正常運作。這個方法已經在許多人的機器上奏效,所以我實在看不出你的系統為什麼會有問題。你能試試這樣做,並提供更多…

skydrone:

採用零售版(Retail)重新安裝並啟用 ifconfig promisc 模式後,Bonjour 現在看起來已經完全恢復正常運作了!看到這台機器終於能在我的黑蘋果叢集中與其他電腦互相探索並雙向顯示,實在令人驚喜。

參與實測與協作驗證成員: @machinist @Obecny @skydrone
文獻來源與貢獻者溯源名錄(共 6 位具名成員 · 原始討論串 #3747)
成員用戶名本卷貢獻角色發帖數活躍時間窗
@machinist核心貢獻者102009-08-23 → 2009-09-03
@skydrone核心貢獻者92009-08-24 → 2009-09-04
@Obecny核心貢獻者42009-08-23 → 2009-08-24
@dmtza主筆作者12009-08-23
@DocShadow協作成員12009-08-23
@mitchde協作成員12009-08-24

選擇語言 · Choose your language