PDA

View Full Version : .kext




Jordan72
Dec 12, 2005, 10:19 PM
I tried out this tutorial:

http://developer.apple.com/documentation/Darwin/Conceptual/KEXTConcept/KEXTConceptKEXT/hello_kext.html#//apple_ref/doc/uid/20002365-BABJHCJA

but, I've reached an impasse.

In this section: Edit the KEXT Settings

In step three, it asks me to:

Select text.plist.xml and double-click Default (Plain Text File) in the Preferred Editor column.

But no text.plist.xml exists.

I tried going on without doing this step and my kext won't load.

Anyone know what is going on?



stridey
Dec 12, 2005, 10:20 PM
http://developer.apple.com/documentation/Darwin/Conceptual/KEXTConcept/KEXTConceptKEXT/hello_kext.html#//apple_ref/doc/uid/20002365-BABJHCJA

Yup, that's the guide for creating kernal extensions...


why?

mkrishnan
Dec 12, 2005, 10:24 PM
Best. Thread. Evar. :D

Seriously, how legitimate is the creation of third-party kernel extensions considered? I had always thought the conception was that things like Sidetrack are inherently hacks with a YMMV tag placed on them. So I guess it is surprising that Apple themselves have a how-to on making kernel extensions... this document doesn't really provide any guidelines for a "safe" extension, but you'd think that, to the extent that Apple tells you how to make them, as a developer, you'd have the reciprocal right to expect that, if you played by the rules, the system would remain stable when you implemented them.

Catfish_Man
Dec 13, 2005, 05:20 PM
Best. Thread. Evar. :D

Seriously, how legitimate is the creation of third-party kernel extensions considered? I had always thought the conception was that things like Sidetrack are inherently hacks with a YMMV tag placed on them. So I guess it is surprising that Apple themselves have a how-to on making kernel extensions... this document doesn't really provide any guidelines for a "safe" extension, but you'd think that, to the extent that Apple tells you how to make them, as a developer, you'd have the reciprocal right to expect that, if you played by the rules, the system would remain stable when you implemented them.


Lots of stuff uses kexts... mostly drivers, but quite a few other things as well.

yellow
Dec 13, 2005, 05:29 PM
Yeah, it's not there in XCode 2.1.

If I had to guess, I'd say just change the default app for text.plist to the PLE. That'll cover all the plists listed under text.plist, and I'd rather read/change any plists with that, particularly now that they're binarized in Tiger.

Lemme check XCode 2.2 before I complain with the link at the bottom to report typos/errors..

EDIT: Nope, not in XCode 2.2 either..

Jordan72
Dec 13, 2005, 11:20 PM
If I had to guess, I'd say just change the default app for text.plist to the PLE. That'll cover all the plists listed under text.plist, and I'd rather read/change any plists with that, particularly now that they're binarized in Tiger.

That did it. Thank you. Your answer kext ass!

Under the Edit the KEXTís Settings, there are six steps. I skipped them and took your advice. But I had to figure out alittle bit from there. This is what worked.

New steps for Edit the KEXTís Settings (just so it's documented somewhere):

1. Choose Xcode > Preferences and click the File Types icon. You will see two types: folder and file.

2. Click at the very end of the file type where the two small triangles are. A menu will pop up. Choose External Editor. When External Editor is chosen, a sub-menu will pop up. Select Property List Editor. Press the Okay button.

3. Don't follow the six steps in the tutorial, because they won't make sense.

caveman_uk
Dec 14, 2005, 02:55 AM
Seriously, how legitimate is the creation of third-party kernel extensions considered?
There's very good reasons for wanting to make kernel extensions but IMO the bar for the quality of your code should be much higher. If your app code crashes then just your app crashes (or at least that's what should happen). If your .kext code crashes then it can bring the OS down too.

Also with kernel extensions you tend to be working in straight C so there's less of a safety net to start with. C gives you plenty of rope.:rolleyes: