Repository navigation
PR2 OSX Boot
jhaynie edited this page Sep 13, 2010
·
1 revision
For PR2, we’re going to refactor a lot of how OSX load (along with the other platforms). I’m going to attempt to illuminate some of the design here.
In PR2, there will be 2 modes of packaging:
- Application distribution packaging – the distribution includes both the application and the runtime
- Application runtime packaging – the distribution only includes the application and doesn’t include the distribution
On boot, the application will be bundled as a normal OSX Application Bundle. The main entry point application will be a small binary which will perform a pre-boot of the application and perform the following:
- Check to see if the Titanium runtime framework is installed. If installed, it will continue by loading the boot kernel. If not installed, it will extract and install the bundled runtime from the Resources/runtime directory.
- Once the runtime is installed and available, the pre-boot will execute the boot kernel binary and setup the appropriate paths and environment variables as may be necessary such as DYLD_LIBRARY_PATH
Once the boot kernel is started, it will perform the following:
- Load the Host environment and hand off control to the host (host will be an OS specific implementation of TiHost)
- The host will scan the Plugins directory (location is determined by the platform) and load each plugin
Titanium will be packaged as a normal Framework. The Framework will include the third-party libraries, resources, etc for a specific version of the runtime.