Решил составить «опись имущества» — что собой представляет мой хакинтош, как что настроено, откуда что берется. Вчера обновлял до 10.6.3, долго вспоминал что к чему и в итоге чуть не пролетел — оказывается, грузится он не из EFI раздела, а с основного HFS.

Основное железо

  • Материнская плата Gigabyte GA-EP45-DS3 (Rev. 1.0)
  • Intel P45 + ICH10 Chipset
  • Звук ALC889A — основное отличие от других GA-EP45, в которые чаще устанавливают ALC888 — работает, требовалось настраивать
  • 2 x Realtek 8111C Gigabit Ethernet LAN — работают оба, есть мнение, что есть проблемы с Bonjour, но я не уверен
  • JMicron 368 ATA (IDE) — не используется и не работает
  • Intel ESB2 AHCI — 6 портов SATA, заняты 3: Optiarc DVD RW AD-7170S, WDC WD6400AAKS, SAMSUNG HD300LJ
  • ITE8718 — контроллер дисковода (floppy), не используется
  • IEEE 1394a (T.I. TSB43AB23) — не пользовался, но в системе FireWire присутствует (до 400 Мбит/с)
  • USB работает, ничего интересного

Воткнуто

  • Bluetooth D-Link DBT-120 USB 2.0 dongle — работает, на нем висит Magic Mouse
  • Камера A4 Tech PK-130MJ — работает
  • Magic Mouse via Bluetooth, алюминиевая проводная клавиатура Apple — работают прямо сейчас
  • Видеокарта MSI NX-7600GT (NVIDIA GeForce 7600GT 256Mb) — работает с родными драйверами
  • Intel Core2Quad (Q6600) + 8Gb DDR2 RAM (4x2Gb) — с этим понятно

Информация о системе, для протокола

Аппаратные средства:
Аппаратные средства:
  Название модели:	Mac Pro
  Идентификатор модели:	MacPro3,1
  Имя процессора:	Quad-Core Intel Xeon
  Скорость процессора:	2.4 ГГц
  Количество процессоров:	1
  Общее количество ядер:	4
  Кэш 2-го уровня:	8 МБ
  Память:	8 ГБ
  Частота шины:	1.07 ГГц
  Версия Boot ROM:	MP31.00C1.B00
  Версия SMC (система):	1.30f3
  Серийный номер (система):	W8723SJHYA4
  UUID аппаратного обеспечения:	DF557FA2-C304-556B-A442-960AB835CB5D
Программное обеспечение:
Обзор системы программного обеспечения:
  Версия системы:	Mac OS X 10.6.3 (10D573)
  Версия Kernel:	Darwin 10.3.0
  Загрузочный том:	Snow
  Режим загрузки:	Нормальный
  Имя компьютера:	Undiscl
  Имя пользователя:	Undiscl (Undiscl)
  Защитить Виртуальную память:	Не включено
  64-битное ядро и расширения:	Нет
  Время после загрузки:	15:45
Сеть:
Удаленный доступ Bluetooth:
  Тип:	PPP (PPPSerial)
  Аппаратура:	Модем
  BSD-имя устройства:	Bluetooth-Modem
  IPv4:
  Метод конфигурации:	PPP
  IPv6:
  Метод конфигурации:	Автоматический
  Прокси:
  Пассивный FTP-режим:	Да
  Порядок служб:	3
Ethernet:
  Тип:	Ethernet
  Аппаратура:	Ethernet
  BSD-имя устройства:	en1
  IPv4-адреса:	192.168.1.2
  IPv4:
  Адреса:	192.168.1.2
  Метод конфигурации:	Вручную
  Имя интерфейса:	en1
  Сетевая подпись:	IPv4.Router=192.168.1.101;IPv4.RouterHardwareAddress=00:0d:33:04:3d:88
  Маршрутизатор:	192.168.1.101
  Маски подсети:	255.255.255.0
  IPv6:
  Метод конфигурации:	Автоматический
  DNS:
  Искать домены:	suunto.lan
  Сервер-адреса:	8.8.8.8, 8.8.4.4, 192.168.1.101
  Ethernet:
  MAC-адрес:	00:14:d0:28:f1:41
  Параметры носителя:	Полный дуплекс
  Подтип носителя:	100baseTX
  Прокси:
  Список исключений:	*.local, 169.254/16
  Пассивный FTP-режим:	Да
  Порядок служб:	4
