Sunday, 4 September 2016

Resizing OS X Gen

Resizing OS X Gen


Hey again! Time for another post where I talk about the progress of OS X Gen. If you dont already know, this program is the worlds first OS X USB creator for Linux. This is actually going to be kind of a long post since I wanted to show off some of its changes and talk about some of the core components of how it works.

Special thanks to sugarface who told me earlier today to continue doing these kind of posts. And thanks to all those whove shown interest in this project so far. Also Ive been collaborating about this program with smx for a few months. Hes certainly helped with getting this all together! Thanks to him too! I showed my blog to someone in real life earlier this week. In total, thats now two people that Ive personally shown all this to. She didnt say much...

Enough about that, time for the good stuff. First thing is the revamped "External Resources" menu. Youll notice that its bigger than before, and has a couple more options. You can now provide a kernel file and select your disk drive as a source for the OS X installer.


Weve also made everything about OS X Gen resizeable now. This is especially useful when selecting from options in the additional options screen. I made sure to expand a lot of the patch options in this picture so you could all see what going to be available ;)


Heres where I wanted to talk a bit about how OS X Gen works. I made his program with modularity and maintainability in mind, and this is how Ive done that. All the options available are created at runtime by reading them in from a file. Fortunately this makes updating and maintaining OS X Gen very simple, and Ive very pleased with how it turned out. To demonstrate this, heres a picture of part of the options file that contains the first few kext patches. I know it looks a little bit complicated, but its all documented pretty well. If you look close enough, youll see that theres ways of making options version specific. This relies on OS X Gens ability to detect the version of OS X that you provide and only display the options that are applicable to it :)


One last thing Ive been working on is getting syntax highlighting to work for the parts of the program that give you the ability to edit text files. Heres a quick example of the "Edit Post-Installation Script" patch. This post-installation script is generated by OS X Gen based on the options youve selected, and it is run by the OS X installer which eliminates the need for any kind of post-installation utilities. I think its looking pretty good so far.

 
Thats it for now. Hope you all enjoyed the update. And feel free to ask questions and leave comments. I always enjoy getting feedback. Thanks! :)

Available link for download