ProjectOSX

Welcome Guest!

Returning User? Login here.

Want membership privileges? Register here.

 
Start a new topic Add Reply
> [ЧаВо] Часто задаваемые вопросы
Slice
post Jul 16 2009, 07:50 AM
Post #1
Я понимаю, что ламеров здесь быть не может, тем не менее решил создать топик, чтобы уменьшить количество одинаковых вопросов.
В: Не могу создавать темы.
О: Всем вновь прибывшим необходимо пройти тест, будет оценка 10/10 - будут дополнительные права!
В: После редактирования русский язык превращается в крякозябры.
О: Не используйте QuickEdit, всегда FullEdit - глюк форума.
В: У меня Ритейл.
О: С чем тебя и поздравляю. Даже если хакинтош собран из тех же комплектующих, что и настоящий Мак, разница в распайке чипов на маме, дополнительные Эппловские фичи ведут к тому, что ритейл полноценно не работает. В любом случае нужны какие-то патчи. Что такое сборка? Это труд хороших программистов, чтобы предложить тебе на выбор ряд уже созданных патчей. Любая сборка основана на Ритейле.
В: Как устанавливать кексты?
О: Кексты, имеющие вид кубиков Лего, это расширения системы, например, драйвера для железа. Они должны находиться в папке /System/Library/Extensions/ и иметь принадлежность к root из группы wheel, с правильным доступом на чтение/запись. На нашем сленге говорим "Правильные пермишины". При простом копировании файндером в эту папку мы не получим правильные пермишины, и кекст работать не будет с сообщением на русском или английском языке, что "системное расширение установлено неправильно". Правильно получится из терминала.
CODE
sudo -s
cp -r -v ~/Downloads/New.kext /System/Library/Extensions/

Вся хитрость в этом sudo, копируя под правами рута мы автоматически присваиваем правильные права кексту.
При таком копировании и лечить ничего не придется.

