OSx86

MSI Wind OS X.jpg
OSx86 10.4.10 (ядро semthex's) на машине с процессором Core 2 Duo

OSx86, сочетание аббревиатуры OS X и названия архитектуры микропроцессоров x86 - общий хакерский проект по реализации возможности работы операционной системы Apple Mac OS X на компьютерах с процессорами x86-архитектуры. Проект стартовал после Мировой конфереции разработчиков ( англ. Worldwide Developers Conference ) В июне 2005, где было сообщено о планах Apple применять на своих компьютерах вместо процессоров PowerPC процессоры Intel. Компьютеры с этой операционной системой время называют "Хакинтош" ( англ. Hackintoshes ).


1. История взлома Mac OS X

1.1. Mac OS X 10.4 - 10.4.4

6 июня 2005 компания Apple объявляет о платной доступности своего пакета Developer Transistion Kit, представляющий собой пререлизну версию Mac OS X 10.4 способную запускаться на x86 аппаратном обеспечении при верификации TPM. Хакер MAXXUSS успешно применил злом ядра и ряда компонентов для запуска пререлизних сборников Mac OS X. После получила распространение первый "хак" - сборник Mac OS X 10.4.1. 10 января 2006 компания Apple выпустила первую версию операционной системы Mac OS X 10.4.4 для первого поколения компьютеров Apple на базе процессоров Intel - iMac и MacBook Pro. В ПЗУ этих машин вместо обычного BIOS устанавливались прошивки Extensible Firmware Interface (EFI). 14 февраля 2006 в сети Интернет появился первый "хак" Mac OS X v10.4.4. Через несколько часов, Apple выпустила обновление 10.4.5, которое также было "пропатчить" тем же автором уже через пару недель. 3 апреля 2006 вышло обновление 10.4.6 и снова через две недели появились патчи этого обновления - пользователи компьютеров x86 могли обновиться до последней версии, хотя само ядро ​​не обновлялось в 10.4.6. В июне того же года хакеры выпустили пропатченных обновление 10.4.7. Вплоть до выпуска обновления 10.4.8, хакеры использовали ядро ​​10.4.4, в то время как остальная часть системы обновлялась до 10.4.8. Однако, обновленные части системы полагались на обновленное ядро, поэтому с выходом 10.4.8 у пользователей появился ряд проблем. Apple также сделала упор на использование инструкций процессора SSE3, что создало еще больше сложностей для пользователей, чьи процессоры поддерживали только SSE2 (например, Pentium 4).


1.2. Патч ядра XNU

Два программиста, в интернете известны как Mifki и Semthex, выпустили свои версии ядра, взяв за основу исходный код проекта XNU и написав для него патчи, позволяющие запускать Mac OS X на не Apple машинах. Однако ядра Mifki и Semthex были неодинаковы - в то время, как ядро ​​Mifki мало минимальное количество патчей, что позволяло его запускать только на компьютерах, конфигурация которых была близка к конфигурации оригинальных компьютеров Apple, то ядро ​​Semthex было подвергнут большим модификациям, что позволяло использовать его с большим количеством конфигураций. Оба ядра позволяли запускать большинство обновленных фреймворков и расширений ядра, что позволяло настроить обычный PC, так чтобы для системы он выглядел почти как обычный Macintosh. Mifki обновил свое ядро ​​лишь однажды, в то время как Semthex стал выпускать регулярные обновления, добавив в следующих версиях поддержку AMD, VMware и SSE2. Semthex также опубликовал исходный код Патченый ядра на своей веб-странице. 24 декабря 2006, как подарок сообществу, он также опубликовал последние патчи к ядру SSE3 как diff-файл различий по отношению к оригинальной ветке исходников XNU. Стоит также обратить особое внимание на его работу совместно с Rufus по эмуляции инструкций SSE3 - это была первая опубликованная полная эмуляция SSE3, существующие до этого эмуляции были существенно неполны, эмулируя лишь 3 инструкции SSE3. Это достижение позволило полноценно выполнять на процессорах SSE2 приложения, требующие SSE3, такие как iTunes 7 и большинство 3D-программ.


1.3. Mac OS X 10.5 Leopard

Уже после появления билда 9A466 новой версии Mac OS X v10.5 (кодовое имя Leopard), сообщество располагало версии этого релиза для не Apple машин. Хакер BrazilMac одним из первых проработал процесс патчинга, позволяющий пользователям стороннего оборудования устанавливать легально полученную "розничную" версию Apple Mac OS X. После этого появилось сразу несколько дистрибутивов Mac OSx86, использующих этот патч, четыре самых популярных из них - это JaS, Kalyway, iATKOS и iDeneb, хотя довольно скоро эти дистрибутивы перешли на набирающем популярность метод Boot-132 (см. ниже). Дистрибутивы стали регулярно публиковаться в Интернете и регулярно обновляться, не столько для сохранения совместимости с релизами Apple, сколько для включения все новых патчей для все более расширяется круг аппаратного обеспечения.


1.4. Эмуляция EFI

Extensible Firmware Interface (EFI) - это спецификация, определяющая программный интерфейс между операционной системой и аппаратным обеспечением. Давно используется в серверных материнских платах многих производителей, но в ноутбуках и десктопных материнских платах есть практически только в продукции Apple. В начале ноября 2007 года, группа хакеров (возглавляемая хакером Netkas), используя модифицированную ветку исходников boot-132 от David Elliot, разработала метод эмуляции EFI, используя особым образом модифицированный загрузчик Darwin. В практическом смысле это означает, что стало возможно представить обычный ПК для Mac OS X таким образом, что Mac OS считает машину обычным Macintosh и ядро ​​системы надежно и прозрачно работает с "неродным" аппаратным обеспечением без применения модификаций. На основе этого хака появилось сразу несколько рабочих решений. Подробное описание этого достижения, вместе с пошаговым руководством появилось на сайте DigitMemo.com. Эмуляция EFI была крайне востребованным вкладом в проект. До этого, пользователи могли использовать Mac OS X на обычных ПК, только используя пропатченных ядро, обходит обращения к EFI. С использованием эмуляции EFI, Хакинтоша смог загружать "ванильные" (немодифицированные) ядра операционной системы, и использовать оригинальные расширения. Это сделало систему совместимой с будущими обновлениями и, кроме того, значительно повысило стабильность системы. В середине 2008 года появился коммерческий продукт EFi-X (подключаемый модуль к USB), что дает возможность загружать и устанавливать Leopard без каких-либо патчей.


1.5. Boot-132

В середине 2008 года также появился новый метод установки, известный как BOOT-132. Этот метод позволил использовать для установки обычную, легально приобретенную версию Leopard, которая требует сломанных инсталляций, таких как JaS или Kalyway. Загрузчик Boot-132 готовит для установки среду, в которой Leopard может загружаться и работать. Необходимые патчи (kext файлы) подаются для него в виде. Img-файла или просто складываются в папку. Преимущество этого метода в том, что можно загружаться и устанавливаться прямо из оригинального DVD и даже обновлять систему прямо с сайта Apple. Переустановка системы также не требует повторного применения необходимых патчей. Загрузчик работает как ядро ​​Linux: он может использовать mboot-совместимый загрузчик (обычно используется патченый syslinux), который подает boot-dfe. Img-файл (пользователям Linux он известен как RAM-диск или initrd), и boot-dfe использует его для получения kext / mkext файлов. Однако, это работает только на совместимых машинах, но в последнее время, с выходом ядра Voodoo пользователи AMD также получили возможность устанавливаться с оригинального DVD. Это требует размещения Патченый ядра на диске boot-132.


1.6. Mac OS X 10.6 Snow Leopard

С появлением первых билдов Mac OS X 10.6, предназначенных для разработчиков ПО, члены сообщества OSx86 получили возможность загружать новую версию операционной системы, используя загрузчик, предоставленный хакером netkas. Позже в свет вышли несколько Хакинтоша-сборников - Universal, Hazard, iAtkos и т. д. С развитием Chameleonьа и OSx86-сообщества в целом установка ОС на ПК стала более дружественной.

1.7. Live DVD

В марте 2007 года сообщество проекта OSx86 преуспело в создании Live DVD, что позволяет загрузить систему и работать в ней, не устанавливая ее на компьютер. В тот момент удалось таким образом запустить Mac OS X 10.4.8. 2 января 2009 LiveDVD-команда форума InsanelyMac опубликовала новый метод, позволяющий создавать LiveDVD для Mac OS X v10.5.x. [11] Этот метод надежен, поскольку он использует возможности Netboot и Imageboot самой системы, и работает так, как будто система запущена с сетевого диска. Кроме того, этот метод проще в воплощении, нужно лишь добавить один сценарий к существующей инсталляции. Интересно, что этот метод был успешно испытан на обычной Apple Mac машине. [Править] Mac OS X 10.7 Lion В феврале 2011 года вышел первый релиз для разработчиков ПО. С помощью загрузчика XPC хакер netkas смог запустить Mac OS X Lion на обычном x86-совместимом компьютере. Девелопером под ником "ИК-sse2" был составлен способ, с помощью которого можно было установить DP1, используя XPC Bootloader. Позже в свет вышел Chameleon, способен успешно загружать новую ОС.


1.8. Преследования со стороны Apple

Соглашение с конечным пользователем (EULA) на Mac OS X запрещает установку системы на компьютеры сторонних производителей (англ. non Apple-labeled hardware). Компания Psystar течение нескольких месяцев выпускала компьютеры под маркой "Open Computer" - клоны Mac. 3 июля 2008 Apple подала иск против Psystar Corporation за нарушение Mac OS X EULA, помимо прочих нарушений. 14 января 2009 сайт Gadget Lab, принадлежащий журнала Wired, опубликовал видео-руководство по установке Mac OS X на ноутбук MSI Wind. После жалобы со стороны Apple, видео было убрано, хотя текст руководства остался на сайте, с предупреждением о возможном нарушении EULA. 13 ноября 2009 Apple одержала победу в судебном иске против компании Psystar. Федеральный суд США постановил, что производитель компьютеров-клонов нарушает права Apple, когда продает ПК с предустановленной системой Mac OS X.