icefapper Posted January 5, 2016 Share Posted January 5, 2016 '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. Quote Link to comment Share on other sites More sharing options...
mhaeuser Posted January 5, 2016 Share Posted January 5, 2016 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. 1 Quote Link to comment Share on other sites More sharing options...
icefapper Posted January 6, 2016 Author Share Posted January 6, 2016 A very huge thank you for responding I admit the title should have been "Where should I start from in case I want to become hard-core osx86 dev"? Any answer is really appreciated Quote Link to comment Share on other sites More sharing options...
mhaeuser Posted January 6, 2016 Share Posted January 6, 2016 It would be helpful if you just answered my question, what do you want to do? Or additionally, what can you do? 1 Quote Link to comment Share on other sites More sharing options...
icefapper Posted January 6, 2016 Author Share Posted January 6, 2016 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 Quote Link to comment Share on other sites More sharing options...
mhaeuser Posted January 6, 2016 Share Posted January 6, 2016 lol no problem, no need to say thanks in every 2nd sentence. 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. 4 Quote Link to comment Share on other sites More sharing options...
icefapper Posted January 6, 2016 Author Share Posted January 6, 2016 The response means _a huge lot_ to me; thanks again Quote Link to comment Share on other sites More sharing options...
Codinger Posted January 17, 2016 Share Posted January 17, 2016 Learn to patch binary Quote Link to comment Share on other sites More sharing options...
mhaeuser Posted January 17, 2016 Share Posted January 17, 2016 Editing a binary is neither a skill (on its own) nor related to development, but ok... 1 Quote Link to comment Share on other sites More sharing options...
Codinger Posted January 17, 2016 Share Posted January 17, 2016 Editing a binary is neither a skill nor related to development, but ok... Why you understand how things work Quote Link to comment Share on other sites More sharing options...
mhaeuser Posted January 18, 2016 Share Posted January 18, 2016 Why you understand how things work What? Quote Link to comment Share on other sites More sharing options...
Codinger Posted January 18, 2016 Share Posted January 18, 2016 What?You are understanding how the hex thing works and you can Start to Mod dsdt Quote Link to comment Share on other sites More sharing options...
Quadie Posted January 18, 2016 Share Posted January 18, 2016 You are understanding how the hex thing works and you can Start to Mod dsdt 1 Quote Link to comment Share on other sites More sharing options...
Codinger Posted January 18, 2016 Share Posted January 18, 2016 // OK Quote Link to comment Share on other sites More sharing options...
Quadie Posted January 18, 2016 Share Posted January 18, 2016 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. 1 Quote Link to comment Share on other sites More sharing options...
Codinger Posted January 18, 2016 Share Posted January 18, 2016 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. - You really think i dont know this. Look. Several threads where i help others with both Quote Link to comment Share on other sites More sharing options...
mhaeuser Posted January 18, 2016 Share Posted January 18, 2016 "Coding: Java" Some of the mos tamazing Kexts have been written in Java... Java or hex. 1 Quote Link to comment Share on other sites More sharing options...
Mirone Posted January 18, 2016 Share Posted January 18, 2016 you should study the languages programming ,C and C ++, for what you are able to develop a kext. not only the language itself but libraries, frameworks .... etc .. 1 Quote Link to comment Share on other sites More sharing options...
2bad0 Posted February 1, 2016 Share Posted February 1, 2016 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 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.