FireWire:
  Тип:	FireWire
  Аппаратура:	FireWire
  BSD-имя устройства:	fw0
  IPv4:
  Метод конфигурации:	DHCP
  IPv6:
  Метод конфигурации:	Автоматический
  Ethernet:
  MAC-адрес:	00:2f:1d:48:00:00:1f:d0
  Параметры носителя:	Полный дуплекс
  Подтип носителя:	Автовыбор
  Прокси:
  Список исключений:	*.local, 169.254/16
  Пассивный FTP-режим:	Да
  Порядок служб:	5
Bluetooth:
  Версия ПО Apple Bluetooth:	2.3.1f4
  Настройки аппаратуры:
  Адрес:	00-0f-4d-39-b0-47
  Производитель:	Cambridge Silicon Radio
  Имя:	Undiscl
  Версия прошивки:	525
  Сигнал Bluetooth:	Вкл.
  Поддается обнаружению:	Да
  Имя производителя:	0
  ID продукта:	0x1
  Версия HCI:	1 (0x1)
  Ревизия HCI:	525 (0x20d)
  Версия LMP:	1 (0x1)
  Подверсия LMP:	525 (0x20d)
  Тип устройства (основной):	Компьютер
  Тип устройства (полный):	Стационарный Macintosh
  Композитный класс устройства:	3670276 (0x380104)
  Класс устройства (основной):	1 (0x1)
  Класс устройства (малый):	1 (0x1)
  Класс службы:	448 (0x1c0)
  Требует идентификации:	Нет
  Службы:
  Передача файлов по Bluetooth:
  Общая папка для устройств:	~/Public
  Требует идентификации:	Да
  Состояние:	Подключено
  Обмен файлами по Bluetooth:
  Папка для принятых объектов:	~/Downloads
  Требует идентификации:	Нет
  Когда приняты другие объекты:	Спрашивать
  Когда приняты объекты PIM:	Спрашивать
  Во время принятия объектов:	Спрашивать о каждом файле
  Состояние:	Подключено
  Устройства («Подключенные», «Фавориты» и т.д.):
  Device:
  Имя:	Мышь Undiscl #1
  Адрес:	d4-9a-25-82-31-3d
  Тип:	Мышь
  Версия прошивки:	0x84
  Службы:	Apple Wireless Mouse
  Подключено:	Да
  Фаворит:	Нет
  Подключено:	Да
  Производитель:	Apple (0x3, 0x31c)
  Имя производителя:	0x5ac
  ID продукта:	0x30d
  Device:
  Имя:	S5050
  Адрес:	00-25-67-e7-eb-35
  Тип:	Мобильный телефон
  Версия прошивки:	0000
  Службы:	Advanced audio source, Dial-up Networking, Object Push, Voice GW, SIM Access, Voice GW, OBEX File Transfer, Serial Port
  Подключено:	Да
  Фаворит:	Нет
  Подключено:	Нет
  Производитель:	Broadcom (0x4, 0x420e)
  Имя производителя:	0x0f
  ID продукта:	0000
  Входящие последовательные порты:
  Последовательный порт 1:
  Имя:	Bluetooth-PDA-Sync
  RFCOMM Channel:	3
  Требует идентификации:	Нет
  Выходящие последовательные порты:
  Последовательный порт 1:
  Адрес:	
  Имя:	Bluetooth-Modem
  RFCOMM Channel:	0
  Требует идентификации:	Нет
