2012-03-19 4 views
0

Я новое программирование ядра. Я пытался загрузить эту программу драйверов в течение 3 дней.Какие команды я могу использовать для загрузки драйвера ввода-вывода в терминал?

я использовал так много команд для нагрузки этот Kext file.but каждый раз, когда проблема является

terminal.please любой один помочь мне.

ensiss-Mac-мини: ~ Ensis $ Sudo су

ш-3,2 # Чаун -R корень: колесо /System/Library/Extensions/Driver.kext

ш-3,2 # kextutil -n -t /System/Library/Extensions/Driver.kext Не указан файл ядра;

Использование работающего ядра для связи.

/System/Library/Extensions/Driver.kext недействителен; не могут разрешать зависимости.

/System/Library/Extensions/Driver.kext недействителен; не могут разрешать зависимости.

/System/Library/Extensions/Driver.kext недействителен; не могут разрешать зависимости.

Диагностика для /System/Library/Extensions/Driver.kext:

Validation Неудачи:

Info dictionary missing required property/value: 

    IOKitPersonalities.Driver.IOClass 

Предупреждения:

Personality has no CFBundleIdentifier; the kext's identifier will be inserted when 

отправка в IOCatalogue:

Driver 

как решить данную программу

Обновление: Info.plist:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "apple.com/DTDs/PropertyList-1.0.dtd">; 
<plist version="1.0"> 
    <dict> 
    <key>Driver</key> 
    <dict> 
     <key>CFBundleIdentifier </key> 
     <string>com.Driver.${PRODUCT_NAME:rfc1034identifier}</string> 
     <key>IOClass </key> 
     <string>com_osxkernel_driver_Driver</string> 
     <key>IOMatchCategory </key> 
     <string>com_osxkernel_driver_Driver</string> 
     <key>IOProviderClass</key> 
     <string>IOResources</string> 
     <key>IOResourceMatch </key> 
     <string>IOKit</string> 
    </dict> 
    </dict> 
</plist> 


<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "apple.com/DTDs/PropertyList-1.0.dtd">; 
<plist version="1.0"> 
    <dict> 
    <key>com.apple.kpi.iokit </key> 
    <string>11.3.0</string> 
    <key>com.apple.kpi.libkern </key> 
    <string>11.3.0</string> 
    </dict> 
</plist> 
+0

Похоже на непосредственное наблюдение за вашим собственным вопросом: http://stackoverflow.com/questions/9769241/which-commands-may-i-use-to-load-io-kit-driver-in-terminal , Пожалуйста, в следующий раз упомяните об этом, чтобы люди знали, что вы уже пробовали. –

ответ

1

Ключом здесь:

"словарь информация отсутствует требуемое свойство/значение: IOKitPersonalities.Driver.IOClass"

Это означает, что ваш Info.plist неверен, так как в личном описании вашего драйвера отсутствует спецификация класса.

Прошли ли вы с помощью руководства Apple Creating a Device Driver with Xcode? Раздел Edit the Information Property List покрывает минимум, который вам нужно знать об этом. Документация по адресу Driver and Device Matching более подробно освещена.

Update:

Ваш info.plist имеет совершенно неверный формат. Взгляните на this screenshot из учебника, которое я связал выше для требуемой иерархии. Шаблон проекта XCode для драйвера набора I/O генерирует разумную отправную точку для info.plist - не удалите то, что он вам дает, просто увеличьте его.

Я настоятельно рекомендую вам внимательно прочитать документацию от Apple, некоторые из их примеров кода, и получить recently released book by Halvorsen вместе с его sample code (source code/downloads tab). (раскрытие: я был одним из рецензентов книги, я не получаю роялти или каких-либо других стимулов для рекомендации - это единственная обновленная книга по этому вопросу)

Программирование ядра не что иное, поэтому важно понимать, что происходит.

+0

Спасибо. могу я пообщаться с тобой – kumar

+0

я попытался, но результат тот же – kumar

+0

Предлагаю вам разместить свой info.plist – pmdj