ТОТАЛНИ ДЕФЕКТИ

Философия на безкрайността, чудесата и политическата мода

ПОРЪЧАЙ ТУК

или търси в книжарниците!

Hackintosh

Обновена на: March 24, 2022

Причините да искам да си играя да подкарам macOS на (един от) лаптопите си се базират на това, че macOS не е лоша операционна система.* Наскоро споделих с приятел, че ако Apple машините не бяха прекалено скъпи за това, което предлагат, бих ползвал само макбукове. Истината е, че по мое скромно мнение толкова пари за нещо недостатъчно мощно няма смисъл да се харчат… при все че отделиш няколко дни да се научиш как можеш да се възползваш от софтуера на нормален хардуер.

Централен проблем, разбира се, е, че Епъл е хардуерен вендър. Няма нужда и логика ОС-ът да поддържа повече от определен малък брой хардуер – доста специфичен при това – разбира се защото това е хардуерът, който идва с една епълска машина. Съответно да подкараш системата на части, които тя не харесва, е челинджа. Това се получава с kernel extensions, или kexts. Но и не само. Научавам, че често – особено на лаптопи – е нужно да се направят промени в т.нар. DSDT или, до колкото разбрах, ACPI коловете на ядрото, за да може системата да регулира яркостта на екрана, живота на батерията и т.н. Често тези пачове са отворени и трябва да се компилират до AML файлове, които после bootloader-a да ползва.

А той, впрочем, е чудо; Clover е този, който ме съветваха да ползвам, защото има два начина да вкараш един кекст в системата: да го копираш при другите кекстове (разбирай, да забучиш драйвър някъде в system32 папката, примерно) или да го инжектираш at boot time. Първият подход чупи всичко при ъпдейт; обновяването често ще замени системните кекстове. Кърнъл кешът също трябва да се чисти. Вторият подход е по-приемлив. Clover стои в EFI част от диска, където macOS не пипа. Инсталирането на нови кекстове тогава е въпрос на копирането им там.

Масивна спънка беше това, че въпреки успешното зареждане на ОС-а, екранът на лаптопът ми работеше, само когато вържех HDMI монитор. Отне дни и кекстове (които не помогнаха) да разбера, че просто трябва да кажа на macOS, че лаптопът е по-стар модел: Clover може да каже на операционната система какъв макбук (или мак като цяло) имаш, и по подразбиране моят билд казваше, че това е Macbookpro8,1. Щом кажа, че е 7,1, всичко работи. Ходи разбери.

Лично мой проблем беше и странното поведение на WiFi картата (Atheros AR9285), която се откриваше, но не можеше да се свързва към мрежи. В последствие стана ясно, че нямам правилен ACPI call, който да събужда адаптера, тоест той просто стоеше изключен. Наясно съм, че мога да намеря DSDT пач, който би трябвало да помогне, но на онзи етап последвах друг fix – адаптерите получават контакт за заспиване на 20-ия си пин. Ако сложиш изолир банд на този пин, картата винаги е събудена. …ползвах най-малките ножици на планетата и съм горд със себе си.

В заключение за момента ще кажа, че това си заслужаваше най-малко като хоби проект от оня клас, в който целиш да направиш нещо с компютър, което не бива да се случва. Дебъгинга ме доведе до инсталирането на Yosemite на машината, който в последствие успешно ъпгрейднах до Sierra. Нужно е да кажа, че е безкрайно по-лесно да подкараш ОС-а на настолна машина.

* Твърденията против macOS са както лицензионни, така и софтуерни. Еквивалент е на сравненията между други операционни системи, затова ще пропусна да ги коментирам.