Читаю логи сайта, вижу как мечутся по моему уютному бложику пришедшие с поисковиков по "хакинтошным" запросам.
Кажется полезной идеей сделать оглавление и поместить ссылку на него в основные посты раздела. То же самое
будет со временем сделано и для других больших тематик, собственно я сам постепенно начинаю путаться (но поиск спасает).
Предуведомление: если у вас процессор не Intel Core, а более старый Intel, Intel Atom или AMD, то вы попали
не по адресу, скорее всего вам тут не помогут.
Я не верю, что битая памяь может выражаться в тормозах. В падениях программ, в битых файлах - это пожалуйста. Но тормоза? Впрочем, я не гордый, раз все советуют, запустить memtest несложно.
Ставлю по одному модулю (чтобы потом не разбираться, какой адрес ошибки какому модулю соответствует), проверяю, ничего не находится. Как, собственно, и ожидалось.
Это звучит как проблема с кешированием памяти. Есть на MacOSX какие-то средства посмотреть конфигурацию MTRR, как memcontrol(8) во FreeBSD ? Когда-то давно очень часто BIOSы забывали правильно сконфигурировать MTRR для страниц выше 4GB.
И вот эта идея, в отличие от битой памяти, не противоречит моим мироощущениям.
Ставлю все 8Gb, запускаю memtest и вот что оказывается:
Есть у меня MacBook Pro, почти новый, пяти лет еще нету.
И решил я ему сделать подарок на новый год: поапгрейдил память до 8Gb, пока DDR2 совсем из продажи не пропала. Сделал. Где-то в начале декабря.
Пользуюсь я им мало, почти совсем не, поэтому только к середине января заметил, что прошедших до конца бэкапов у меня с 1 декабря и не было. Стал разбираться. Увидел странное:
Сразу после включения машинка работает весьма бодро. Первые минут 10 (если ничего не делать, то и дольше).
После нескольких гигабайт I/O начинается чертовщина:
Полностью или почти полностью исчезает idle time
Минимальные программы, вроде top, могут жрать 20-40% CPU
Все действия необычайно замедляются, запуск Firefox может минут 20 занимать.
Бэкап на time machine - первые 2-6Gb пролетают мухой, что по 1G Ether, что по Wifi, а потом все встает колом и все мои 80Gb бэкапятся больше суток.
Первая гипотеза: перегревается процессор и делает сам себе throttle. Поставил варез, померял, ну греется где-то до 80-85, много, но не запредельно (TjMax у процессора - 100).
Развинтил, действительно термопаста высохла (что не означает, что она не отводила), намазал новой, стало получше, но не сильно. Поставил программу, которая раскручивает вентиляторы, максимальная скорость, температура процессора 40-65, но все равно тормозит.
С восстановлением OS X целиком с Time Machine backup на родных Маках никаких проблем нет: Time Machine должна быть видна через mDNS (Bonjour), грузимся с инсталляционного диска/флэшки (можно даже с того, с которого на данном маке поставиться нельзя) и все восстанавливаем.
С Хакинтошами все выглядит сложнее:
Загружаемый на PC инсталляционный диск с OS X Lion - на сегодня не существует.
Кроме восстановления системы, нужно еще восстанавливать загрузчик.
В результате экспериментов, родился и проверен следующий метод:
Пришлось осилить AFP и к нему mDNSResponder. И если с AFP все тривиально, то с mDNSResponder пришлось помудохавозиться, ибо документации к нему в сети сыскать не удалось, исключительно методом тыка разбирался.
Идеальное решение должно уметь:
Бэкап TimeMachine на FreeBSD-сервер.
Пофайловое восстановление с TimeMachine за нужную дату.
Накатка целого бэкапа из инсталлятора Lion/Snow Leopard
Нижеприведенный текст - для FreeBSD, для Linux/Solaris будет отличаться процедура установки пакетов, а настройка должна быть примерно такая же.
Поапгрейдить штатными средствами Хакинтош на OS X 10.7 нельзя, сделать инсталляционный диск/флэшку для 10.7 и обычного PC вроде бы тоже пока нельзя (? я не нашел).
После того, как мне указали на способ лечения проблемы с SMB shares путем установки правильных прав и этот способ сработал, я вернул все как было (проблема вернулась) и попробовал полечиться штатными средствами.
Disk Utility → выбираем диск с системой → Repair Permissions
В одной сети с ним (и в IP и в Ethernet смысле) есть Samba-сервер.
Имею проблему:
smbclient на этом Маке Хаке работает, равно как и прочие сетевые приложения. Проблем тут нет.
А вот коннект из Finder (Cmd-K, ввод smb://...) - не работает, даже пароль не спрашивает.
При этом:
Samba-сервер виден в "сетевом окружении" (секция Shared) в Finder, но приконнектиться к нему никак не получается, паролей не спрашивают.
Кроме того, на стороне Samba-сервера при попытке коннекта в сети - пусто (смотрю tcpdump, никаких пакетов ни на 139-й порт, ни на 445-й не прилетает). Если smbclient-ом ходить, то все нормально.
Вопросы обычные: кто виноват, что делать, куды поковырять. Firewall-а никакого на этом хакинтоше не включено и вообще - свежеустановленная машина.
Версия Mac OS X - 10.6.7, но 10.6.0 и 10.6.6 ведут себя аналогично. При включении в этот же Ethernet-шнурок Макбука - все работает отлично.
Update: какая-то удивительная херня. Если спрятать kext в котором драйвер (перенести куда-то, поапдейтить кэши), то коннектится мгновенно. После этого kext можно вернуть. Если не прятать - таймаут навсегда. Похоже, встроенный клиент хочет чего-то от драйвера, чего у того нету, а если драйвер попрятать (есть en0, а откуда он - не ведаем), то этого "чего-то" оно уже не хочет.
Остается понять, отчего права были такие кривые и отчего припрятывание сетевого драйвера помогает (система сама грузит этот .kext если драйвер спрятать?).
На настоящем маке, где все работало, права стоят 0755 и я их никогда сам не правил.
В связи с моими упражнениями с NVidia Nexus мне понадобилась вторая виндовая машина. Пришлось ее делать из машины с хакинтошем и для скорости я воткнул в нее второй диск, куда и поставил семерку. Boot Manager при этом был в BIOS, какой диск ставим загрузочным, та система и загрузится.
Однако два диска - слишком много для такого, да и выбирать загружаемую систему через 'press DEL to Setup' противно, захотелось мультибута с одного диска.
Проблема в том, что Mac OS хочет GUID partition, а Windows - голосует за MBR. Есть классический способ, выглядящий так:
Mac OS X-ом создаем на диске два раздела (GUID), на один ставим (Snow) Leopard, второй форматируем под FAT32
Создаем MBR-таблицу, дублирующую GPT, с помощью gptsync
А ты, Вовочка, молчи, а то мы всю физику к ..уям сведем... анекдот
О консенсусе
Несмотря на мой скепсис в отношении цветовой науки и ,
прикладную задачу копирования изображений я считал решенной (как минимум, в простых случаях).
Ну вот есть файл (RGB), к нему прилагается профиль (ICC), следует ожидать что на одном и том же устройстве (LCD мониторе, чтобы быть конкретным) он
при включенном Color Engine отобразится более-менее разумно и одинаково.
Естественно, предполагается что все необходимые условия соблюдены: монитор отпрофилирован, показываемые цветовые данные привязаны к цвету (снабжены профилем), условия наблюдения постоянные, программа показа розумиет ICC, наливай да пей бери и выводи.
Конечно, жизнь несколько богаче и 2.5 года назад я уже исследовал проблему точности CMM (Color Management Module) и написал про это серию статей.
Но я наблюдал в эксперименте разумные ошибки - 5-6, а для хороших CMM и 8 бит данных сохранялись, отклонения от смены CMM в худшем случае были
заметны глазом, но не были фатальными.
Однако и
заставили пересмотреть
вышеописанное мнение. Спасибо добрым людям, что обратили внимание, не дали пройти мимо.
Да, на картинке слева вы видите кусочек из этого файла, показанный на одном и том же мониторе, с одним и тем же профилем монитора, одним
и тем же профилем при цветовых данных файла, одной и той же программой (Adobe Photoshop) с одними и теми же настройками за исключением одной....
На неделю позже, чем обещал, но я добил этот текст!
После успешной установки Snow Leopard на PC я оказался завален почтой,
общая суть которой сводилась к тому, что Prasys пишет не очень понятно, да и английского не розумию, напиши пожалуйста
на русском (если честно, то после чтения Хакинтошных форумов у меня тоже временами складывается впечатление, что я тоже не понимаю английского).
Рекламируемый мной Empire EFI необычайно удобен, если все работает. Впрочем, судя по
чехарде версий на сайте автора (за 2 недели с 1.00 до 1.07R2), да и по моему опыту, оно работает далеко не всегда.
Одна из наиболее частых проблем связана, к несчастью, именно с DVD-приводами. Современные чипсеты Intel не содержат старого (параллельного)
контроллера ATA (PATA), интерфейс к старым DVD, дискам и т.п. делается контроллерами третьих фирм (чаще всего JMicron). В этом месте начинается
секс с драйверами (kext, kernel extension), таймаутами, настройками и т.п.
Описанный ниже способ установки с USB-флэшки не использует DVD. Помимо этого, метод обладает рядом других достоинств:
Ставится быстрее. Большинство современных флэшек гораздо быстрее оптических приводов, особенно по скорости позиционирования.
Модификация загрузочных блоков, расширений и т.п. не требует перезаписи CD/DVD, а значит экспериментировать можно быстро.
Правда для изготовления загрузочной USB-флэшки нам потребуется работающая Mac OS. При реальной установке я все манипуляции делал на настоящем Маке,
но при подготовке данного текста повторил это упражнение в Snow Leopard, установленном в виртуальной машине.
Судя по количеству получаемых откликов (в почту в первую очередь), знание об установке Snow Leopard в VMWare нуждается в небольшой систематизации. Систематизирую.
Приборы и материалы
Машина с интеловским процессором с SSE3 и выше. Core Duo, i5, i7 точно подходят, в вариациях Pentium-4 я путаюсь. С AMD вероятны проблемы, с этим не ко мне. У меня эта машина под Windows 7, но Linux скорее всего тоже подходит (тоже не пробовал).
С DMG-файлами я всегда разбирался прямо на Маке, благо он был. Но если мака нет, то это может стать проблемой, что для установки Mac OS X в VMWare, что для простого прожигания загрузочного DVD.
В интернетах рекомендуют использовать (под Windows) MagicISO и UltraISO. Простой эксперимент показал что:
MagicISO - Epic Fail. На образе Snow Leopard она видит только раздел с Bootcamp-драйверами, рекомендованое снятие галок о поддержке маковской файловой системы - не помогает.
UltraISO, несмотря на те же симптомы (при открытии образа показывает, что на нем всего 900+ мегабайт) с задачей вроде бы справляется, даже в trial-варианте
Но! полученный ISO-образ (очень похожий на настоящий, размер тот же, попытка загрузки с него происходит) не работает при попытке поставиться с него под VMWare.
Пойду экспериментировать с ключиками UltraISO, обидно же.
Update
Никакой из вариантов UltraISO/MagicISO правильно не работает. UltraISO делает образ правильного размера, но загрузить с него виртуальную машину не получается.
ВЫХОД ЕСТЬ! (сделанная нашим соотечественником и фотографом, судя по сайту) делает то что нужно.
dmg2img SnowLeopard.dmg SnowLeopard.iso
и волосы становятся мягкими и шелковистыми, а VMWare с такого диска загружается.
Всякий раз, когда я задумывался о Хакинтоше, меня подавляло обилие информации. Все эти EFI, DSDT.aml, инжекторы, хамелеоны и прочая разжигали во мне комплекс неполноценности. Плюс к тому, опыт установки разнообразных дистрибутивов в виртуальной машине был скорее отрицательным: получилось один раз, апдейтов не поставишь и все такое.
Понятно, что можно за 50 баксов купить чудо от Psystar, но и 50 баксов жалко, да и чудо , собранным из freeware-хаков.
Однако после легкой установки Snow Leopard в VMWare (взяло и само заработало!) я с большой надеждой смотрел на того же автора, ибо обещали прозрачную и простую установку.
Обнаружились две микроскопические особенности, которые невозможно понять из исходного описания, а они есть:
После установки необходимо оставить скачанный с Рапиды образ CD (darwin_snow.iso) подключенным к виртуальной машине: (виртуальнй) жесткий диск - незагрузочный, а загрузчик - на этом образе CD. Для чуть большей скорости можно настроить виртуальный BIOS для загрузки с этого CD.
VMWare Tools лежат на том же образе CD, мучительно выковыривать их из Fusion не надо. Просто подключаете сидюк (он само-эжектится т.е. выключается при загрузке) и ставите эти самые Tools.
А в остальном - все как обещали т.е. практически без проблем и прочих подводных камней:
Апдейты - работают!!!!!, до 1.6.1 обновился без проблем.
Выключение/перезагрузка средствами Mac OS - не работает, как и обещали, нужно жмякать reset/power off в настройках виртуальной машины.
Мышка за пределы экрана выезжает и обратно заезжает.
Меня многие спрашивали про запуск Mac OS X 10.6 (Snow Leopard) в VMWare и всем я отвечал в том духе, что качайте готовую виртуальную машину от 10.5.5 с торрентов и будет вам счастье.
Однако сегодня набрел (придя по ссылке на ) на вот это вот:
Сам пока не пробовал и в ближайшие дни не попробую, однако отчего же не поделиться ссылкой.....
По наводке коллег, почитал лицензии на леопардов, порадовался.
Mac OS X 10.5 (Leopard):
This License allows you to install, use and run one(1) copy of Apple Software on a single Apple-labeled computer....
Mac OS X 10.6 (Snow Leopard):
...you are granted a limited non-exclusive license to install, use and run one (1) copy of Apple Software on a single Apple-branded computer...
Насколько я понимаю букву этих текстов, в случае 10.5 точно можно нарисовать укушенное яблоко на системном блоке (оно получится Apple-labeled) и легально использовать купленный Леопард. Ну или этикетку от диска наклеить.
С 10.6 все менее очевидно, что такое Apple-branded в российских условиях понять трудно... (хотя, конечно, все эти искусственные ограничения, где можно пускать, а где нельзя, российский законодатель отвергает).
Постепенно набирается всякого ненужного барахла почти на целый компьютер. Загорелся я собрать хакинтош, ибо старый MBP - хорошо, но для сегодняшнего дня не слишком быстро, да и OpenCL опять же хочется пощупать на более настоящем железе, а не на медленной ноутбучной видеокарте.
Пошел я почитать всяких форумов про это дело и полностью фалломорфировал. Какие-то kext-ы, DSDT, EFI-эмуляторы, мне уже дурно.
Пошлите меня в правильную сторону, где можно step-by-step гайд для тупых почитать....
Во всяком случае, попытка поставить апдейт на разрекламированную ранее виртуальную машину 10.5.5 не удалась: Vmware ругается страшными словами, что приложение решило подизейблить себе процессор, MacOS требует перезагрузки, а потом все вместе - не работает.
Что-то я анонс пропустил, а сегодня случайно наткнулся на от Adobe Labs.
Казалось бы, отличная идея: пишешь шейдеры kernels на скриптовом языке, они исполняются на видеокарте или на CPU.
Анонс тоже завлекал: дескать поддержвается любая разрядность цвета, все такое мультиплатформенное и хорошее. Есть плагин для Photoshop т.е. все изыски можно прямо в бою и использовать.
В-общем, я раскатал губу, скачал, поставил, закатал рукава и приготовился творить.
У меня оно как-то не получилось, и после нескольких попыток я бросил, а упорный канадский парень таки поставил iDeneb 10.5.5 под VMWare и выложил готовую машину. Взять torrent-файл можно (ну и на Демоноиде тоже лежит, на других трекерах тоже наверное появится), а дальше все как всегда.
На Core2Quad работает, да и вообще должно работать на SSE3 Intel без проблем, а что там с AMD - не знаю и не хочу знать пока.
Сеть пока не глючит, что есть достижение. Кроме того, апдейты с сайта Apple - ставятся и все продолжает работать.
Другими словами, рекомендую тем, кого раздражала невозможность поставить апдейты. Каких-то других причин перелезать c более старых 10.5.x под виртуальной машиной я не вижу.
VMware Tools для Mac OS X можно взять из VMWare Fusion. Они там лежат в /Library/Application Support/VMWare Fusion/isoimages/darwin.iso
Подмонтируете их как CD, инсталлируете.
Появляются VMWare Shared Folders, больше пока ничего хорошего найти не удалось, но и это немало, ибо хакинтошная сеть под VMWare работает не каждый раз.
Надо сказать, что на маке (Mac OS Server под VMWare Fusion) от этих тулсов начинает нормально работать дисплей (можно разрешение менять, мышь выбегает за пределы и меняет фокус, появляется Unity).