Haswell için Mac OS X Mavericks Kernel Yamalama

Durum
Mesaj gönderimine kapalı.
Malum, Intel (ve AMD) her 1-2 senede bir yeni mimariler çıkartarak performans artışı ve daha düşük güç tüketimi adı altında kullanıcılara köklü değişikliklere sahip yeni çözümler sunuyorlar. Bilgisayar sektörünün kalbi olan işlemcilerin yeni mimarilere geçmesi, sektördeki diğer donanımlarda da yeni gelişmelere sahne oluyor. Özellikle bu işlemcilere ev sahipliği yapacak anakartlar doğuruyor. İşlemci + anakart demek de bir bilgisayarın %75'inden fazlası demek.

Haswell mimarisi 22nm'lik üretim teknolojisi ile 1150 pinli olup 4. "Core" neslidir ve tüm büyük bilgisayar firmaları, son ürettiği tüm laptopları bu mimaride üretip satmaktadır. Piyasaya çıkan farklı segmentteki anakart da artık Haswell mimarisine sahip olarak satışa sunulmaktadır.

Apple'da son yıllarda bütün kategorilerdeki masaüstü ve taşınabilir bilgisayarlarının işlemcilerini Intel firmasından temin etmekte. Bu bağlamda kullandıkları son işlemciler de Haswell mimarisine sahip 4.nesil Core ailesinin işlemcileri.

Bu gelişmelere kısaca değindikten sonra, Intel tarafından Haswell mimarili işlemcilerin piyasaya sürülmesi ile birlikte (özellikle bu mimarideki laptoplar ve bazı masaüstü) Mac bilgilsayarlarda (ve hackintoshlarda), güç yönetimi (PowerManagement) konusunda kullanıcıların sıkıntılar yaşandığı forumlarda görülmekte. Mavericks yüklü/yüklenen bu bilgisayarlar AppleIntelCPUPowerManagement kextini sorunu yüzünden, işlemciyi gereksiz olarak tam yük altında veya ihtiyaç halinde yeterli performans veremeden çalıştırmakta, hatta çoğu zaman bilgisayarın açılmaması ya da devamlı baştan başlatılması hatalarını doğurmaktadır.

Bu durumu düzeltmek için deneme yanılmalar sonucu elde edilen tecrübelere dayanarak bazı yamalar geliştirilmiştir. Aşağıda, bu yamaların neler olduğu ve nasıl yapılacağı anlatılmaktadır.


Not: Yazıda belirtilen kodların Terminal penceresinden yapıldığını hatırlatmak isterim. Terminalin nasıl açıldığını bilmeyen kullanıcılar için en kısa yol, üstteki barda saatin yanındaki arama kısmına Terminal yazmaktır.


BAZI ÖNERİLEN YAMALAR:

xpcm ile ilgili panic/reboot 10.9.x kernel
Kod:
perl -pi -e 's|\x74\x6c(\x48\x83\xc7\x28\x90\x8b\x05..\x5e\x00\x85\x47\xdc)\x74\x54(\x8b\x4f\xd8\x45\x85\xc0\x74\x08\x44\x39\xc1\x44\x89\xc1)\x75\x44(\x0f\x32\x89\xc0\x48\xc1\xe2\x20\x48\x09\xc2\x48\x89\x57\xf8\x48\x8b\x47\xe8\x48\x85\xc0\x74\x06\x48\xf7\xd0\x48\x21\xc2\x48\x0b\x57\xf0\x49\x89\xd1\x49\xc1\xe9\x20\x89\xd0\x8b\x4f\xd8\x4c\x89\xca)(\x0f\x30\x8b\x4f\xd8\x0f\x32\x89\xc0\x48\xc1\xe2\x20\x48\x09\xc2\x48\x89\x17\x48\x83\xc7\x30\xff\xce)\x75\x99(\x5d\xc3)\x90{7}|\x74\x73${1}\x74\x5b${2}\x75\x4b${3}\x66\x81\xf9\xe2\x00\x74\x02${4}\x75\x92${5}|g' mach_kernel

xpcm ile ilgili panic/reboot 10.8.5 kernel
Kod:
perl -pi -e 's|\x74\x69(\x48\x83\xc7\x28\x90\x8b\x05\xfe\xce\x5f\x00\x85\x47\xdc)\x74\x51(\x8b\x4f\xd8\x45\x85\xc0\x74\x05\x44\x39\xc1)\x75\x44(\x0f\x32\x89\xc0\x48\xc1\xe2\x20\x48\x09\xc2\x48\x89\x57\xf8\x48\x8b\x47\xe8\x48\x85\xc0\x74\x06\x48\xf7\xd0\x48\x21\xc2\x48\x0b\x57\xf0\x49\x89\xd1\x49\xc1\xe9\x20\x89\xd0\x8b\x4f\xd8\x4c\x89\xca)(\x0f\x30\x8b\x4f\xd8\x0f\x32\x89\xc0\x48\xc1\xe2\x20\x48\x09\xc2\x48\x89\x17\x48\x83\xc7\x30\xff\xce)\x75\x9c(\x5d\xc3)\x90{7}(\x90{3})|\x74\x70${1}\x74\x58${2}\x75\x4b${3}\x66\x81\xf9\xe2\x00\x74\x02${4}\x75\x95${5}${6}|g' mach_kernel

