По ряду сложных причин мне понадобилось установить OS X. Учитывая, что Apple вот-вот должна обновить свою линейку ноутов, я решил подождать с покупкой и поэкспериментировать пока с хакинтошем. Благо информации в сети навалом и рапорты об успешных установках на системы подобные моей я встречал. Сама система представляет собой следующее скопление железок:
- AMD Athlon 64 3800+
- ASUS M2NPV-VM
- OnBoard Video NVidia 6150
- OnBoard Audio
- 160GB IDE HDD
- 1GB RAM
Такая довольно-таки старая и бюджетная конфигурация. Но довольно банальная, и это мне сильно помогло гуглить.
План установки прост до безобразия. Чтобы все три системы установились и начали работать без особых шаманств, лучше ставить их в следующем порядке:
- WinXP
- MacOS X
- Ubuntu
Объясняется этот порядок порядочностью систем по отношению к MBR и возможностям их загрузчиков. Диск пришлось форматнуть начисто, для того, чтобы разбить его в соответствии с новыми смешными требованиями. Возможно, всё могло бы быть проще, но я поступил именно так. Диск разбивается следующим образом:
- Primary NTFS (WinXP)
- Primary FAT32 (MacOS X)
- Extended ext3, swap (Ubuntu etc.)
Т.е. для винды и макоси лучше создавать Primary партиции, тогда как Ubuntu фиолетово куда ставиться, и ему я отдал Extended. Причем хитро создал раздел /home
в конце партиции, чтобы при желании можно было его без проблем отресайзить и выделить место под что-нибудь ещё =)
Винда ставиться первой, прописывает себя в MBR и живет спокойно. Здесь подводных камней, надеюсь ни у кого не возникало. Далее в ход идет dvd с Kalyway 10.5.2 (выбор совершен после анализа числа установок).
Грузимся с диска, запускается установщик. Лезем в меню и выбираем тулзу для работы с дисками (Utilities -> «Disk Utilities»). Выбираем наш второй раздел (Primary FAT32), выбираем Erase и выбираем «Mac OS Extended Journaled» в качестве файловой системы и называем партицию как-нибудь простенько, типа «macosx». Просим всё почистить (5 секунд) и закрываем приложение. Проваливаемся обратно в установщика и нажимая «далее» выбираем нашу недавно-созданную партицию. Теперь главное не нажать «установить», а ткнуть на кнопку «Customize». Здесь нашему вниманию представиться всеобразие драйверов/ядер/приложений/патчей. И именно от этих галочек зависит запуститься ли OS X =) Некоторые подбирают их по 15 установок. Мне понадобилось всего 5 (пять)! =)
Если вы являетесь счастливым обладателем процессора AMD, то надо очень внимательно просмотреть всё дерево и поставить галочки. Помимо тех, что были поставлены изначально, я выставил следующие:
- NVinject (первый)
- SSE2_Jas1048_ACPI_APIC (may or not work) (все)
- AMD_1052_Patches (select patch 1 or patch 2)
- AMD_1052_Patch_test_2
- -legacy flag
Пока я нашел этот правильный список, дальнейшее желание экспериментировать у меня как-то пропало, поэтому всякие TimeMachine меня не привлекли =)
Всё. Теперь можно нажать «Установить» и отправляться пить чай где-то на полчаса. Только надо отследить и вовремя вытащить dvd, чтобы не грузиться в него по второму разу. OS X вежливо воткнет свой загрузчик в MBR, пропишет в него WinXP и вуаля, у нас есть 2 системы. Правда OS X надобно ещё попилить =)
А пилить есть что… Леопард, конечно запустился, но out of the box не работали следующие вещи:
- Видео только 1024х768 и надпись «IGPU family not mathced» при загрузке
- Интернета нет, ибо нет сетевой карты =)
Вот это и будем допиливать. Для начала разберемся с инетом, ибо без него жизнь не мила =)
Учитывая, что чипсет nForce как-то не сильно в почете у Apple, драйвера какбэ существуют, но их какбэ и нет. Начинаюстя танцы с бубном. Вообще надо отдать должное первопроходцам и искателям решений, ибо решения, мягко говоря, не очевидны =) Итак, по шагам:
- Идем на InsaneMac, если вы ещё не там =)
- Находим и качаем forcedeth_0.3_leopard.zip и nForceEthernetController.kext.zip
- Распаковываем (в OS X) их и пыщьнув правой кнопкой мыши выбираем «Show package content» или что-то вроде того. Пыщьать надо на файлах
nForceEthernetController.kext
и ./force.../build/release/forcedeath.kext
- Аккуратно просматривая состав пакета, находим файлик Info.plist Он встречается по два раза в каждом из пакетов. Открываем его в любом редакторе (TextEdit, TextMate).
- Это xml-файлы. Добавляем в элемент «IOPCIPrimaryMatch» строку «0x026910DE» (это ID нашего устройства, чтобы совпало). Сохраняем все 4 файла в этих же пакетах.
- Далее находим, скачиваем, устанавливаем Kext Helper, который повзолит нам просто и безболезенно устанавлить эти драйвера.
- Перетаскиваем на него сначала forcedeath.kext, вбиваем пароль и пыщьаем «установить». Он рапортует об установке и предлагает скрестить пальцы и перегрузиться. На этом счастливом моменте леопард обнаруживает нашу сетевуху, предлагает настроить её и зависает намертво. Ресетим его.
- Далее мы можем словить kernel panic. А можем и не словить (у меня не было =) Но всё ж лучше грузить леопард в Safe Mode (для этого при загрузке надо набрать «-x»)
- Загружаемся, и удаляем файлик forcedeath.kext из
/System/Library/Extensions
самым наглым образом =) Т.е. тащим в корзину.
- Опять грузим Kext Helper и перетаскиваем на него второй наш драйвер nForceEthernetController.kext Опять скрещиваем пальцы и вот тут (!!!) очень важный момент. Надо не просто перегрузиться. Надо…
- Выключить компьютер и отсоединить его от сети.
- Это настолько важный момент, что я его даже выделил. Потому что без этого может ничего не заработать. У меня, например, карточка какбэ в системе присутствовала, но по DHCP получала что-то непотребное и даже до роутера я не мог достучаться.
- Интернет появляется =)
Теперь начинаем пилить видео. Наши 1024х768 и надпись IGPU family not mathced какбэ говорят нам, что карта наша встроенная несчастная nVidia 6150 с шареной памятью маком была проигнорирована. И он перешел в наиболее безопасный и общий режим. А всё потому, что маки используют интеловские карты с шареной памятью, а не nVidia. И вообще, все пришли к выводу, что чтобы заставить эти видюхи функционировать правильно, надо свои дрова писать. Очень неприятный момент =) Но кто-то вновь изобрел танец, благодаря которому можно получить нормлаьное разрешение. Правда не будет никаких qe/ci (это такие штуки, чтобы было красиво), но работать вполне можно. Вот стенография танца:
- Грузим MacVidia 1.0.81 (разработка прекращена, поэтому рапидШара)
- Бэкапим всё из папки
/System/Library/Extensions
типа Geforce*.kext
и NV*.kext
- Ставим MacVidia, но не перегружаемся.
- Открываем терминал, идем в
/System/Library/Extensions
, пишем sudo mkdir NVBack
, sudo mv ./NV*.plugin ./NVBack
, sudo mv ./NV*.bundle ./NVBack
- И вот теперь уже перегружаемся.
Таким образом, мы получаем в пользование разрешения выше 1024, и никаких больше IGPU family not mathced на загрузке. Правда резковато всё выглядит.
Теперь, когда OS X у нас функционирует почти в полном объеме, осталось доставить Ubuntu. Хотел я побаловаться с Kubuntu, да что-то раздумал. Ubuntu ставиться привычным образом и благополучно добавляет WinXP в menu.lst для grub’а (да, всё ж это самый лучший загрузчик =)
Ну а нам остается только дописать в это меню MacOS X:
title Mac OS X
rootnoverify (hd0,2)
makeactive
chainloader +1
Et voila! У нас есть три системы, которые вполне себе успешно грузятся и работают. И да, кстати, установив Ubuntu 8.04, я не удержался и вписал sudo update-manager -d
, получив 8.10 Намного лучше, чем год назад, надо сказать. Всё работает и функционирует =)
Ну и напоследок пара ссылок на ресурсы, где все танцы уже описаны и запротоколированы, если, конечно, вы не являетесь обладателем самопального железа или каких-то экзотических комплектующих =)