FireWire:
Шина FireWire:
  Максимальная скорость:	До 400 Мбит/с
USB:
Высокоскоростная шина USB:
  Размещение контроллера хоста:	Встроенная, USB
  Драйвер контроллера хоста:	AppleUSBEHCI
  ID PCI-устройства:	0x293c 
  ID ревизии PCI:	0x0000 
  ID PCI-производителя:	0x8086 
  Номер шины:	0xfa 
A4 TECH USB2.0 PC Camera J:
  ID продукта:	0xc40a
  ID производителя:	0x0ac8  (Vimicro Corporation)
  Версия:	 1.00
  Скорость:	До 480 Мб/с
  Производитель:	A4 TECH
  ID размещения:	0xfa500000
  Действительный ток (мА):	500
  Требуемый ток (мА):	500
Концентратор клавиатуры:
  ID продукта:	0x1006
  ID производителя:	0x05ac  (Apple Inc.)
  Версия:	94.15
  Серийный номер:	000000000000
  Скорость:	До 480 Мб/с
  Производитель:	Apple, Inc.
  ID размещения:	0xfa200000
  Действительный ток (мА):	500
  Требуемый ток (мА):	300
Клавиатура Apple:
  ID продукта:	0x0221
  ID производителя:	0x05ac  (Apple Inc.)
  Версия:	 0.69
  Скорость:	До 1,5 Мб/с
  Производитель:	Apple, Inc
  ID размещения:	0xfa220000
  Действительный ток (мА):	100
  Требуемый ток (мА):	20

Высокоскоростная шина USB:
  Размещение контроллера хоста:	Встроенная, USB
  Драйвер контроллера хоста:	AppleUSBEHCI
  ID PCI-устройства:	0x293a 
  ID ревизии PCI:	0x0000 
  ID PCI-производителя:	0x8086 
  Номер шины:	0xfd 
Шина USB:
  Размещение контроллера хоста:	Встроенная, USB
  Драйвер контроллера хоста:	AppleUSBUHCI
  ID PCI-устройства:	0x3a38 
  ID ревизии PCI:	0x0000 
  ID PCI-производителя:	0x8086 
  Номер шины:	0x3a 
Шина USB:
  Размещение контроллера хоста:	Встроенная, USB
  Драйвер контроллера хоста:	AppleUSBUHCI
  ID PCI-устройства:	0x3a37 
  ID ревизии PCI:	0x0000 
  ID PCI-производителя:	0x8086 
  Номер шины:	0x1a 
Контроллер Bluetooth USB:
  ID продукта:	0x0001
  ID производителя:	0x0a12  (Cambridge Silicon Radio Ltd.)
  Версия:	 5.25
  Скорость:	До 12 Мб/с
  ID размещения:	0x1a100000
  Действительный ток (мА):	500
  Требуемый ток (мА):	0
Шина USB:
  Размещение контроллера хоста:	Встроенная, USB
  Драйвер контроллера хоста:	AppleUSBUHCI
  ID PCI-устройства:	0x3a39 
  ID ревизии PCI:	0x0000 
  ID PCI-производителя:	0x8086 
  Номер шины:	0x5a 
Back-UPS CS 650 FW:817.v3.I USB FW:v3:
  ID продукта:	0x0002
  ID производителя:	0x051d  (American Power Conversion)
  Версия:	 0.06
  Серийный номер:	QB0546234880  
  Скорость:	До 1,5 Мб/с
  Производитель:	American Power Conversion
  ID размещения:	0x5a200000
  Действительный ток (мА):	500
  Требуемый ток (мА):	0
Аудио (встроенное):
Intel High Definition Audio:
  ID устройства:	0x1458A002
  ID аудио:	12
  Доступные устройства:
  Динамик:
  Подключение:	Внутренний
  Встроенный микрофон:
  Подключение:	Внутренний
  Линейный вход:
  Подключение:	1/8-дюймовое гнездо
  Наушник:
  Подключение:	1/8-дюймовое гнездо
  Выход S/P-DIF:
  Подключение:	Оптический
  Вход S/P-DIF:
  Подключение:	Оптический