Local APIC panic (Ayrıca reboot hatasına sebep oluyor) 10.9 kernel
Kod:
perl -pi -e 's|(\x25\x1c\x00\x00\x00\x48\x8d\x0d\x46\x82\x5e\x00\x3b\x01)\x74(\x11\x48\x8d\x3d\x53\xff\x42\x00\x44)|${1}\xeb${2}|g' mach_kernel

Local APIC panic (Ayrıca reboot hatasına sebep oluyor) 10.8.5 kernel
Kod:
perl -pi -e 's|(\x25\x14\x00\x00\x00\x48\x8d\x0d\x50\x37\x60\x00\x3b\x01)\x74(\x10\x48\x8d\x3d\xfc\x12\x3f\x00\x89)|${1}\xeb${2}|g' mach_kernel


KERNEL NASIL YAMALANIR (PATCH EDİLİR)?

Unibeast ile usb'nizi hazırladıktan sonra, temiz (vanilla tabir edilen) mach_kernel usb'nizde bulunur. Bu mack_kernel'ı aşağıdaki şekilde yamalayabilirsiniz:

Terminal penceresinde, USB’nizin adının “USB” olduğunu farz edelim (herkes kendi usb adı neyse onu yazmalıdır)
Kod:
cp /Volumes/USB/mach_kernel ~/Desktop/mach_kernel_backup
cp /Volumes/USB/mach_kernel ~/Desktop/mach_kernel
cd ~/Desktop
perl ... (yukarıda perl ile başlayıp mach kernel ile biten kodlar buraya yazılacak) ... mach_kernel
perl ... (yukarıda perl ile başlayıp mach kernel ile biten kodlar buraya yazılacak) ... mach_kernel
sudo cp mach_kernel /Volumes/USB/mach_kernel

Yamalanmış mach_kernel ~/Desktop/mach_kernel klasöründe olacak.

OS X ‘i harddiskinize yükledikten sonra, aynı reboot (devamlı baştan açılma) problemine sebebiyet veren temiz (vanilla) mach_kernel harddiskinizde de olacak.
Bunu gidermek için tekrar OS X kurar gibi usb'nizden kurulum ekranına gelip burada Terminal penceresini çalıştırmanız ve yama yaptığınız mach_kernel ile orijinal olanın yerini değiştirmeniz gerekecek.

OS X kurulumu sırasında Terminal penceresinde aşağıdakini yazın
(herkes kendi harddisk adı neyse onu yazmalıdır aşağıdaki örnekte "Mavericks")
Kod:
cp /mach_kernel "/Volumes/Mavericks/mach_kernel"

Bu adımdan sonra Mac OS X kurulumundan çıkabilirsiniz ve normal şekilde, ilk kurulum yaptığınız sürücüden bilgisayarınızı boot edip kurulumu tamamlayabilir ve masaüstüne erişebilirsiniz.

MD5 özetinizi aşağıdaki kodla kontrol edebilirsiniz:
Kod:
md5 mach_kernel

10.9 mach_kernel
Kod:
vanilla: 06b687fa00945c97e06ad1919625793c
xcpm patched: 88bf62a7955b9e20cdb19906bdda6b43
lapic patched: 6ac911a71dc47d6c6233d28b60c9dbb7
patched with both: 9b2bdec07dc8a8d95a7a510700bad7fb

10.8.5 mach_kernel
Kod:
vanilla: e835be83eb956af0b63d28f69bfb22b3
xcpm patched: 539c3a1e2fef063384b44543765b8a39
lapic patched: 00bdc1a157c6f380eae816565c46033f
patched with both: 88dbe889c7b21ee951907c894bae6248


Konu, edinilen tecrübelere göre zamanla güncellenerek ilave bilgi eklenebilir.

Yamayı indirmek için tıklayın: mach_kernel.rar — Yandex.Disk (Winrar 5.00 gerektirir)
 
Son düzenleyen: Moderatör:
Eğer başarılı kurulum yapabilirsem rehber tarzı bir şey yapmaya çalışacağım. Lakin bir kaç soru daha sorayım. USB yi taktım yükledim. Bilgisayarı yeniden başlattım ve tekrar yükler gibi USB yi seçtim ardından dil menüsünden öteye geçmeden Terminali açtım. İşte tam burada kodları gireceğim. Kodları elle mi girecem yoksa o arada diğer USB yi taksam mach_kernel dosyasına iki defa tıklasam aynı şey olur mu ?

Kodları elle gireceksin. 2. usb belleğe aslında ihtiyacın yok.
Kodların ilk kısmı "USB" isimli bellekten, harddisk/masaüstüne mach_kernel dosyasını CopyPaste diyor.
İkinci kısım da, o masaüstündeki dosyayı yamalıyor (perl).
Tabi sonra cp /mach_kernel "/Volumes/Mavericks/mach_kernel"
(artık 2.HDD bölümünün ismini Mavericks ya da her ne koyduysan)
 
Durum
Mesaj gönderimine kapalı.

Yeni konular

Geri
Yukarı