Jump to content

TINU: The bootable macOS installer creation tool - Mac app


ITzTravelInTime
390 posts in this topic

Recommended Posts

Is there a way to include kernel injection for AMD kernel and pelinked kernels? Pandora has this option which is very useful but doesn't have High Sierra support. chris1111 may be able to help I think he knows how to do this.

 

The version of TINU i am working on does allows to replace the prelinked kernel, and other files that are not into the InstallESD.dmg, not the kernel or the individual system components that are built into that dmg or basesystem.dmg, because TINU uses the "createinstallmedia" executable from the installer app, and so i decided to not let the app to edit that dmgs because it will add too much complexity for what i want that the app does, the real aim of this tool is to use the official apple method for usb installers in an easy and accessible way and to be better and simpler to use than the utility with the name that starts with U (that for good reasons is not allowed here)

  • Like 1
Link to comment
Share on other sites

Ok, other news, the version 2.0 will finally support APFS volumes, because the actual versions of tinu have problems to detect and use APFS volumes, but now it has been fixed, and it will be also supported in the new feature that allows you to install macOS using TINU (from a recovery or a macOS installer) it will be supported if you use TINU on macOS 10.13 or more recent version, i am working on testing it, but it seems to work for now

  • Like 5
Link to comment
Share on other sites

Ok, other news, the version 2.0 will finally support APFS volumes, because the actual versions of tinu have problems to detect and use APFS volumes, but now it has been fixed, and it will be also supported in the new feature that allows you to install macOS using TINU (from a recovery or a macOS installer) it will be supported if you use TINU on macOS 10.13 or more recent version, i am working on testing it, but it seems to work for now

Thanks for the future version 2. I wait to try it

  • Like 1
Link to comment
Share on other sites

Thanks for the future version 2. I wait to try it

Thank you for believing in this project, i am happy to see that people here are enjoying it and are curious about the future versions

  • Like 1
Link to comment
Share on other sites

Just another update: I am working on optimising the installer creation code, i have changed how the first step authentication is done: for users who use TINU on macOS 10.12 or more recent version of macOS, now the first step of authentication is done using the Local Authentication Libraries that are better than Security Foundation, that was used before and also allows macbook pro users to use Touch ID if available, if you use tinu on yosemite, the Security Foundation libraries (that where used previously by TINU) will be used for authentication, and security foundation APIs as far as i know are not giving the issues seen in high sierra on yosemite, so you will still be safe on yosemite and also i have not seen any security bug with Local Authentication Libraries on recent versions of macOS.

 

If you are asking the first step of user authentication in tinu is done using system libraries and it's aim is to be sure that the owner of the macine is using tinu and has his permission to procede, the second step of authentication  in TINU is done to allow createinstallmedia to start correctly.

 

I hope that the work i am doing is appreciated, and also security is an important point for tinu, that's why i am working hard also to improve it, and the new version will have huge improvements in that direction.

 

 

And also this is an open project, so anyone can contribute, tell me what do you want to be changed or improved, we will discuss about it and then if needed change it

 

Small edit: after some testing it seems that Local Authentication Libraries gives problems while running on a version of the macOS recovery that is older than sierra,  so i have changed the requirement that now is sierra to use the new framework in a mac os recovery

  • Like 1
Link to comment
Share on other sites

Ok there is a problem, while testing i have discovered that if you try to use an app that uses local authentication APIs in a recovery/installer macOS it will not work, so because of that, i don't know what to do, because the holy way to let it to work on recovery is to have a version of tinu without local authentication APIs used in it, and so for now i have added a processor macro to the project that if enabled it will allow tinu to compile using that libraries, and if disabled tinu will be compiled using only security foundation libraries, if you know how to make possible to load dynamically Local Authentication Framework if some conditions are detected be the code, let me know, i was thinking on integrating a command line tool instead of the executable that will recognize if you use tinu in a mac os recovery or not and then start the appropriate tinu binary file, but the better solution will be to have a single binary file inside of the app that is capable of loading dynamically the Local Authentication framework only if some conditions are detected


Another solution could be to use something like a plugin system that handle 1st step authentication with local authentication, because a plugin type library could be loaded at certain conditions, so i will try different solution and then choose the best for me

Link to comment
Share on other sites

ITzTravelInTime. Can you share this "UnSolid.kext" here?

 If you want to avoid using apfs is better to go with a manual installation of mac os from the terminal to avoid using apfs, you find the tutorial about that in my youtube channel 

  • Like 1
Link to comment
Share on other sites

So guys, the work continues, but i do not know what to do with authentication libraries, because on a macOS installer or recovery that is older than high sierra, the app will not load because LocalAuthentication libraries are missing in those older macOS installers, instead if i do not use local authentication libraries the app will load on recovery/mac os installer starting from el capitan, so what do you prefer? some better libraries for authentication on the normal mac desktop but limitations to use the app in a recovery environment or the libraries i was using before for user authentication and then have the app that works on more installer/recovery environments?

 

There will be some special features that tinu will be able to to do in a recovery/installer of mac os so that's why i do not know what to do and i am asking to you, but the good news is that i have designed the code to be really simple to choose use one of the 2 authentication  systems, for me it's just a thing of changing a single motion in the Xcode project to enable or disable that

Link to comment
Share on other sites

Other news, i am experimenting with Localization of the app to have it in different languages, so i have tried and it works just fine i have created a testing copy of tinu partially translated to italian, but the good thing is that it uses Italian or English depending of the langue you are using in your system and it will do the same thing for every language that the app will support in the future, but it will not come in the next version of the app because i want to finish the 2.0 version first that is almost ready but needs some testing and also some design reviewing and i have to make a decision about the libraries for the authentication, but it's close to be finished

  • Like 2
Link to comment
Share on other sites

Another update, i received the feedback from my designer, and i am working to finish the ui, in  the meanwhile the only thing missing is some testing for some new features, i have also created this image to reveal you the new version of tinu which includes some important design changes and also a new icon, that i am going to show you now for the first time in this presentation thumbnail 

post-1390153-0-42422700-1518129598_thumb.png

  • Like 5
Link to comment
Share on other sites

  • 2 weeks later...

TINU 2 is ready! i have finished with the developing process, i have to send it to the closed beta testers group to see if there are any issues before releasing, and also the work on the ui is finished, i have also done tests to all the features to make sure that it does work properly and should work properly once it will be in the hands of beta testers, so i think that in aweek you will see tinu 2 released, and i will also reveal to you all the new features and changements introduced

  • Like 10
Link to comment
Share on other sites

  • 2 weeks later...

Just an update, you will see shortly the new version of the app, but befirore i will meet with my designer to discuss some thing about the new design of tinu 2, so i will let you know the next week, but beta testers just told me that the app is working fine, the only issue to fix is about the design because some people have problems understanding some of the new features so it's is a design problem to solve.

 

but reusing the actual released tinu and tinu 2 i have seen how far i gone with the version 2, it just has so much imrovements and i like it very much and i believe you will like it too.

  • Like 5
Link to comment
Share on other sites

ok, so i have talked a lot with my friend Fancesco the designer that helps me with the ui of the application, so i will implement all the changes we discussed in the next week or so, there will be some huge changements to the UI, that will make the interface so much better, so stay tuned, in the mean while i have also talked to some firends so in the future i can provvide for sure the Italian and maybe the France as other lanuages. I will also point out that one of the point i am most focues on is the UI design, because other tools do not have a good UI for me, and i want this tool to be the best as i can in every way

  • Like 3
Link to comment
Share on other sites

  • 2 weeks later...

Hi guys, insanly is now back and i can say that next week you will have tinu 2.0 finally ready, i need just to solve a couple of minor issues and then it will be released

 

And also say hello to the new look of this forum, maybe they still have to improve things like colors of some fonts

  • Like 4
  • Thanks 1
Link to comment
Share on other sites

Just beacuse this forum has an huge Italian section, i have started a new italian topic for this app for whose who speacks italian to give more direct support, but i will continue as ususal with updates here, and news about the app will be still published mainly here.

i leave a link to the thread if you want to take a look at it

 

  • Like 1
Link to comment
Share on other sites

I want to tell you about an idea for the commiunity side of this project, I am considering to create a new branch in the TINU's github repo to dedicate to snapshots and pre-releases, and to let you have te latest source code and app from the development and to let you to partecipate more actively to the development process and to try the latest development version of the app, then when a new release is ready, i just pubblish it in the main branch, wht do you think about this idea? should i do it?

If you are asking, one of the reasons, because i am doing it, is that the code in the snaposhots branch could be also used as a backup copy of the app's code, so it would be usefoul for me and you.

 

And also because the app is ready and maybe it needs just some minor adjustments i am considering to do a pre-relase, should i do it?

 

Please replay to let me know what do you think

  • Like 2
Link to comment
Share on other sites

ok the new branch has been created and you can take a look at the new source code, thare are also some compiler macros that you can use to enable some things disabled by default like using different libraries for the first authentication and some cool stuff, a pre-release binary will be pubblished later but outside github, maybe here in the forum or via a download link here, in the meanwhile i will continue with tests and then the finished release will be pubblished.

here is the link to the new branch: https://github.com/ITzTravelInTime/TINU/tree/development

 

If you want to try it now you can try to compile it using xcode 8, i don't know if it will compile without too much warnings on xcode 9

  • Like 1
Link to comment
Share on other sites

And here is the pre-relase of TINU 2.0 with a redesign of the UI and new features and improvements. There are also some options to customize the usb installer you create, which is the advanced install media, try it, if you use no options and do not replace the boot files it will be just an usb installer created with "createinstallmedia", but the options will make mostly cosmetic changes and gives to you the possibility to change the system files in the usb installer which are not part of installESD and baseSystem dmgs.

 

Here is a direct download of the app: https://dl.dropboxusercontent.com/s/nvzss51qcieynve/TINU.zip

 

Note that this is a pre-release version, which is still under testing, so do not expoct it to be bug free. If you see andy bugs or essors tell me by replying to this thread or (if you speack italian) in the Italian thread you find linked in previous posts.

 

Note that this new version still lacks clover support, because i decided to make other features first, once finished this 2.0 version i will start working on the clover implementation.

Edited by ITzTravelInTime
  • Like 9
Link to comment
Share on other sites

13 minutes ago, Matgen84 said:

Hi

First test succeed. Bravo :)

I don't understand why progress bar won't work on my system, when I create usb installer.

you have to select the window probably, but that's mostly a cosmetical thing and when the main part of process is going, the creation of the usb installer using "createinstallmedia", the progress bar assumes an indeterminate state, becasue "createinstallmedia" does not provvides any data to determinate the progress for it's operation, i have introduced the progress bar just for cosmetical purposes.

  • Like 1
Link to comment
Share on other sites

ok, i have tested the progress bar thing and using a different approach to set the progress value of the progress bar seems to work better, so maybe it's fixed, i will update the pre release later, after today's debbuging and bug fixing session.

  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...