Jump to content

How could I become a kext dev?


icefapper
 Share

19 posts in this topic

Recommended Posts

'Owdy All!

Being on this site has been such a humbling thing to me, especially by coming across some strikingly sophisticated kexts written by the very members of this site; now, it has highly piqued my interest to know how to have the know-how to become a hardcore dev the same as those who have created RealtekRTL8111 driver or the Chameleon loader.

 

 

My apologies for asking newbieishly, still this is the only way I know of to ask others with higher expertise than me tell me how to gain a rather deeper knowledge on these subjects actually.

Thanks a lot, in advance, for all the responses.

Link to comment
Share on other sites

Uhm... developing kexts (title and RealtekRTL8111) and bootloaders (Chameleon) are relatively far apart. So, what do you want to do then? Besides, Chameleon is based of the bootloader boot-132 which was current about 10 years ago for a single machine, so I wouldn't develop something like it if that was your idea. Advancing the present Chameleon (maybe Enoch, as it seems to be the most active one to date?) however seems fine as many people still use and trust it. ;)

  • Like 1
Link to comment
Share on other sites

It would be helpful if you just answered my question, what do you want to do? Or additionally, what can you do?

my apologies; actually, I'm both interested in doing "bootloader" related stuff , and kextdev; if asked for only one, it would be kext-dev; helping others have their devices running is a passion to me ; I've got somewhat solid compiler background, but that's about all I've done in my professional career; you'd laugh, but I can't tell what the exact difference between a connector and a port is :\

 

Thanks a lot reading this far, and thanks in advance for your kind responding :)

Link to comment
Share on other sites

lol no problem, no need to say thanks in every 2nd sentence. :lol:

 

If you want to get involved with boot solutions, I strongly encourage you to take the UEFI route and get familiar with TianoCore's EDK II. More code bases involving UEFI + OS X are VirtualBox and Clover. If you are interested in an experience closest to 'native', peak at Ozmosis - though closed sources, its design priciples are more than obvious.

 

I never did any kext development, but if you really want to develop OS X hardware drivers, you need to understand PMIO and MMIO, need to know Objective-C and read the Apple docs regarding the provided interfaces to the kernel.

 

Good luck.

  • Like 4
Link to comment
Share on other sites

  • 2 weeks later...

You can't really throw a ACPI table (DSDT/SSDT) into a hex editor, Codinger. I mean maybe if there is a single byte that needs to be changed, but normally it will need to be decompiled, fixed and then recompiled.

 

Also hex editing has nothing to do with KEXT (KEXT=Kernel Extension) development. Coding a driver (KEXT) that interfaces with hardware is a whole bunch of blood, sweat and tears; not a simple edit.

  • Like 1
Link to comment
Share on other sites

You can't really throw a ACPI table (DSDT/SSDT) into a hex editor, Codinger. mean maybe if there is a single byte that needs to be changed, but normally it will need to be decompiled, fixed and then recompiled.

 

Also hex editing has nothing to do with KEXT (KEXT=Kernel Extension) development. Coding a driver (KEXT) that interfaces with hardware is a whole bunch of blood sweat and tears, not a simple edit.

 

:wallbash: - You really think i dont know this. Look. Several threads where i help others with both :)

Link to comment
Share on other sites

  • 2 weeks later...

A program should be a solution to a problem,try learning how boot-loaders and kext work from post earlier and try to figure out how you can solve a current problem via kext or boot-loader,you can also look at current opensource kext examine it's code and see if you could make improvements or perform a complete rewrite.

 

Sometimes having a problem to solve and learning a language goes hand in hand

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...