Графика/Мониторы:
GeForce 7600 GT:
  Модель набора микросхем:	GeForce 7600 GT
  Тип:	GPU
  Шина:	PCIe
  Слот:	Slot-1
  Ширина полосы PCIe:	x16
  VRAM-память (всего):	256 МБ
  Производитель:	NVIDIA (0x10de)
  ID устройства:	0x0391
  Ревизия:	0x00a1
  Ревизия ROM:	xx.xx.xx - internal
  Мониторы:
AL2023:
  Разрешение:	1600 x 1200 @ 60 Гц
  Пиксельная глубина:	Цвет 32-бит (ARGB8888)
  Основной монитор:	Да
  Синхронизация:	Выкл.
  Онлайн:	Да
  Поворот:	Поддерживается
Подключение дисплея:
  Статус:	Монитор не подключен
Карты Ethernet:
ethernet:
  Тип:	Контроллер Ethernet
  Шина:	PCI
  ID производителя:	0x10ec
  ID устройства:	0x8168
  ID производителя подсистемы:	0x1458
  ID подсистемы:	0xe000
  Идентификатор версии:	0x0002
  Ширина ссылки:	x1
  Имя BSD:	en0
  Имя Kext:	AppleRTL8169Ethernet.kext
  Размещение:	/System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleRTL8169Ethernet.kext
  Версия:	1.1
ethernet:
  Тип:	Контроллер Ethernet
  Шина:	PCI
  ID производителя:	0x10ec
  ID устройства:	0x8168
  ID производителя подсистемы:	0x1458
  ID подсистемы:	0xe000
  Идентификатор версии:	0x0002
  Ширина ссылки:	x1
  Имя BSD:	en1
  Имя Kext:	AppleRTL8169Ethernet.kext
  Размещение:	/System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleRTL8169Ethernet.kext
  Версия:	1.1
Карты PCI:
GeForce 7600 GT:
  Имя:	NVDA,Display-B
  Тип:	display
  Драйвер установлен:	Да
  Шина:	PCI
  Слот:	Slot-1
  ID производителя:	0x10de
  ID устройства:	0x0391
  ID производителя подсистемы:	0x1462
  ID подсистемы:	0x0010
  Ревизия ROM:	xx.xx.xx - internal
  ID ревизии:	0x00a1
  Ширина ссылки:	x16
  Скорость связи:	2.5 GT/s
Оптический накопитель:
Optiarc DVD RW AD-7170S:
  Ревизия прошивки:	1.00
  Подключение:	ATAPI
  Поддержка записи:	Да (общий накопитель поддержки)
  Путь профиля:	Нет
  Кэш:	2048 КБ
  Чтение DVD-диска:	Да
  Запись СD:	-R, -RW
  Запись DVD:	-R, -R DL, -RAM, -RW, +R, +R DL, +RW
  Стратегии чтения:	CD-TAO, CD-SAO, CD-Raw, DVD-DAO
  Вид носителя:	Чтобы посмотреть доступные скорости записи, вставьте диск и выберите «Вид» > «Обновить»
Память:
Слоты памяти:
  ECC:	Откл.
Bank0/1/A0:
  Размер:	2 ГБ
  Тип:	DDR2 SDRAM
  Скорость:	800 МГц
  Статус:	ОК
  Производитель:	0xAD00000000000000
  Инвентарный номер:	0x48594D503131325336344350362D59352020
  Серийный номер:	0x00001020
Bank2/3/A1:
  Размер:	2 ГБ
  Тип:	DDR2 SDRAM
  Скорость:	800 МГц
  Статус:	ОК
  Производитель:	0xAD00000000000000
  Инвентарный номер:	0x48594D503131325336344350362D59352020
  Серийный номер:	0x00003021
Bank4/5/A2:
  Размер:	2 ГБ
  Тип:	DDR2 SDRAM
  Скорость:	800 МГц
  Статус:	ОК
  Производитель:	0xAD00000000000000
  Инвентарный номер:	0x48594D503131325336344350362D59352020
  Серийный номер:	0x00003021
Bank6/7/A3:
  Размер:	2 ГБ
  Тип:	DDR2 SDRAM
  Скорость:	800 МГц
  Статус:	ОК
  Производитель:	0xAD00000000000000
  Инвентарный номер:	0x48594D503131325336344350362D59352020
  Серийный номер:	0x00003021
Последовательный ATA:
Intel ESB2 AHCI:
  Производитель:	Intel
  Продукт:	ESB2 AHCI
  Скорость связи:	3 гигабит
  Скорость установленной связи:	1,5 гигабит
  Описание:	AHCI Version 1.20 Supported
Optiarc DVD RW AD-7170S:
  Модель:	Optiarc DVD RW AD-7170S                 
  Ревизия:	1.00    
  Серийный номер:	                    
  Очереди собственных команд:	Нет
  Внешний накопитель:	Нет
  Питание отключено:	Нет
  Асинхронное уведомление:	Нет
Intel ESB2 AHCI:
  Производитель:	Intel
  Продукт:	ESB2 AHCI
  Скорость связи:	3 гигабит
  Скорость установленной связи:	3 гигабит
  Описание:	AHCI Version 1.20 Supported
WDC WD6400AAKS-00A7B0:
  Емкость:	640,14 ГБ (640 135 028 736 байт.)
  Модель:	WDC WD6400AAKS-00A7B0                   
  Ревизия:	01.03B01
  Серийный номер:	     WD-WMASY2443894
  Очереди собственных команд:	Да
  Глубина очереди:	32
  Съемный носитель:	Да
  Внешний накопитель:	Нет
  Название BSD:	disk0
  Тип карты разделов:	GPT (Таблица разделов GUID)
  Статус S.M.A.R.T.:	Проверен
  Тома:
Neo:
  Емкость:	639,79 ГБ (639 791 054 848 байт.)
  Доступно:	42,25 ГБ (42 252 435 456 байт.)
  Записываемый:	Да
  Файловая система:	Журнальный HFS+
  Название BSD:	disk0s2
  Точка подключения:	/Volumes/Neo
Intel ESB2 AHCI:
  Производитель:	Intel
  Продукт:	ESB2 AHCI
  Скорость связи:	3 гигабит
  Скорость установленной связи:	3 гигабит
  Описание:	AHCI Version 1.20 Supported
SAMSUNG HD300LJ:
  Емкость:	300,07 ГБ (300 069 052 416 байт.)
  Модель:	SAMSUNG HD300LJ                         
  Ревизия:	ZT100-13
  Серийный номер:	S0D7J1WL816367      
  Очереди собственных команд:	Да
  Глубина очереди:	32
  Съемный носитель:	Да
  Внешний накопитель:	Нет
  Название BSD:	disk1
  Тип карты разделов:	GPT (Таблица разделов GUID)
  Статус S.M.A.R.T.:	Проверен
  Тома:
Snow:
  Емкость:	299,73 ГБ (299 725 078 528 байт.)
  Доступно:	98,91 ГБ (98 910 253 056 байт.)
  Записываемый:	Да
  Файловая система:	Журнальный HFS+
  Название BSD:	disk1s2
  Точка подключения:	/
Принтеры:
i560:
  Статус:	Свободен
  Принт-сервер:	Локальный
  Версия драйвера:	5.2.4
  Основной:	Да
  URI:	smb://pupuntu/i560
  PPD:	Canon i560 - CUPS+Gutenprint v5.2.4
  Версия PPD-файла:	5.2.4
  Версия PostScript:	(3010.000) 0
  Версия CUPS:	1.4.3 (cups-218.9)
  Поддержка факса:	Нет
  Поддержка сканирования:	Нет
  Программа сканирования:	-
  Приложение сканирования (путь к пакету ID):	-
  UUID сканера:	-
Электропитание:
Настройки электропитания системы:
  Питание от сети:
  Таймер режима сна системы (минуты):	0
  Таймер режима сна диска (минуты):	0
  Таймер режима сна монитора (минуты):	10
  Перейти в режим сна при нажатии кнопки питания:	Да
  Завершить режим сна по команде из сети:	Нет
  Используемый источник электропитания:	Да
  Питание от ИБП:
  Таймер режима сна системы (минуты):	0
  Таймер режима сна диска (минуты):	10
  Таймер режима сна монитора (минуты):	2
  Перейти в режим сна при нажатии кнопки питания:	Да
  Завершить режим сна по команде из сети:	Нет
Конфигурация оборудования:
  Установлен ИБП:	Да

Настройки, хаки, драйверы

Никаких отдельных драйверов нет, работают стандартные, но их потребовалось обмануть и настроить. Я не большой спец в том, как это работает, но постараюсь основные вещи перечислить.

За первоначальную загрузку отвечает Chameleon 2.0 RC3, основную работу по подделке EFI выполняет PC EFI 10.6 (файл boot в корне раздела).

Загружается компьютер с «основного» раздела /disk0s2 (не efi, как раньше), содержимое папки Extra выглядит так

~$ cd /Extra 
Extra$ ls -l *
com.apple.Boot.plist
dsdt.aml
dsdt.dsl
smbios.plist

Extensions:
ALC889a.kext
IOAHCIBlockStorageInjector.kext
OpenHaltRestart.kext
PlatformUUID.kext
fakesmc.kext

Критичных вещей здесь 3, остальные вспомогательные, чисто декоративные.

  • dsdt.aml — исправленное дерево устройств, которое «включает» полноценную поддержку видеокарты и помогает решить проблему со звуком. Как я его сделал, что правил — не помню. Архив прилагается, можете расковырять на органы или попытаться так использовать.
  • fakesmc.kext — усыпляет бдительность Dont steal mac os.kext, заменяет dsmos/appledecrypt. Он же, насколько я помню, решает проблему с AppleIntelCPUPowerManagement.kext.
  • ALC889a.kext — магический пакет, который (в связке с DSDT) заставляет работать «родной» AppleHDA. Работает линейный выход, можно переключить на наушники, больше ничего не пробовал.
  • com.apple.Boot.plist — здесь ничего особенного, параметры для ядра и для PC EFI. Главное — принудительное включение 32-битного режима. 64-битный так и не работает.
  • smbios.plist — декоративные штуки, вроде сведений о процессоре и памяти.
  • IOAHCIBlockStorageInjector.kext — not a big fucking deal, заменяет иконки дисков, без него они будут оранжевыми, как у съемных.
  • OpenHaltRestart.kext — предположительно, решает проблемы с перезагрузкой. То есть он для этого предназначен, но нужен ли он конкретно мне — не знаю, не проверял без него.
  • PlatformUUID.kext — избавляет от многочисленных ошибок, типа такой:
    _CFGetHostUUID String: unable to determine UUID for HOST error 35

Важное замечание — все звенья сильно связаны, то есть ALC889a.kext без dsdt.aml звук не починит, оба они могут быть бесполезны для другой материнской платы, параметры в boot.plist рассчитаны на этот конкретный компьютер и так далее.

Вроде бы ничего существенного не упустил. Чем не perfect hackintosh? Проблема в том, что это хрупкое равновесие постоянно пытается нарушить Apple, выпуская несовместимые обновления :)

Напоследок — моя папка Extra: Extra-ga-ep45-ds3-7600gt.zip
Disclaimer: используйте на свой страх и риск, помочь ничем не смогу.