В: Зачем чистить кеши? И как?
О:
Если мы с предыдущей операцией заменили старый кекст на такой же, но патченный, то получим неожиданный эффект: система не заметит подмены, и использует старый кекст, который находится в кеше. Прежде, чем делать подмену, стоит удалить старый кекст, и система озаботится, чтобы удалить его и из кешей. Или вручную
CODE
sudo -s
rm -r -v /System/Library/Caches/com.apple.kernelcaches/kernelcache
rm -r -v /System/Library/Extensions/Caches/*
rm -r -v /System/Library/Extensions.mkext


В: Как лечить пермишины?
О:

CODE
sudo -s
chown -R root:wheel /System/Library/Extensions/*
chmod -R 755 /System/Library/Extensions/*

Стандартная операция
CODE
diskutil repairpermissions /

лечит и другие папки, но неполноценно, доверять ей нельзя.
В: Не лучше ли располагать нестандартные кексты и легаси-кексты в отдельной папке /Extra?
О:
Нет, не лучше.
Папка Экстра загружается только при старте системы. Кексты же могут подгружаться из /System/Library/Extensions/ просто в ходе работы. Например, при хот-плюге, или при выходе из сна. В этом случае легаси, даже помещенные в системную папку, также не сработают. Эффект понятный, работают только родные кексты, если они вообще работают, либо патченные, помещенные вместо родных.
В: Как тестировать новый драйвер?
О:
Есть два варианта развития событий.
1. Аналогичный, но плохо работающий драйвер в системе уже есть.
2. Ничего подобного еще не было. (например IOSDHCIFamily.kext)
1. Следуем инструкциям выше, чтобы установить новый драйвер, удалив старый. Не забудьте сохранить где-нибудь и старый вариант. Хорошее место - создать еще одну папку в корне загрузочного диска
CODE
sudo -s
mkdir /Off
cp -r -v /System/Library/Extensions/Old.kext /Off

После сохранения старого кекста следуем инструкциям выше, чтобы установить новый драйвер, удалив старый.
Теперь перезагружаемся и проверяем, работает или нет. Если с новым драйвером происходит кернел-паника, нужно сфотографировать экран и выставить картинку на обозрение. Других способов сообщить нету. Перезагружаемся теперь с ключом -s -f. Появляется командная строка, в которой можно восстановить старый драйвер, который не вызывал КП.
CODE
/sbin/fsck -fy
/sbin/mount -uw /
rm -r -v /System/Library/Extensions/New.kext
rm -r -v /System/Library/Extensions.mkext
cp -r -v /Off/Old.kext /System/Library/Extensions/

Пермишины при этом соблюдаются, так что остается только перезагрузиться
reboot

2. Если испытываем принципиально новый драйвер, это можно сделать из терминала в системе.
Но для начала откроем утилиту Console и откроем в ней System.log. (В снегопарде это уже kernel.log)Пусть это окошко занимает правую часть экрана.
Теперь открываем терминал.
Помещаем новый кекст в новую папку /Test в корне диска.
CODE
sudo -s
mkdir /Test
cp ~/Downloads/New.kext /Test
chown -R root:wheel /Test/New.kext
chmod -R 755 /Test/New.kext
cd /Test
kextload -v New.kext

В снегопарде последняя команда выглядит иначе
CODE
kextutil New.kext

Теперь мы увидим в терминале отчет о пригодности этого кекста для загрузки, если не пригоден - сообщите автору.
Если же кекст успешно загрузился, к примеру
CODE
bash-3.2# kextload -v /Off/IOSDHCIBlockDevice.kext
kextload: extension /Off/IOSDHCIBlockDevice.kext appears to be loadable
kextload: loading extension /Off/IOSDHCIBlockDevice.kext
kextload: /Off/IOSDHCIBlockDevice.kext loaded successfully
kextload: sending personalities to kernel:
kextload:     from extension /System/Library/Extensions/IOStorageFamily.kext:
kextload:         IOFDiskPartitionScheme
kextload:         IOMediaBSDClient
kextload:         IOGUIDPartitionScheme
kextload:         IOAppleLabelScheme
kextload:         IOBlockStorageDriver
kextload:         IOApplePartitionScheme
kextload:     from extension /System/Library/Extensions/IOPCIFamily.kext:
kextload:         IOPCI2PCIBridge-Name
kextload:         IOPCI2PCIBridge-i386
kextload:         IOPCI2PCIBridge-PCI
kextload:     from extension /Off/IOSDHCIBlockDevice.kext:
kextload:         SD Card Host Controller
kextload: sending 10 personalities to the kernel
kextload: matching started for /Off/IOSDHCIBlockDevice.kext
bash-3.2#

то он начинает работать с железом! Теперь нужно смотреть в окошко консоли, что там будет сообщаться в систем-логе.
Если что-то произошло, а потом повисло - сфотографируйте.
Если не повисло, скопируйте сообщения, чтобы показать автору.
Если все повисло без сообщений, то это невидимая КП. Следует перезагрузиться с ключом -s и далее
CODE
/sbin/fsck -fy
/sbin/mount -uw /
kextload -v /Test/New.kext

Смотрите сообщения и фотографируйте КП.
В обоих вариантах к отчету следует прилагать иорег
CODE
ioreg -l -x -w0 >ioregYourNick.txt

если возможно, с установленным драйвером.
В: Как задавать вопросы про неработающий девайс?
О:

Не надо мне говорить "У меня ASUS DWX2345-RTG7". Я не знаю, что это такое, и не собираюсь гуглить.
Мне надо: "У меня USB WiFi adapter на чипсете Broadcom DeviceID=0x4316 VendorID=0x14e4
ДевайАйДи можно узнать самыми разными способами
Виндоус->Диспетчер Устройств->Устройство->Сведения->ID коды
Либо из Эвереста
Либо в Маке через DPCIManager. Вот хороший вариант Attached File  SystemInfo03.zip ( 365.05K ) Number of downloads: 50

Либо пролистав иорег (см.выше).Пример
QUOTE
| | | +-o ARPT@0 <class IOPCIDevice, registered, matched, active, busy 0, retain 10>
| | | | {
| | | | "IOPCIResourced" = Yes
| | | | "IOInterruptControllers" = ("io-apic-0","IOPCIMessagedInterruptController")
| | | | "IOName" = "pci14e4,4315"
| | | | "subsystem-id" = <0b000000>
| | | | "IODeviceMemory" = (({"address"=0xfffffffffe7fc000,"length"=0x4000}))
| | | | "IOPCIExpressLinkCapabilities" = 0x76c11
| | | | "class-code" = <00800200>
| | | | "IOPowerManagement" = {"ChildrenPowerState"=0x2,"CurrentPowerState"=0x2}
| | | | "revision-id" = <01000000>
| | | | "IOInterruptSpecifiers" = (<1100000007000000>,<0700000000000100>)
| | | | "assigned-addresses" = <10000b030000000000c07ffe0000000000400000>
| | | | "built-in" = <00>
| | | | "IOChildIndex" = 0x1
| | | | "acpi-device" = "IOACPIPlatformDevice is not serializable"
| | | | "device-id" = <15430000>
| | | | "vendor-id" = <e4140000>


В: Как загрузить файл на этом форуме
О:

Здесь аттач работает не так, как на других форумах. Файл недостаточно загрузить, нужно еще и ссылку на него поместить в пост.
Для этого нажимаем Manage Current Attachment (1) и щелкаем по имени приаттаченного файла. Сссылка появляется там, где курсор.
Если это картинка, она и будет отображаться картинкой.
Attached File  Picture_1.png ( 21.23K ) Number of downloads: 144

PS. Ни на какие файлообменники я не полезу.
PPS. Ссылки на Радикал-фото будут удаляться без просмотра.
Пожалуйста, прочитайте ЧаВо!
i3-2120 GA-H61M-S1, Radeon HD6670, ALC887(VoodooHDA 2.8.6), OS⌘10.9.4, OS⌘ 10.7.5 Clover FakeSMC_plugins_3.3.1 Realtek LAN v3.1.2

Add Reply Start a new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members: