<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.theiphonewiki.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cheinelt</id>
	<title>The iPhone Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.theiphonewiki.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cheinelt"/>
	<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/wiki/Special:Contributions/Cheinelt"/>
	<updated>2026-05-19T07:08:54Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=2112</id>
		<title>Toolchain 2.0</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=2112"/>
		<updated>2008-09-14T13:12:47Z</updated>

		<summary type="html">&lt;p&gt;Cheinelt: /* iPhone/iPod Touch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article explains how to build a tool chain for iPhone OS 2.0. &lt;br /&gt;
&lt;br /&gt;
'''Please note that this section is under development.'''&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
fill this in. somebody did not get this memo :P&lt;br /&gt;
&lt;br /&gt;
toolchain != apple sdk&lt;br /&gt;
&lt;br /&gt;
== Windows XP ==&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 SDK ===&lt;br /&gt;
* Download the iPhone OS 2.0 SDK from [http://developer.apple.com/iphone/index.action Apple iPhone Dev Center].&lt;br /&gt;
* Download and install ''HFSExplorer'' from [http://hem.bredband.net/catacombae/hfsx.html catacombae software].&lt;br /&gt;
* Start ''HFSExplorer'' and choose the menu ''File&amp;amp;rarr;Open UDIF Disk Image (.dmg)...''&lt;br /&gt;
* Select the iPhone 2.0 SDK disk image ''iphone_sdk_final.dmg'' and press ''Open''&lt;br /&gt;
* When the tool asks ''Which partition to read'' leave it at ''&amp;quot;Mac_OS_X&amp;quot; (Apple_HFS)'' and press ''OK''&lt;br /&gt;
* Go to ''Packages'' and select the package you want to extract, e.g. ''iPhoneSDKHeadersAndLibs.pkg'' for the iPhone OS 2.0 header files.&lt;br /&gt;
* With right mouse button choose ''Extract data'' to extract an installation package.&lt;br /&gt;
* Please note that in order to extract this .pkg file on Windows, you must compile xar using Cygwin.  Make sure you have libxml2, libxml2-devel, openssl and openssl-devel.  You can then follow the instructions below.&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
Currently we can only describe how to get the headers from the iPhone OS 2.0 SDK.&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 Installation Packages (.pkg) ===&lt;br /&gt;
* Extract &amp;lt;tt&amp;gt;iPhoneSDKHeadersAndLibs.pkg&amp;lt;/tt&amp;gt; from iPhone OS 2.0 SDK:&lt;br /&gt;
 mount -t hfs -o loop /path/to/iphone_sdk_final.dmg /somepath/somedir&lt;br /&gt;
:Copy &amp;lt;tt&amp;gt;iPhoneSDKHeadersAndLibs.pkg&amp;lt;/tt&amp;gt; from &amp;lt;tt&amp;gt;/somepath/somedir&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Use the ''eXtensible ARchiver'' &amp;lt;tt&amp;gt;xar&amp;lt;/tt&amp;gt; to extract the file &amp;lt;tt&amp;gt;Payload&amp;lt;/tt&amp;gt; file containing the actual header files:&lt;br /&gt;
 xar -xf iPhoneSDKHeadersAndLibs.pkg Payload&lt;br /&gt;
* Rename the &amp;lt;tt&amp;gt;Payload&amp;lt;/tt&amp;gt; file since it is gzipped:&lt;br /&gt;
 mv Payload Payload.gz&lt;br /&gt;
* Uncompress the &amp;lt;tt&amp;gt;Payload.gz&amp;lt;/tt&amp;gt; file:&lt;br /&gt;
 gunzip Payload.gz&lt;br /&gt;
* Extract the contents of the resulting &amp;lt;tt&amp;gt;Payload&amp;lt;/tt&amp;gt; file:&lt;br /&gt;
 cat Payload | cpio -i&lt;br /&gt;
or&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
to extract only all header files included in the package.&lt;br /&gt;
&lt;br /&gt;
=== Framework Headers ===&lt;br /&gt;
This section assumes that&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
got used in previous section.&lt;br /&gt;
&lt;br /&gt;
If you want to move all Framework headers into an ''include'' directory continue&lt;br /&gt;
as follows:&lt;br /&gt;
&lt;br /&gt;
* Remove the project XCode templates since they will not be required anymore:&lt;br /&gt;
 rm -rf Platforms/iPhoneOS.platform/Developer/Library&lt;br /&gt;
&lt;br /&gt;
* Create your target ''include'' directory:&lt;br /&gt;
 mkdir include&lt;br /&gt;
&lt;br /&gt;
* Get just the ''System'' and ''usr'' directories from the iPhone Os 2.0 SDK and remove the empty ''Platforms'' directory hierarchy:&lt;br /&gt;
 mv Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/* .&lt;br /&gt;
 rmdir -p Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/&lt;br /&gt;
&lt;br /&gt;
* Move the Framework headers to current directory and clean-up empty directory hierarchy:&lt;br /&gt;
 mv System/Library/Frameworks/* .&lt;br /&gt;
 rmdir -p System/Library/Frameworks/&lt;br /&gt;
&lt;br /&gt;
* Rename/move all Framework header directories into ''include'' directory and cleanup&lt;br /&gt;
 mv AddressBook.framework/Headers include/AddressBook&lt;br /&gt;
 mv AddressBookUI.framework/Headers include/AddressBookUI&lt;br /&gt;
 mv AudioToolbox.framework/Headers include/AudioToolbox&lt;br /&gt;
 mv AudioUnit.framework/Headers include/AudioUnit&lt;br /&gt;
 mv CFNetwork.framework/Headers include/CFNetwork&lt;br /&gt;
 mv CoreAudio.framework/Headers include/CoreAudio&lt;br /&gt;
 mv CoreFoundation.framework/Headers include/CoreFoundation&lt;br /&gt;
 mv CoreGraphics.framework/Headers include/CoreGraphics&lt;br /&gt;
 mv CoreLocation.framework/Headers include/CoreLocation&lt;br /&gt;
 mv Foundation.framework/Headers include/Foundation&lt;br /&gt;
 mv MediaPlayer.framework/Headers include/MediaPlayer&lt;br /&gt;
 mv OpenAL.framework/Headers include/OpenAL&lt;br /&gt;
 mv OpenGLES.framework/Headers include/OpenGLES&lt;br /&gt;
 mv QuartzCore.framework/Headers include/QuartzCore&lt;br /&gt;
 mv Security.framework/Headers include/Security&lt;br /&gt;
 mv SystemConfiguration.framework/Headers include/SystemConfiguration&lt;br /&gt;
 mv UIKit.framework/Headers include/UIKit&lt;br /&gt;
 rmdir -p *.framework&lt;br /&gt;
&lt;br /&gt;
* The remaining directories are ''include'' with all Framework headers and ''usr'' with all system related headers.&lt;br /&gt;
&lt;br /&gt;
* Move the ''usr/include'' headers also into new ''include'' directory, remove ''usr/lib'' since gcc includes will not be needed (at least not on iPhone toolchain), and clean up:&lt;br /&gt;
 mv usr/include/* include/&lt;br /&gt;
 rm -rf usr/lib&lt;br /&gt;
 rmdir -p usr/include/&lt;br /&gt;
&lt;br /&gt;
* You may still remove the ''Payload'' file since we don't need it anymore:&lt;br /&gt;
 rm Payload&lt;br /&gt;
&lt;br /&gt;
* Create a tar file so that you can directly transfer to your iPhone:&lt;br /&gt;
 tar --group 0 --owner 0 -cvf include.tar include&lt;br /&gt;
&lt;br /&gt;
* You are done.&lt;br /&gt;
&lt;br /&gt;
* Now you may transfer the ''include.tar'' to your iPhone (as user root), login to your iPhone via ssh and execute following commands to extract the header files (on your iPhone):&lt;br /&gt;
 cd /var&lt;br /&gt;
 tar xf /private/var/root/include.tar&lt;br /&gt;
&lt;br /&gt;
== iPhone/iPod Touch ==&lt;br /&gt;
There is a tool chain available after jailbreak from the [[Cydia|Cydia installer]]. You just need to install&lt;br /&gt;
the '''GNU C Compiler''' from Cydia to get the development environment on your iPhone&lt;br /&gt;
or iPod Touch. BigBoss has some comments on this Toolchain on his&lt;br /&gt;
webpage ''[http://thebigboss.org/moreinfo/Toolchain2.php Toolchain 2.0]''.&lt;br /&gt;
&lt;br /&gt;
If you want to use the header files from iPhone OS 2.0, you can obtain them from the&lt;br /&gt;
iPhone OS 2.0 SDK as described in section ''[[#Framework Headers|Framework Headers]]''.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:'''&lt;br /&gt;
When using iphone-gcc ( the native compiler ) to compile iPhone applications, you must do one of the following:&lt;br /&gt;
# Patch the SDK header files for use with the compiler ( stupid thing doesn't like the new headers! ) or&lt;br /&gt;
# Use the old header files ( which are great, but some things dont work/exist the same anymore! ) or&lt;br /&gt;
# Use the following settings in your Makefile to avoid warnings and errors during compilation and linking:&lt;br /&gt;
 CC=/usr/bin/gcc&lt;br /&gt;
 &lt;br /&gt;
 CFLAGS=-fsigned-char -g -ObjC -fobjc-exceptions \&lt;br /&gt;
   -Wall -Wundeclared-selector -Wreturn-type -Wnested-externs \&lt;br /&gt;
   -Wredundant-decls \&lt;br /&gt;
   -Wbad-function-cast \&lt;br /&gt;
   -Wchar-subscripts \&lt;br /&gt;
   -Winline -Wswitch -Wshadow \&lt;br /&gt;
   -I/var/include \&lt;br /&gt;
   -I/var/include/gcc/darwin/4.0 \&lt;br /&gt;
   -D_CTYPE_H_ \&lt;br /&gt;
   -D_BSD_ARM_SETJMP_H \&lt;br /&gt;
   -D_UNISTD_H_&lt;br /&gt;
 &lt;br /&gt;
 CPPFLAGS=&lt;br /&gt;
 &lt;br /&gt;
 LD=$(CC)&lt;br /&gt;
 &lt;br /&gt;
 LDFLAGS=-lobjc \&lt;br /&gt;
   -F/System/Library/Frameworks \&lt;br /&gt;
   -framework CoreFoundation \&lt;br /&gt;
   -framework Foundation \&lt;br /&gt;
   -framework UIKit \&lt;br /&gt;
   -framework CoreGraphics \&lt;br /&gt;
   -L/usr/lib -lc /usr/lib/libgcc_s.1.dylib \&lt;br /&gt;
   -bind_at_load \&lt;br /&gt;
   -multiply_defined suppress&lt;br /&gt;
&lt;br /&gt;
If you want to test the iPhone 2.0 Toolchain, you may use this [[HelloWorld on iPhone|HelloWorld]] example.&lt;/div&gt;</summary>
		<author><name>Cheinelt</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=2111</id>
		<title>Toolchain 2.0</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=2111"/>
		<updated>2008-09-14T13:00:57Z</updated>

		<summary type="html">&lt;p&gt;Cheinelt: /* iPhone/iPod Touch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article explains how to build a tool chain for iPhone OS 2.0. &lt;br /&gt;
&lt;br /&gt;
'''Please note that this section is under development.'''&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
fill this in. somebody did not get this memo :P&lt;br /&gt;
&lt;br /&gt;
toolchain != apple sdk&lt;br /&gt;
&lt;br /&gt;
== Windows XP ==&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 SDK ===&lt;br /&gt;
* Download the iPhone OS 2.0 SDK from [http://developer.apple.com/iphone/index.action Apple iPhone Dev Center].&lt;br /&gt;
* Download and install ''HFSExplorer'' from [http://hem.bredband.net/catacombae/hfsx.html catacombae software].&lt;br /&gt;
* Start ''HFSExplorer'' and choose the menu ''File&amp;amp;rarr;Open UDIF Disk Image (.dmg)...''&lt;br /&gt;
* Select the iPhone 2.0 SDK disk image ''iphone_sdk_final.dmg'' and press ''Open''&lt;br /&gt;
* When the tool asks ''Which partition to read'' leave it at ''&amp;quot;Mac_OS_X&amp;quot; (Apple_HFS)'' and press ''OK''&lt;br /&gt;
* Go to ''Packages'' and select the package you want to extract, e.g. ''iPhoneSDKHeadersAndLibs.pkg'' for the iPhone OS 2.0 header files.&lt;br /&gt;
* With right mouse button choose ''Extract data'' to extract an installation package.&lt;br /&gt;
* Please note that in order to extract this .pkg file on Windows, you must compile xar using Cygwin.  Make sure you have libxml2, libxml2-devel, openssl and openssl-devel.  You can then follow the instructions below.&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
Currently we can only describe how to get the headers from the iPhone OS 2.0 SDK.&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 Installation Packages (.pkg) ===&lt;br /&gt;
* Extract &amp;lt;tt&amp;gt;iPhoneSDKHeadersAndLibs.pkg&amp;lt;/tt&amp;gt; from iPhone OS 2.0 SDK:&lt;br /&gt;
 mount -t hfs -o loop /path/to/iphone_sdk_final.dmg /somepath/somedir&lt;br /&gt;
:Copy &amp;lt;tt&amp;gt;iPhoneSDKHeadersAndLibs.pkg&amp;lt;/tt&amp;gt; from &amp;lt;tt&amp;gt;/somepath/somedir&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Use the ''eXtensible ARchiver'' &amp;lt;tt&amp;gt;xar&amp;lt;/tt&amp;gt; to extract the file &amp;lt;tt&amp;gt;Payload&amp;lt;/tt&amp;gt; file containing the actual header files:&lt;br /&gt;
 xar -xf iPhoneSDKHeadersAndLibs.pkg Payload&lt;br /&gt;
* Rename the &amp;lt;tt&amp;gt;Payload&amp;lt;/tt&amp;gt; file since it is gzipped:&lt;br /&gt;
 mv Payload Payload.gz&lt;br /&gt;
* Uncompress the &amp;lt;tt&amp;gt;Payload.gz&amp;lt;/tt&amp;gt; file:&lt;br /&gt;
 gunzip Payload.gz&lt;br /&gt;
* Extract the contents of the resulting &amp;lt;tt&amp;gt;Payload&amp;lt;/tt&amp;gt; file:&lt;br /&gt;
 cat Payload | cpio -i&lt;br /&gt;
or&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
to extract only all header files included in the package.&lt;br /&gt;
&lt;br /&gt;
=== Framework Headers ===&lt;br /&gt;
This section assumes that&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
got used in previous section.&lt;br /&gt;
&lt;br /&gt;
If you want to move all Framework headers into an ''include'' directory continue&lt;br /&gt;
as follows:&lt;br /&gt;
&lt;br /&gt;
* Remove the project XCode templates since they will not be required anymore:&lt;br /&gt;
 rm -rf Platforms/iPhoneOS.platform/Developer/Library&lt;br /&gt;
&lt;br /&gt;
* Create your target ''include'' directory:&lt;br /&gt;
 mkdir include&lt;br /&gt;
&lt;br /&gt;
* Get just the ''System'' and ''usr'' directories from the iPhone Os 2.0 SDK and remove the empty ''Platforms'' directory hierarchy:&lt;br /&gt;
 mv Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/* .&lt;br /&gt;
 rmdir -p Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/&lt;br /&gt;
&lt;br /&gt;
* Move the Framework headers to current directory and clean-up empty directory hierarchy:&lt;br /&gt;
 mv System/Library/Frameworks/* .&lt;br /&gt;
 rmdir -p System/Library/Frameworks/&lt;br /&gt;
&lt;br /&gt;
* Rename/move all Framework header directories into ''include'' directory and cleanup&lt;br /&gt;
 mv AddressBook.framework/Headers include/AddressBook&lt;br /&gt;
 mv AddressBookUI.framework/Headers include/AddressBookUI&lt;br /&gt;
 mv AudioToolbox.framework/Headers include/AudioToolbox&lt;br /&gt;
 mv AudioUnit.framework/Headers include/AudioUnit&lt;br /&gt;
 mv CFNetwork.framework/Headers include/CFNetwork&lt;br /&gt;
 mv CoreAudio.framework/Headers include/CoreAudio&lt;br /&gt;
 mv CoreFoundation.framework/Headers include/CoreFoundation&lt;br /&gt;
 mv CoreGraphics.framework/Headers include/CoreGraphics&lt;br /&gt;
 mv CoreLocation.framework/Headers include/CoreLocation&lt;br /&gt;
 mv Foundation.framework/Headers include/Foundation&lt;br /&gt;
 mv MediaPlayer.framework/Headers include/MediaPlayer&lt;br /&gt;
 mv OpenAL.framework/Headers include/OpenAL&lt;br /&gt;
 mv OpenGLES.framework/Headers include/OpenGLES&lt;br /&gt;
 mv QuartzCore.framework/Headers include/QuartzCore&lt;br /&gt;
 mv Security.framework/Headers include/Security&lt;br /&gt;
 mv SystemConfiguration.framework/Headers include/SystemConfiguration&lt;br /&gt;
 mv UIKit.framework/Headers include/UIKit&lt;br /&gt;
 rmdir -p *.framework&lt;br /&gt;
&lt;br /&gt;
* The remaining directories are ''include'' with all Framework headers and ''usr'' with all system related headers.&lt;br /&gt;
&lt;br /&gt;
* Move the ''usr/include'' headers also into new ''include'' directory, remove ''usr/lib'' since gcc includes will not be needed (at least not on iPhone toolchain), and clean up:&lt;br /&gt;
 mv usr/include/* include/&lt;br /&gt;
 rm -rf usr/lib&lt;br /&gt;
 rmdir -p usr/include/&lt;br /&gt;
&lt;br /&gt;
* You may still remove the ''Payload'' file since we don't need it anymore:&lt;br /&gt;
 rm Payload&lt;br /&gt;
&lt;br /&gt;
* Create a tar file so that you can directly transfer to your iPhone:&lt;br /&gt;
 tar --group 0 --owner 0 -cvf include.tar include&lt;br /&gt;
&lt;br /&gt;
* You are done.&lt;br /&gt;
&lt;br /&gt;
* Now you may transfer the ''include.tar'' to your iPhone (as user root), login to your iPhone via ssh and execute following commands to extract the header files (on your iPhone):&lt;br /&gt;
 cd /var&lt;br /&gt;
 tar xf /private/var/root/include.tar&lt;br /&gt;
&lt;br /&gt;
== iPhone/iPod Touch ==&lt;br /&gt;
There is a tool chain available after jailbreak from the [[Cydia|Cydia installer]]. You just need to install&lt;br /&gt;
the '''iPhone 2.0 Toolchain''' from Cydia to get a 1.1.x based development environment on your iPhone&lt;br /&gt;
or iPod Touch. The maintainer of this package - BigBoss - has some comments on this Toolchain on his&lt;br /&gt;
webpage ''[http://thebigboss.org/moreinfo/Toolchain2.php Toolchain 2.0]''.&lt;br /&gt;
&lt;br /&gt;
If you want to use the header files from iPhone OS 2.0, you can obtain them from the&lt;br /&gt;
iPhone OS 2.0 SDK as described in section ''[[#Framework Headers|Framework Headers]]''.&lt;br /&gt;
&lt;br /&gt;
=== NOTE ===&lt;br /&gt;
When using iphone-gcc ( the native compiler ) to compile iPhone applications, you must do one of the following:&lt;br /&gt;
# Patch the SDK header files for use with the compiler ( stupid thing doesn't like the new headers! ) or&lt;br /&gt;
# Use the old header files ( which are great, but some things dont work/exist the same anymore! ) or&lt;br /&gt;
# Use the following settings in your Makefile to avoid warnings and errors during compilation and linking:&lt;br /&gt;
 CC=/usr/bin/gcc&lt;br /&gt;
 &lt;br /&gt;
 CFLAGS=-fsigned-char -g -ObjC -fobjc-exceptions \&lt;br /&gt;
   -Wall -Wundeclared-selector -Wreturn-type -Wnested-externs \&lt;br /&gt;
   -Wredundant-decls \&lt;br /&gt;
   -Wbad-function-cast \&lt;br /&gt;
   -Wchar-subscripts \&lt;br /&gt;
   -Winline -Wswitch -Wshadow \&lt;br /&gt;
   -I/var/include \&lt;br /&gt;
   -I/var/include/gcc/darwin/4.0 \&lt;br /&gt;
   -D_CTYPE_H_ \&lt;br /&gt;
   -D_BSD_ARM_SETJMP_H \&lt;br /&gt;
   -D_UNISTD_H_&lt;br /&gt;
 &lt;br /&gt;
 CPPFLAGS=&lt;br /&gt;
 &lt;br /&gt;
 LD=$(CC)&lt;br /&gt;
 &lt;br /&gt;
 LDFLAGS=-lobjc \&lt;br /&gt;
   -F/System/Library/Frameworks \&lt;br /&gt;
   -framework CoreFoundation \&lt;br /&gt;
   -framework Foundation \&lt;br /&gt;
   -framework UIKit \&lt;br /&gt;
   -framework CoreGraphics \&lt;br /&gt;
   -L/usr/lib -lc /usr/lib/libgcc_s.1.dylib \&lt;br /&gt;
   -bind_at_load \&lt;br /&gt;
   -multiply_defined suppress&lt;/div&gt;</summary>
		<author><name>Cheinelt</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=2110</id>
		<title>Toolchain 2.0</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=2110"/>
		<updated>2008-09-14T12:51:52Z</updated>

		<summary type="html">&lt;p&gt;Cheinelt: /* Framework Headers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article explains how to build a tool chain for iPhone OS 2.0. &lt;br /&gt;
&lt;br /&gt;
'''Please note that this section is under development.'''&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
fill this in. somebody did not get this memo :P&lt;br /&gt;
&lt;br /&gt;
toolchain != apple sdk&lt;br /&gt;
&lt;br /&gt;
== Windows XP ==&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 SDK ===&lt;br /&gt;
* Download the iPhone OS 2.0 SDK from [http://developer.apple.com/iphone/index.action Apple iPhone Dev Center].&lt;br /&gt;
* Download and install ''HFSExplorer'' from [http://hem.bredband.net/catacombae/hfsx.html catacombae software].&lt;br /&gt;
* Start ''HFSExplorer'' and choose the menu ''File&amp;amp;rarr;Open UDIF Disk Image (.dmg)...''&lt;br /&gt;
* Select the iPhone 2.0 SDK disk image ''iphone_sdk_final.dmg'' and press ''Open''&lt;br /&gt;
* When the tool asks ''Which partition to read'' leave it at ''&amp;quot;Mac_OS_X&amp;quot; (Apple_HFS)'' and press ''OK''&lt;br /&gt;
* Go to ''Packages'' and select the package you want to extract, e.g. ''iPhoneSDKHeadersAndLibs.pkg'' for the iPhone OS 2.0 header files.&lt;br /&gt;
* With right mouse button choose ''Extract data'' to extract an installation package.&lt;br /&gt;
* Please note that in order to extract this .pkg file on Windows, you must compile xar using Cygwin.  Make sure you have libxml2, libxml2-devel, openssl and openssl-devel.  You can then follow the instructions below.&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
Currently we can only describe how to get the headers from the iPhone OS 2.0 SDK.&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 Installation Packages (.pkg) ===&lt;br /&gt;
* Extract &amp;lt;tt&amp;gt;iPhoneSDKHeadersAndLibs.pkg&amp;lt;/tt&amp;gt; from iPhone OS 2.0 SDK:&lt;br /&gt;
 mount -t hfs -o loop /path/to/iphone_sdk_final.dmg /somepath/somedir&lt;br /&gt;
:Copy &amp;lt;tt&amp;gt;iPhoneSDKHeadersAndLibs.pkg&amp;lt;/tt&amp;gt; from &amp;lt;tt&amp;gt;/somepath/somedir&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Use the ''eXtensible ARchiver'' &amp;lt;tt&amp;gt;xar&amp;lt;/tt&amp;gt; to extract the file &amp;lt;tt&amp;gt;Payload&amp;lt;/tt&amp;gt; file containing the actual header files:&lt;br /&gt;
 xar -xf iPhoneSDKHeadersAndLibs.pkg Payload&lt;br /&gt;
* Rename the &amp;lt;tt&amp;gt;Payload&amp;lt;/tt&amp;gt; file since it is gzipped:&lt;br /&gt;
 mv Payload Payload.gz&lt;br /&gt;
* Uncompress the &amp;lt;tt&amp;gt;Payload.gz&amp;lt;/tt&amp;gt; file:&lt;br /&gt;
 gunzip Payload.gz&lt;br /&gt;
* Extract the contents of the resulting &amp;lt;tt&amp;gt;Payload&amp;lt;/tt&amp;gt; file:&lt;br /&gt;
 cat Payload | cpio -i&lt;br /&gt;
or&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
to extract only all header files included in the package.&lt;br /&gt;
&lt;br /&gt;
=== Framework Headers ===&lt;br /&gt;
This section assumes that&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
got used in previous section.&lt;br /&gt;
&lt;br /&gt;
If you want to move all Framework headers into an ''include'' directory continue&lt;br /&gt;
as follows:&lt;br /&gt;
&lt;br /&gt;
* Remove the project XCode templates since they will not be required anymore:&lt;br /&gt;
 rm -rf Platforms/iPhoneOS.platform/Developer/Library&lt;br /&gt;
&lt;br /&gt;
* Create your target ''include'' directory:&lt;br /&gt;
 mkdir include&lt;br /&gt;
&lt;br /&gt;
* Get just the ''System'' and ''usr'' directories from the iPhone Os 2.0 SDK and remove the empty ''Platforms'' directory hierarchy:&lt;br /&gt;
 mv Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/* .&lt;br /&gt;
 rmdir -p Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/&lt;br /&gt;
&lt;br /&gt;
* Move the Framework headers to current directory and clean-up empty directory hierarchy:&lt;br /&gt;
 mv System/Library/Frameworks/* .&lt;br /&gt;
 rmdir -p System/Library/Frameworks/&lt;br /&gt;
&lt;br /&gt;
* Rename/move all Framework header directories into ''include'' directory and cleanup&lt;br /&gt;
 mv AddressBook.framework/Headers include/AddressBook&lt;br /&gt;
 mv AddressBookUI.framework/Headers include/AddressBookUI&lt;br /&gt;
 mv AudioToolbox.framework/Headers include/AudioToolbox&lt;br /&gt;
 mv AudioUnit.framework/Headers include/AudioUnit&lt;br /&gt;
 mv CFNetwork.framework/Headers include/CFNetwork&lt;br /&gt;
 mv CoreAudio.framework/Headers include/CoreAudio&lt;br /&gt;
 mv CoreFoundation.framework/Headers include/CoreFoundation&lt;br /&gt;
 mv CoreGraphics.framework/Headers include/CoreGraphics&lt;br /&gt;
 mv CoreLocation.framework/Headers include/CoreLocation&lt;br /&gt;
 mv Foundation.framework/Headers include/Foundation&lt;br /&gt;
 mv MediaPlayer.framework/Headers include/MediaPlayer&lt;br /&gt;
 mv OpenAL.framework/Headers include/OpenAL&lt;br /&gt;
 mv OpenGLES.framework/Headers include/OpenGLES&lt;br /&gt;
 mv QuartzCore.framework/Headers include/QuartzCore&lt;br /&gt;
 mv Security.framework/Headers include/Security&lt;br /&gt;
 mv SystemConfiguration.framework/Headers include/SystemConfiguration&lt;br /&gt;
 mv UIKit.framework/Headers include/UIKit&lt;br /&gt;
 rmdir -p *.framework&lt;br /&gt;
&lt;br /&gt;
* The remaining directories are ''include'' with all Framework headers and ''usr'' with all system related headers.&lt;br /&gt;
&lt;br /&gt;
* Move the ''usr/include'' headers also into new ''include'' directory, remove ''usr/lib'' since gcc includes will not be needed (at least not on iPhone toolchain), and clean up:&lt;br /&gt;
 mv usr/include/* include/&lt;br /&gt;
 rm -rf usr/lib&lt;br /&gt;
 rmdir -p usr/include/&lt;br /&gt;
&lt;br /&gt;
* You may still remove the ''Payload'' file since we don't need it anymore:&lt;br /&gt;
 rm Payload&lt;br /&gt;
&lt;br /&gt;
* Create a tar file so that you can directly transfer to your iPhone:&lt;br /&gt;
 tar --group 0 --owner 0 -cvf include.tar include&lt;br /&gt;
&lt;br /&gt;
* You are done.&lt;br /&gt;
&lt;br /&gt;
* Now you may transfer the ''include.tar'' to your iPhone (as user root), login to your iPhone via ssh and execute following commands to extract the header files (on your iPhone):&lt;br /&gt;
 cd /var&lt;br /&gt;
 tar xf /private/var/root/include.tar&lt;br /&gt;
&lt;br /&gt;
== iPhone/iPod Touch ==&lt;br /&gt;
There is a tool chain available after jailbreak from the [[Cydia|Cydia installer]]. You just need to install&lt;br /&gt;
the '''iPhone 2.0 Toolchain''' from Cydia to get a 1.1.x based development environment on your iPhone&lt;br /&gt;
or iPod Touch. The maintainer of this package - BigBoss - has some comments on this Toolchain on his&lt;br /&gt;
webpage ''[http://thebigboss.org/moreinfo/Toolchain2.php Toolchain 2.0]''.&lt;br /&gt;
&lt;br /&gt;
If you want to use the header files from iPhone OS 2.0, you can obtain them from the&lt;br /&gt;
iPhone OS 2.0 SDK as described in section ''[[#Framework Headers|Framework Headers]]''.&lt;br /&gt;
&lt;br /&gt;
**NOTE**&lt;br /&gt;
When using iphone-gcc ( the native compiler ) to compile iPhone applications, you must do one of the following:&lt;br /&gt;
1. Patch the SDK header files for use with the compiler ( stupid thing doesn't like the new headers! )&lt;br /&gt;
or&lt;br /&gt;
2. Use the old header files ( which are great, but some things dont work/exist the same anymore! )&lt;/div&gt;</summary>
		<author><name>Cheinelt</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=600</id>
		<title>Toolchain 2.0</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=600"/>
		<updated>2008-07-29T13:19:44Z</updated>

		<summary type="html">&lt;p&gt;Cheinelt: /* Extraction of iPhone OS 2.0 SDK */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article explains how to build a tool chain for iPhone OS 2.0. &lt;br /&gt;
&lt;br /&gt;
'''Please note that this section is under development.'''&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
For Mac OS X you can just use the iPhone OS 2.0 SDK from Apple which you can download after registration from [http://developer.apple.com/iphone/index.action Apple iPhone Dev Center].&lt;br /&gt;
&lt;br /&gt;
== Windows XP ==&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 SDK ===&lt;br /&gt;
* Download the iPhone OS 2.0 SDK from [http://developer.apple.com/iphone/index.action Apple iPhone Dev Center].&lt;br /&gt;
* Download and install ''HFSExplorer'' from [http://hem.bredband.net/catacombae/hfsx.html catacombae software].&lt;br /&gt;
* Start ''HFSExplorer'' and choose the menu ''File&amp;amp;rarr;Open UDIF Disk Image (.dmg)...''&lt;br /&gt;
* Select the iPhone 2.0 SDK disk image ''iphone_sdk_final.dmg'' and press ''Open''&lt;br /&gt;
* When the tool asks ''Which partition to read'' leave it at ''&amp;quot;Mac_OS_X&amp;quot; (Apple_HFS)'' and press ''OK''&lt;br /&gt;
* Go to ''Packages'' and select the package you want to extract, e.g. ''iPhoneSDKHeadersAndLibs.pkg'' for the iPhone OS 2.0 header files.&lt;br /&gt;
* With right mouse button choose ''Extract data'' to extract an installation package.&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
Currently we can only describe how to get the headers from the iPhone OS 2.0 SDK.&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 Installation Packages (.pkg) ===&lt;br /&gt;
* Extract ''iPhoneSDKHeadersAndLibs.pkg'' from iPhone OS 2.0 SDK as described in section ''[[#Extraction of iPhone OS 2.0 SDK|Extraction of iPhone OS 2.0 SDK]]'' under Windows XP.&lt;br /&gt;
* Use the ''eXtensible ARchiver'' ''xar'' to extract the file ''Payload'' file containing the actual header files:&lt;br /&gt;
 xar -xf iPhoneSDKHeadersAndLibs.pkg Payload&lt;br /&gt;
* Rename the ''Payload'' file since it is gzipped:&lt;br /&gt;
 mv Payload Payload.gz&lt;br /&gt;
* Uncompress the ''Payload.gz'' file:&lt;br /&gt;
 gunzip Payload.gz&lt;br /&gt;
* Extract the contents of the resulting ''Payload'' file:&lt;br /&gt;
 cat Payload | cpio -i&lt;br /&gt;
or&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
to extract only all header files included in the package.&lt;br /&gt;
&lt;br /&gt;
=== Framework Headers ===&lt;br /&gt;
This section assumes that&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
got used in previous section.&lt;br /&gt;
&lt;br /&gt;
If you want to move all Framework headers into an ''include'' directory continue&lt;br /&gt;
as follows:&lt;br /&gt;
&lt;br /&gt;
* Remove the project XCode templates since they will not be required anymore:&lt;br /&gt;
 rm -rf Platforms/iPhoneOS.platform/Developer/Library&lt;br /&gt;
&lt;br /&gt;
* Create your target ''include'' directory:&lt;br /&gt;
 mkdir include&lt;br /&gt;
&lt;br /&gt;
* Get just the ''System'' and ''usr'' directories from the iPhone Os 2.0 SDK and remove the empty ''Platforms'' directory hierarchy:&lt;br /&gt;
 mv Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/* .&lt;br /&gt;
 rmdir -p Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/&lt;br /&gt;
&lt;br /&gt;
* Move the Framework headers to current directory and clean-up empty directory hierarchy:&lt;br /&gt;
 mv System/Library/Frameworks/* .&lt;br /&gt;
 rmdir -p System/Library/Frameworks/&lt;br /&gt;
&lt;br /&gt;
* Rename/move all Framework header directories into ''include'' directory and cleanup&lt;br /&gt;
 mv AddressBook.framework/Headers include/AddressBook&lt;br /&gt;
 mv AddressBookUI.framework/Headers include/AddressBookUI&lt;br /&gt;
 mv AudioToolbox.framework/Headers include/AudioToolbox&lt;br /&gt;
 mv AudioUnit.framework/Headers include/AudioUnit&lt;br /&gt;
 mv CFNetwork.framework/Headers include/CFNetwork&lt;br /&gt;
 mv CoreAudio.framework/Headers include/CoreAudio&lt;br /&gt;
 mv CoreFoundation.framework/Headers include/CoreFoundation&lt;br /&gt;
 mv CoreGraphics.framework/Headers include/CoreGraphics&lt;br /&gt;
 mv CoreLocation.framework/Headers include/CoreLocation&lt;br /&gt;
 mv Foundation.framework/Headers include/Foundation&lt;br /&gt;
 mv MediaPlayer.framework/Headers include/MediaPlayer&lt;br /&gt;
 mv OpenAL.framework/Headers include/OpenAL&lt;br /&gt;
 mv OpenGLES.framework/Headers include/OpenGLES&lt;br /&gt;
 mv QuartzCore.framework/Headers include/QuartzCore&lt;br /&gt;
 mv Security.framework/Headers include/Security&lt;br /&gt;
 mv SystemConfiguration.framework/Headers include/SystemConfiguration&lt;br /&gt;
 mv UIKit.framework/Headers include/UIKit&lt;br /&gt;
 rmdir -p *.framework&lt;br /&gt;
&lt;br /&gt;
* The remaining directories are ''include'' with all Framework headers and ''usr'' with all system related headers.&lt;br /&gt;
&lt;br /&gt;
* You may still remove the ''Payload'' file since we don't need it anymore:&lt;br /&gt;
 rm Payload&lt;br /&gt;
&lt;br /&gt;
* You are done.&lt;br /&gt;
&lt;br /&gt;
== iPhone/iPod Touch ==&lt;br /&gt;
There is a tool chain available after jailbreak from the Cydia installer. You just need to install&lt;br /&gt;
the '''iPhone 2.0 Toolchain''' from Cydia to get a 1.1.x based development environment on your iPhone&lt;br /&gt;
or iPod Touch. The maintainer of this package - BigBoss - has some comments on this Toolchain on his&lt;br /&gt;
webpage ''[http://thebigboss.org/moreinfo/Toolchain2.php Toolchain 2.0]''.&lt;br /&gt;
&lt;br /&gt;
If you want to use the header files from iPhone OS 2.0, you can obtain them from the&lt;br /&gt;
iPhone OS 2.0 SDK as described in section ''[[#Framework Headers|Framework Headers]]''.&lt;/div&gt;</summary>
		<author><name>Cheinelt</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=597</id>
		<title>Toolchain 2.0</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=597"/>
		<updated>2008-07-29T13:03:06Z</updated>

		<summary type="html">&lt;p&gt;Cheinelt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article explains how to build a tool chain for iPhone OS 2.0. &lt;br /&gt;
&lt;br /&gt;
'''Please note that this section is under development.'''&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
For Mac OS X you can just use the iPhone OS 2.0 SDK from Apple which you can download after registration from [http://developer.apple.com/iphone/index.action Apple iPhone Dev Center].&lt;br /&gt;
&lt;br /&gt;
== Windows XP ==&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 SDK ===&lt;br /&gt;
* Download the iPhone OS 2.0 SDK from [http://developer.apple.com/iphone/index.action Apple iPhone Dev Center].&lt;br /&gt;
* Download and install ''HFSExplorer'' from [http://hem.bredband.net/catacombae/hfsx.html catacombae software].&lt;br /&gt;
* Start ''HFSExplorer'' and choose the menu ''File--&amp;gt;Open UDIF Disk Image (.dmg)...''&lt;br /&gt;
* Select the iPhone 2.0 SDK disk image ''iphone_sdk_final.dmg'' and press ''Open''&lt;br /&gt;
* When the tool asks ''Which partition to read'' leave it at ''&amp;quot;Mac_OS_X&amp;quot; (Apple_HFS)'' and press ''OK''&lt;br /&gt;
* Go to ''Packages'' and select the package you want to extract, e.g. ''iPhoneSDKHeadersAndLibs.pkg'' for the iPhone OS 2.0 header files.&lt;br /&gt;
* With right mouse button choose ''Extract data'' to extract an installation package.&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
Currently we can only describe how to get the headers from the iPhone OS 2.0 SDK.&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 Installation Packages (.pkg) ===&lt;br /&gt;
* Extract ''iPhoneSDKHeadersAndLibs.pkg'' from iPhone OS 2.0 SDK as described in section ''[[#Extraction of iPhone OS 2.0 SDK|Extraction of iPhone OS 2.0 SDK]]'' under Windows XP.&lt;br /&gt;
* Use the ''eXtensible ARchiver'' ''xar'' to extract the file ''Payload'' file containing the actual header files:&lt;br /&gt;
 xar -xf iPhoneSDKHeadersAndLibs.pkg Payload&lt;br /&gt;
* Rename the ''Payload'' file since it is gzipped:&lt;br /&gt;
 mv Payload Payload.gz&lt;br /&gt;
* Uncompress the ''Payload.gz'' file:&lt;br /&gt;
 gunzip Payload.gz&lt;br /&gt;
* Extract the contents of the resulting ''Payload'' file:&lt;br /&gt;
 cat Payload | cpio -i&lt;br /&gt;
or&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
to extract only all header files included in the package.&lt;br /&gt;
&lt;br /&gt;
=== Framework Headers ===&lt;br /&gt;
This section assumes that&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
got used in previous section.&lt;br /&gt;
&lt;br /&gt;
If you want to move all Framework headers into an ''include'' directory continue&lt;br /&gt;
as follows:&lt;br /&gt;
&lt;br /&gt;
* Remove the project XCode templates since they will not be required anymore:&lt;br /&gt;
 rm -rf Platforms/iPhoneOS.platform/Developer/Library&lt;br /&gt;
&lt;br /&gt;
* Create your target ''include'' directory:&lt;br /&gt;
 mkdir include&lt;br /&gt;
&lt;br /&gt;
* Get just the ''System'' and ''usr'' directories from the iPhone Os 2.0 SDK and remove the empty ''Platforms'' directory hierarchy:&lt;br /&gt;
 mv Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/* .&lt;br /&gt;
 rmdir -p Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/&lt;br /&gt;
&lt;br /&gt;
* Move the Framework headers to current directory and clean-up empty directory hierarchy:&lt;br /&gt;
 mv System/Library/Frameworks/* .&lt;br /&gt;
 rmdir -p System/Library/Frameworks/&lt;br /&gt;
&lt;br /&gt;
* Rename/move all Framework header directories into ''include'' directory and cleanup&lt;br /&gt;
 mv AddressBook.framework/Headers include/AddressBook&lt;br /&gt;
 mv AddressBookUI.framework/Headers include/AddressBookUI&lt;br /&gt;
 mv AudioToolbox.framework/Headers include/AudioToolbox&lt;br /&gt;
 mv AudioUnit.framework/Headers include/AudioUnit&lt;br /&gt;
 mv CFNetwork.framework/Headers include/CFNetwork&lt;br /&gt;
 mv CoreAudio.framework/Headers include/CoreAudio&lt;br /&gt;
 mv CoreFoundation.framework/Headers include/CoreFoundation&lt;br /&gt;
 mv CoreGraphics.framework/Headers include/CoreGraphics&lt;br /&gt;
 mv CoreLocation.framework/Headers include/CoreLocation&lt;br /&gt;
 mv Foundation.framework/Headers include/Foundation&lt;br /&gt;
 mv MediaPlayer.framework/Headers include/MediaPlayer&lt;br /&gt;
 mv OpenAL.framework/Headers include/OpenAL&lt;br /&gt;
 mv OpenGLES.framework/Headers include/OpenGLES&lt;br /&gt;
 mv QuartzCore.framework/Headers include/QuartzCore&lt;br /&gt;
 mv Security.framework/Headers include/Security&lt;br /&gt;
 mv SystemConfiguration.framework/Headers include/SystemConfiguration&lt;br /&gt;
 mv UIKit.framework/Headers include/UIKit&lt;br /&gt;
 rmdir -p *.framework&lt;br /&gt;
&lt;br /&gt;
* The remaining directories are ''include'' with all Framework headers and ''usr'' with all system related headers.&lt;br /&gt;
&lt;br /&gt;
* You may still remove the ''Payload'' file since we don't need it anymore:&lt;br /&gt;
 rm Payload&lt;br /&gt;
&lt;br /&gt;
* You are done.&lt;br /&gt;
&lt;br /&gt;
== iPhone/iPod Touch ==&lt;br /&gt;
There is a tool chain available after jailbreak from the Cydia installer. You just need to install&lt;br /&gt;
the '''iPhone 2.0 Toolchain''' from Cydia to get a 1.1.x based development environment on your iPhone&lt;br /&gt;
or iPod Touch. The maintainer of this package - BigBoss - has some comments on this Toolchain on his&lt;br /&gt;
webpage ''[http://thebigboss.org/moreinfo/Toolchain2.php Toolchain 2.0]''.&lt;br /&gt;
&lt;br /&gt;
If you want to use the header files from iPhone OS 2.0, you can obtain them from the&lt;br /&gt;
iPhone OS 2.0 SDK as described in section ''[[#Framework Headers|Framework Headers]]''.&lt;/div&gt;</summary>
		<author><name>Cheinelt</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=586</id>
		<title>Toolchain 2.0</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=586"/>
		<updated>2008-07-29T11:10:20Z</updated>

		<summary type="html">&lt;p&gt;Cheinelt: /* iPhone/iPod Touch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article explains how to build a tool chain for iPhone OS 2.0. &lt;br /&gt;
&lt;br /&gt;
'''Please note that this section is under development.'''&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
For Mac OS X you can just use the iPhone OS 2.0 SDK from Apple which you can download after registration from [http://developer.apple.com/iphone/index.action Apple iPhone Dev Center].&lt;br /&gt;
&lt;br /&gt;
== Windows XP ==&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 SDK ===&lt;br /&gt;
* Download the iPhone OS 2.0 SDK from [http://developer.apple.com/iphone/index.action Apple iPhone Dev Center].&lt;br /&gt;
* Download and install ''HFSExplorer'' from [http://hem.bredband.net/catacombae/hfsx.html catacombae software].&lt;br /&gt;
* Start ''HFSExplorer'' and choose the menu ''File--&amp;gt;Open UDIF Disk Image (.dmg)...''&lt;br /&gt;
* Select the iPhone 2.0 SDK disk image ''iphone_sdk_final.dmg'' and press ''Open''&lt;br /&gt;
* When the tool asks ''Which partition to read'' leave it at ''&amp;quot;Mac_OS_X&amp;quot; (Apple_HFS)'' and press ''OK''&lt;br /&gt;
* Go to ''Packages'' and select the package you want to extract, e.g. ''iPhoneSDKHeadersAndLibs.pkg'' for the iPhone OS 2.0 header files.&lt;br /&gt;
* With right mouse button choose ''Extract data'' to extract an installation package.&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
Currently we can only describe how to get the headers from the iPhone OS 2.0 SDK.&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 Installation Packages (.pkg) ===&lt;br /&gt;
* Extract ''iPhoneSDKHeadersAndLibs.pkg'' from iPhone OS 2.0 SDK as described above in section ''Extraction of iPhone OS 2.0 SDK'' under Windows XP.&lt;br /&gt;
* Use the ''eXtensible ARchiver'' ''xar'' to extract the file ''Payload'' file containing the actual header files:&lt;br /&gt;
 xar -xf iPhoneSDKHeadersAndLibs.pkg Payload&lt;br /&gt;
* Rename the ''Payload'' file since it is gzipped:&lt;br /&gt;
 mv Payload Payload.gz&lt;br /&gt;
* Uncompress the ''Payload.gz'' file:&lt;br /&gt;
 gunzip Payload.gz&lt;br /&gt;
* Extract the contents of the resulting ''Payload'' file:&lt;br /&gt;
 cat Payload | cpio -i&lt;br /&gt;
or&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
to extract only all header files included in the package.&lt;br /&gt;
&lt;br /&gt;
=== Framework Headers ===&lt;br /&gt;
This section assumes that&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
got used in previous section.&lt;br /&gt;
&lt;br /&gt;
If you want to move all Framework headers into an ''include'' directory continue&lt;br /&gt;
as follows:&lt;br /&gt;
&lt;br /&gt;
* Remove the project XCode templates since they will not be required anymore:&lt;br /&gt;
 rm -rf Platforms/iPhoneOS.platform/Developer/Library&lt;br /&gt;
&lt;br /&gt;
* Create your target ''include'' directory:&lt;br /&gt;
 mkdir include&lt;br /&gt;
&lt;br /&gt;
* Get just the ''System'' and ''usr'' directories from the iPhone Os 2.0 SDK and remove the empty ''Platforms'' directory hierarchy:&lt;br /&gt;
 mv Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/* .&lt;br /&gt;
 rmdir -p Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/&lt;br /&gt;
&lt;br /&gt;
* Move the Framework headers to current directory and clean-up empty directory hierarchy:&lt;br /&gt;
 mv System/Library/Frameworks/* .&lt;br /&gt;
 rmdir -p System/Library/Frameworks/&lt;br /&gt;
&lt;br /&gt;
* Rename/move all Framework header directories into ''include'' directory and cleanup&lt;br /&gt;
 mv AddressBook.framework/Headers include/AddressBook&lt;br /&gt;
 mv AddressBookUI.framework/Headers include/AddressBookUI&lt;br /&gt;
 mv AudioToolbox.framework/Headers include/AudioToolbox&lt;br /&gt;
 mv AudioUnit.framework/Headers include/AudioUnit&lt;br /&gt;
 mv CFNetwork.framework/Headers include/CFNetwork&lt;br /&gt;
 mv CoreAudio.framework/Headers include/CoreAudio&lt;br /&gt;
 mv CoreFoundation.framework/Headers include/CoreFoundation&lt;br /&gt;
 mv CoreGraphics.framework/Headers include/CoreGraphics&lt;br /&gt;
 mv CoreLocation.framework/Headers include/CoreLocation&lt;br /&gt;
 mv Foundation.framework/Headers include/Foundation&lt;br /&gt;
 mv MediaPlayer.framework/Headers include/MediaPlayer&lt;br /&gt;
 mv OpenAL.framework/Headers include/OpenAL&lt;br /&gt;
 mv OpenGLES.framework/Headers include/OpenGLES&lt;br /&gt;
 mv QuartzCore.framework/Headers include/QuartzCore&lt;br /&gt;
 mv Security.framework/Headers include/Security&lt;br /&gt;
 mv SystemConfiguration.framework/Headers include/SystemConfiguration&lt;br /&gt;
 mv UIKit.framework/Headers include/UIKit&lt;br /&gt;
 rmdir -p *.framework&lt;br /&gt;
&lt;br /&gt;
* The remaining directories are ''include'' with all Framework headers and ''usr'' with all system related headers.&lt;br /&gt;
&lt;br /&gt;
* You may still remove the ''Payload'' file since we don't need it anymore:&lt;br /&gt;
 rm Payload&lt;br /&gt;
&lt;br /&gt;
* You are done.&lt;br /&gt;
&lt;br /&gt;
== iPhone/iPod Touch ==&lt;br /&gt;
There is a tool chain available after jailbreak from the Cydia installer. You just need to install&lt;br /&gt;
the '''iPhone 2.0 Toolchain''' from Cydia to get a 1.1.x based development environment on your iPhone&lt;br /&gt;
or iPod Touch. The maintainer of this package - BigBoss - has some comments on this Toolchain on his&lt;br /&gt;
webpage ''[http://thebigboss.org/moreinfo/Toolchain2.php Toolchain 2.0]''.&lt;br /&gt;
&lt;br /&gt;
If you want to use the header files from iPhone OS 2.0, you can obtain them from the&lt;br /&gt;
iPhone OS 2.0 SDK as described above in section ''Framework Headers''.&lt;/div&gt;</summary>
		<author><name>Cheinelt</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=585</id>
		<title>Toolchain 2.0</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=585"/>
		<updated>2008-07-29T10:10:18Z</updated>

		<summary type="html">&lt;p&gt;Cheinelt: /* Extraction of iPhone OS 2.0 SDK */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article explains how to build a tool chain for iPhone OS 2.0. &lt;br /&gt;
&lt;br /&gt;
'''Please note that this section is under development.'''&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
For Mac OS X you can just use the iPhone OS 2.0 SDK from Apple which you can download after registration from [http://developer.apple.com/iphone/index.action Apple iPhone Dev Center].&lt;br /&gt;
&lt;br /&gt;
== Windows XP ==&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 SDK ===&lt;br /&gt;
* Download the iPhone OS 2.0 SDK from [http://developer.apple.com/iphone/index.action Apple iPhone Dev Center].&lt;br /&gt;
* Download and install ''HFSExplorer'' from [http://hem.bredband.net/catacombae/hfsx.html catacombae software].&lt;br /&gt;
* Start ''HFSExplorer'' and choose the menu ''File--&amp;gt;Open UDIF Disk Image (.dmg)...''&lt;br /&gt;
* Select the iPhone 2.0 SDK disk image ''iphone_sdk_final.dmg'' and press ''Open''&lt;br /&gt;
* When the tool asks ''Which partition to read'' leave it at ''&amp;quot;Mac_OS_X&amp;quot; (Apple_HFS)'' and press ''OK''&lt;br /&gt;
* Go to ''Packages'' and select the package you want to extract, e.g. ''iPhoneSDKHeadersAndLibs.pkg'' for the iPhone OS 2.0 header files.&lt;br /&gt;
* With right mouse button choose ''Extract data'' to extract an installation package.&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
Currently we can only describe how to get the headers from the iPhone OS 2.0 SDK.&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 Installation Packages (.pkg) ===&lt;br /&gt;
* Extract ''iPhoneSDKHeadersAndLibs.pkg'' from iPhone OS 2.0 SDK as described above in section ''Extraction of iPhone OS 2.0 SDK'' under Windows XP.&lt;br /&gt;
* Use the ''eXtensible ARchiver'' ''xar'' to extract the file ''Payload'' file containing the actual header files:&lt;br /&gt;
 xar -xf iPhoneSDKHeadersAndLibs.pkg Payload&lt;br /&gt;
* Rename the ''Payload'' file since it is gzipped:&lt;br /&gt;
 mv Payload Payload.gz&lt;br /&gt;
* Uncompress the ''Payload.gz'' file:&lt;br /&gt;
 gunzip Payload.gz&lt;br /&gt;
* Extract the contents of the resulting ''Payload'' file:&lt;br /&gt;
 cat Payload | cpio -i&lt;br /&gt;
or&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
to extract only all header files included in the package.&lt;br /&gt;
&lt;br /&gt;
=== Framework Headers ===&lt;br /&gt;
This section assumes that&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
got used in previous section.&lt;br /&gt;
&lt;br /&gt;
If you want to move all Framework headers into an ''include'' directory continue&lt;br /&gt;
as follows:&lt;br /&gt;
&lt;br /&gt;
* Remove the project XCode templates since they will not be required anymore:&lt;br /&gt;
 rm -rf Platforms/iPhoneOS.platform/Developer/Library&lt;br /&gt;
&lt;br /&gt;
* Create your target ''include'' directory:&lt;br /&gt;
 mkdir include&lt;br /&gt;
&lt;br /&gt;
* Get just the ''System'' and ''usr'' directories from the iPhone Os 2.0 SDK and remove the empty ''Platforms'' directory hierarchy:&lt;br /&gt;
 mv Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/* .&lt;br /&gt;
 rmdir -p Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/&lt;br /&gt;
&lt;br /&gt;
* Move the Framework headers to current directory and clean-up empty directory hierarchy:&lt;br /&gt;
 mv System/Library/Frameworks/* .&lt;br /&gt;
 rmdir -p System/Library/Frameworks/&lt;br /&gt;
&lt;br /&gt;
* Rename/move all Framework header directories into ''include'' directory and cleanup&lt;br /&gt;
 mv AddressBook.framework/Headers include/AddressBook&lt;br /&gt;
 mv AddressBookUI.framework/Headers include/AddressBookUI&lt;br /&gt;
 mv AudioToolbox.framework/Headers include/AudioToolbox&lt;br /&gt;
 mv AudioUnit.framework/Headers include/AudioUnit&lt;br /&gt;
 mv CFNetwork.framework/Headers include/CFNetwork&lt;br /&gt;
 mv CoreAudio.framework/Headers include/CoreAudio&lt;br /&gt;
 mv CoreFoundation.framework/Headers include/CoreFoundation&lt;br /&gt;
 mv CoreGraphics.framework/Headers include/CoreGraphics&lt;br /&gt;
 mv CoreLocation.framework/Headers include/CoreLocation&lt;br /&gt;
 mv Foundation.framework/Headers include/Foundation&lt;br /&gt;
 mv MediaPlayer.framework/Headers include/MediaPlayer&lt;br /&gt;
 mv OpenAL.framework/Headers include/OpenAL&lt;br /&gt;
 mv OpenGLES.framework/Headers include/OpenGLES&lt;br /&gt;
 mv QuartzCore.framework/Headers include/QuartzCore&lt;br /&gt;
 mv Security.framework/Headers include/Security&lt;br /&gt;
 mv SystemConfiguration.framework/Headers include/SystemConfiguration&lt;br /&gt;
 mv UIKit.framework/Headers include/UIKit&lt;br /&gt;
 rmdir -p *.framework&lt;br /&gt;
&lt;br /&gt;
* The remaining directories are ''include'' with all Framework headers and ''usr'' with all system related headers.&lt;br /&gt;
&lt;br /&gt;
* You may still remove the ''Payload'' file since we don't need it anymore:&lt;br /&gt;
 rm Payload&lt;br /&gt;
&lt;br /&gt;
* You are done.&lt;br /&gt;
&lt;br /&gt;
== iPhone/iPod Touch ==&lt;br /&gt;
There is a tool chain available after jailbreak from the Cydia installer. You just need to install&lt;br /&gt;
the '''iPhone 2.0 Toolchain''' from Cydia to get a 1.1.x based development environment on your iPhone&lt;br /&gt;
or iPod Touch. &lt;br /&gt;
&lt;br /&gt;
If you want to use the header files from iPhone OS 2.0, you can obtain them from the&lt;br /&gt;
iPhone OS 2.0 SDK as described above in section ''Framework Headers''.&lt;/div&gt;</summary>
		<author><name>Cheinelt</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=584</id>
		<title>Toolchain 2.0</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=584"/>
		<updated>2008-07-29T10:09:18Z</updated>

		<summary type="html">&lt;p&gt;Cheinelt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article explains how to build a tool chain for iPhone OS 2.0. &lt;br /&gt;
&lt;br /&gt;
'''Please note that this section is under development.'''&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
For Mac OS X you can just use the iPhone OS 2.0 SDK from Apple which you can download after registration from [http://developer.apple.com/iphone/index.action Apple iPhone Dev Center].&lt;br /&gt;
&lt;br /&gt;
== Windows XP ==&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 SDK ===&lt;br /&gt;
* Download the iPhone OS 2.0 SDK from [http://developer.apple.com/iphone/index.action Apple iPhone Dev Center].&lt;br /&gt;
* Download and install ''HFSExplorer'' from [http://hem.bredband.net/catacombae/hfsx.html catacombae software].&lt;br /&gt;
* Start ''HFSExplorer'' and choose the menu ''File--&amp;gt;Open UDIF Disk Image (.dmg)...''&lt;br /&gt;
* Select ''iphone_sdk_final.dmg'' and press ''Open''&lt;br /&gt;
* When the tool asks ''Which partition to read'' leave it at ''&amp;quot;Mac_OS_X&amp;quot; (Apple_HFS)'' and press ''OK''&lt;br /&gt;
* Go to ''Packages'' and select the package you want to extract, e.g. ''iPhoneSDKHeadersAndLibs.pkg'' for the iPhone OS 2.0 header files.&lt;br /&gt;
* With right mouse button choose ''Extract data'' to extract an installation package.&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
Currently we can only describe how to get the headers from the iPhone OS 2.0 SDK.&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 Installation Packages (.pkg) ===&lt;br /&gt;
* Extract ''iPhoneSDKHeadersAndLibs.pkg'' from iPhone OS 2.0 SDK as described above in section ''Extraction of iPhone OS 2.0 SDK'' under Windows XP.&lt;br /&gt;
* Use the ''eXtensible ARchiver'' ''xar'' to extract the file ''Payload'' file containing the actual header files:&lt;br /&gt;
 xar -xf iPhoneSDKHeadersAndLibs.pkg Payload&lt;br /&gt;
* Rename the ''Payload'' file since it is gzipped:&lt;br /&gt;
 mv Payload Payload.gz&lt;br /&gt;
* Uncompress the ''Payload.gz'' file:&lt;br /&gt;
 gunzip Payload.gz&lt;br /&gt;
* Extract the contents of the resulting ''Payload'' file:&lt;br /&gt;
 cat Payload | cpio -i&lt;br /&gt;
or&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
to extract only all header files included in the package.&lt;br /&gt;
&lt;br /&gt;
=== Framework Headers ===&lt;br /&gt;
This section assumes that&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
got used in previous section.&lt;br /&gt;
&lt;br /&gt;
If you want to move all Framework headers into an ''include'' directory continue&lt;br /&gt;
as follows:&lt;br /&gt;
&lt;br /&gt;
* Remove the project XCode templates since they will not be required anymore:&lt;br /&gt;
 rm -rf Platforms/iPhoneOS.platform/Developer/Library&lt;br /&gt;
&lt;br /&gt;
* Create your target ''include'' directory:&lt;br /&gt;
 mkdir include&lt;br /&gt;
&lt;br /&gt;
* Get just the ''System'' and ''usr'' directories from the iPhone Os 2.0 SDK and remove the empty ''Platforms'' directory hierarchy:&lt;br /&gt;
 mv Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/* .&lt;br /&gt;
 rmdir -p Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/&lt;br /&gt;
&lt;br /&gt;
* Move the Framework headers to current directory and clean-up empty directory hierarchy:&lt;br /&gt;
 mv System/Library/Frameworks/* .&lt;br /&gt;
 rmdir -p System/Library/Frameworks/&lt;br /&gt;
&lt;br /&gt;
* Rename/move all Framework header directories into ''include'' directory and cleanup&lt;br /&gt;
 mv AddressBook.framework/Headers include/AddressBook&lt;br /&gt;
 mv AddressBookUI.framework/Headers include/AddressBookUI&lt;br /&gt;
 mv AudioToolbox.framework/Headers include/AudioToolbox&lt;br /&gt;
 mv AudioUnit.framework/Headers include/AudioUnit&lt;br /&gt;
 mv CFNetwork.framework/Headers include/CFNetwork&lt;br /&gt;
 mv CoreAudio.framework/Headers include/CoreAudio&lt;br /&gt;
 mv CoreFoundation.framework/Headers include/CoreFoundation&lt;br /&gt;
 mv CoreGraphics.framework/Headers include/CoreGraphics&lt;br /&gt;
 mv CoreLocation.framework/Headers include/CoreLocation&lt;br /&gt;
 mv Foundation.framework/Headers include/Foundation&lt;br /&gt;
 mv MediaPlayer.framework/Headers include/MediaPlayer&lt;br /&gt;
 mv OpenAL.framework/Headers include/OpenAL&lt;br /&gt;
 mv OpenGLES.framework/Headers include/OpenGLES&lt;br /&gt;
 mv QuartzCore.framework/Headers include/QuartzCore&lt;br /&gt;
 mv Security.framework/Headers include/Security&lt;br /&gt;
 mv SystemConfiguration.framework/Headers include/SystemConfiguration&lt;br /&gt;
 mv UIKit.framework/Headers include/UIKit&lt;br /&gt;
 rmdir -p *.framework&lt;br /&gt;
&lt;br /&gt;
* The remaining directories are ''include'' with all Framework headers and ''usr'' with all system related headers.&lt;br /&gt;
&lt;br /&gt;
* You may still remove the ''Payload'' file since we don't need it anymore:&lt;br /&gt;
 rm Payload&lt;br /&gt;
&lt;br /&gt;
* You are done.&lt;br /&gt;
&lt;br /&gt;
== iPhone/iPod Touch ==&lt;br /&gt;
There is a tool chain available after jailbreak from the Cydia installer. You just need to install&lt;br /&gt;
the '''iPhone 2.0 Toolchain''' from Cydia to get a 1.1.x based development environment on your iPhone&lt;br /&gt;
or iPod Touch. &lt;br /&gt;
&lt;br /&gt;
If you want to use the header files from iPhone OS 2.0, you can obtain them from the&lt;br /&gt;
iPhone OS 2.0 SDK as described above in section ''Framework Headers''.&lt;/div&gt;</summary>
		<author><name>Cheinelt</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=583</id>
		<title>Toolchain 2.0</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=583"/>
		<updated>2008-07-29T10:08:04Z</updated>

		<summary type="html">&lt;p&gt;Cheinelt: /* Mac OS X */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article explains how to build a tool chain for iPhone OS 2.0. &lt;br /&gt;
&lt;br /&gt;
'''Please note that this section is under development.'''&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
For Mac OS X you can just use the iPhone OS 2.0 SDK from Apple which you can download after registration from [http://developer.apple.com/iphone/index.action Apple iPhone Dev Center].&lt;br /&gt;
&lt;br /&gt;
== Windows XP ==&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 SDK ===&lt;br /&gt;
* Download and install ''HFSExplorer'' from [http://hem.bredband.net/catacombae/hfsx.html catacombae software].&lt;br /&gt;
* Start ''HFSExplorer'' and choose the menu ''File--&amp;gt;Open UDIF Disk Image (.dmg)...''&lt;br /&gt;
* Select ''iphone_sdk_final.dmg'' and press ''Open''&lt;br /&gt;
* When the tool asks ''Which partition to read'' leave it at ''&amp;quot;Mac_OS_X&amp;quot; (Apple_HFS)'' and press ''OK''&lt;br /&gt;
* Go to ''Packages'' and select the package you want to extract, e.g. ''iPhoneSDKHeadersAndLibs.pkg'' for the iPhone OS 2.0 header files.&lt;br /&gt;
* With right mouse button choose ''Extract data'' to extract an installation package.&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
Currently we can only describe how to get the headers from the iPhone OS 2.0 SDK.&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 Installation Packages (.pkg) ===&lt;br /&gt;
* Extract ''iPhoneSDKHeadersAndLibs.pkg'' from iPhone OS 2.0 SDK as described above in section ''Extraction of iPhone OS 2.0 SDK'' under Windows XP.&lt;br /&gt;
* Use the ''eXtensible ARchiver'' ''xar'' to extract the file ''Payload'' file containing the actual header files:&lt;br /&gt;
 xar -xf iPhoneSDKHeadersAndLibs.pkg Payload&lt;br /&gt;
* Rename the ''Payload'' file since it is gzipped:&lt;br /&gt;
 mv Payload Payload.gz&lt;br /&gt;
* Uncompress the ''Payload.gz'' file:&lt;br /&gt;
 gunzip Payload.gz&lt;br /&gt;
* Extract the contents of the resulting ''Payload'' file:&lt;br /&gt;
 cat Payload | cpio -i&lt;br /&gt;
or&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
to extract only all header files included in the package.&lt;br /&gt;
&lt;br /&gt;
=== Framework Headers ===&lt;br /&gt;
This section assumes that&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
got used in previous section.&lt;br /&gt;
&lt;br /&gt;
If you want to move all Framework headers into an ''include'' directory continue&lt;br /&gt;
as follows:&lt;br /&gt;
&lt;br /&gt;
* Remove the project XCode templates since they will not be required anymore:&lt;br /&gt;
 rm -rf Platforms/iPhoneOS.platform/Developer/Library&lt;br /&gt;
&lt;br /&gt;
* Create your target ''include'' directory:&lt;br /&gt;
 mkdir include&lt;br /&gt;
&lt;br /&gt;
* Get just the ''System'' and ''usr'' directories from the iPhone Os 2.0 SDK and remove the empty ''Platforms'' directory hierarchy:&lt;br /&gt;
 mv Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/* .&lt;br /&gt;
 rmdir -p Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/&lt;br /&gt;
&lt;br /&gt;
* Move the Framework headers to current directory and clean-up empty directory hierarchy:&lt;br /&gt;
 mv System/Library/Frameworks/* .&lt;br /&gt;
 rmdir -p System/Library/Frameworks/&lt;br /&gt;
&lt;br /&gt;
* Rename/move all Framework header directories into ''include'' directory and cleanup&lt;br /&gt;
 mv AddressBook.framework/Headers include/AddressBook&lt;br /&gt;
 mv AddressBookUI.framework/Headers include/AddressBookUI&lt;br /&gt;
 mv AudioToolbox.framework/Headers include/AudioToolbox&lt;br /&gt;
 mv AudioUnit.framework/Headers include/AudioUnit&lt;br /&gt;
 mv CFNetwork.framework/Headers include/CFNetwork&lt;br /&gt;
 mv CoreAudio.framework/Headers include/CoreAudio&lt;br /&gt;
 mv CoreFoundation.framework/Headers include/CoreFoundation&lt;br /&gt;
 mv CoreGraphics.framework/Headers include/CoreGraphics&lt;br /&gt;
 mv CoreLocation.framework/Headers include/CoreLocation&lt;br /&gt;
 mv Foundation.framework/Headers include/Foundation&lt;br /&gt;
 mv MediaPlayer.framework/Headers include/MediaPlayer&lt;br /&gt;
 mv OpenAL.framework/Headers include/OpenAL&lt;br /&gt;
 mv OpenGLES.framework/Headers include/OpenGLES&lt;br /&gt;
 mv QuartzCore.framework/Headers include/QuartzCore&lt;br /&gt;
 mv Security.framework/Headers include/Security&lt;br /&gt;
 mv SystemConfiguration.framework/Headers include/SystemConfiguration&lt;br /&gt;
 mv UIKit.framework/Headers include/UIKit&lt;br /&gt;
 rmdir -p *.framework&lt;br /&gt;
&lt;br /&gt;
* The remaining directories are ''include'' with all Framework headers and ''usr'' with all system related headers.&lt;br /&gt;
&lt;br /&gt;
* You may still remove the ''Payload'' file since we don't need it anymore:&lt;br /&gt;
 rm Payload&lt;br /&gt;
&lt;br /&gt;
* You are done.&lt;br /&gt;
&lt;br /&gt;
== iPhone/iPod Touch ==&lt;br /&gt;
There is a tool chain available after jailbreak from the Cydia installer. You just need to install&lt;br /&gt;
the '''iPhone 2.0 Toolchain''' from Cydia to get a 1.1.x based development environment on your iPhone&lt;br /&gt;
or iPod Touch. &lt;br /&gt;
&lt;br /&gt;
If you want to use the header files from iPhone OS 2.0, you can obtain them from the&lt;br /&gt;
iPhone OS 2.0 SDK as described above in section ''Framework Headers''.&lt;/div&gt;</summary>
		<author><name>Cheinelt</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=582</id>
		<title>Toolchain 2.0</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=582"/>
		<updated>2008-07-29T10:07:07Z</updated>

		<summary type="html">&lt;p&gt;Cheinelt: /* Extraction of iPhone OS 2.0 SDK */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article explains how to build a tool chain for iPhone OS 2.0. &lt;br /&gt;
&lt;br /&gt;
'''Please note that this section is under development.'''&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
For Mac OS X you can just use the iPhone OS 2.0 SDK from Apple which you can download after registration from http://developer.apple.com/iphone/index.action.&lt;br /&gt;
&lt;br /&gt;
== Windows XP ==&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 SDK ===&lt;br /&gt;
* Download and install ''HFSExplorer'' from [http://hem.bredband.net/catacombae/hfsx.html catacombae software].&lt;br /&gt;
* Start ''HFSExplorer'' and choose the menu ''File--&amp;gt;Open UDIF Disk Image (.dmg)...''&lt;br /&gt;
* Select ''iphone_sdk_final.dmg'' and press ''Open''&lt;br /&gt;
* When the tool asks ''Which partition to read'' leave it at ''&amp;quot;Mac_OS_X&amp;quot; (Apple_HFS)'' and press ''OK''&lt;br /&gt;
* Go to ''Packages'' and select the package you want to extract, e.g. ''iPhoneSDKHeadersAndLibs.pkg'' for the iPhone OS 2.0 header files.&lt;br /&gt;
* With right mouse button choose ''Extract data'' to extract an installation package.&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
Currently we can only describe how to get the headers from the iPhone OS 2.0 SDK.&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 Installation Packages (.pkg) ===&lt;br /&gt;
* Extract ''iPhoneSDKHeadersAndLibs.pkg'' from iPhone OS 2.0 SDK as described above in section ''Extraction of iPhone OS 2.0 SDK'' under Windows XP.&lt;br /&gt;
* Use the ''eXtensible ARchiver'' ''xar'' to extract the file ''Payload'' file containing the actual header files:&lt;br /&gt;
 xar -xf iPhoneSDKHeadersAndLibs.pkg Payload&lt;br /&gt;
* Rename the ''Payload'' file since it is gzipped:&lt;br /&gt;
 mv Payload Payload.gz&lt;br /&gt;
* Uncompress the ''Payload.gz'' file:&lt;br /&gt;
 gunzip Payload.gz&lt;br /&gt;
* Extract the contents of the resulting ''Payload'' file:&lt;br /&gt;
 cat Payload | cpio -i&lt;br /&gt;
or&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
to extract only all header files included in the package.&lt;br /&gt;
&lt;br /&gt;
=== Framework Headers ===&lt;br /&gt;
This section assumes that&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
got used in previous section.&lt;br /&gt;
&lt;br /&gt;
If you want to move all Framework headers into an ''include'' directory continue&lt;br /&gt;
as follows:&lt;br /&gt;
&lt;br /&gt;
* Remove the project XCode templates since they will not be required anymore:&lt;br /&gt;
 rm -rf Platforms/iPhoneOS.platform/Developer/Library&lt;br /&gt;
&lt;br /&gt;
* Create your target ''include'' directory:&lt;br /&gt;
 mkdir include&lt;br /&gt;
&lt;br /&gt;
* Get just the ''System'' and ''usr'' directories from the iPhone Os 2.0 SDK and remove the empty ''Platforms'' directory hierarchy:&lt;br /&gt;
 mv Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/* .&lt;br /&gt;
 rmdir -p Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/&lt;br /&gt;
&lt;br /&gt;
* Move the Framework headers to current directory and clean-up empty directory hierarchy:&lt;br /&gt;
 mv System/Library/Frameworks/* .&lt;br /&gt;
 rmdir -p System/Library/Frameworks/&lt;br /&gt;
&lt;br /&gt;
* Rename/move all Framework header directories into ''include'' directory and cleanup&lt;br /&gt;
 mv AddressBook.framework/Headers include/AddressBook&lt;br /&gt;
 mv AddressBookUI.framework/Headers include/AddressBookUI&lt;br /&gt;
 mv AudioToolbox.framework/Headers include/AudioToolbox&lt;br /&gt;
 mv AudioUnit.framework/Headers include/AudioUnit&lt;br /&gt;
 mv CFNetwork.framework/Headers include/CFNetwork&lt;br /&gt;
 mv CoreAudio.framework/Headers include/CoreAudio&lt;br /&gt;
 mv CoreFoundation.framework/Headers include/CoreFoundation&lt;br /&gt;
 mv CoreGraphics.framework/Headers include/CoreGraphics&lt;br /&gt;
 mv CoreLocation.framework/Headers include/CoreLocation&lt;br /&gt;
 mv Foundation.framework/Headers include/Foundation&lt;br /&gt;
 mv MediaPlayer.framework/Headers include/MediaPlayer&lt;br /&gt;
 mv OpenAL.framework/Headers include/OpenAL&lt;br /&gt;
 mv OpenGLES.framework/Headers include/OpenGLES&lt;br /&gt;
 mv QuartzCore.framework/Headers include/QuartzCore&lt;br /&gt;
 mv Security.framework/Headers include/Security&lt;br /&gt;
 mv SystemConfiguration.framework/Headers include/SystemConfiguration&lt;br /&gt;
 mv UIKit.framework/Headers include/UIKit&lt;br /&gt;
 rmdir -p *.framework&lt;br /&gt;
&lt;br /&gt;
* The remaining directories are ''include'' with all Framework headers and ''usr'' with all system related headers.&lt;br /&gt;
&lt;br /&gt;
* You may still remove the ''Payload'' file since we don't need it anymore:&lt;br /&gt;
 rm Payload&lt;br /&gt;
&lt;br /&gt;
* You are done.&lt;br /&gt;
&lt;br /&gt;
== iPhone/iPod Touch ==&lt;br /&gt;
There is a tool chain available after jailbreak from the Cydia installer. You just need to install&lt;br /&gt;
the '''iPhone 2.0 Toolchain''' from Cydia to get a 1.1.x based development environment on your iPhone&lt;br /&gt;
or iPod Touch. &lt;br /&gt;
&lt;br /&gt;
If you want to use the header files from iPhone OS 2.0, you can obtain them from the&lt;br /&gt;
iPhone OS 2.0 SDK as described above in section ''Framework Headers''.&lt;/div&gt;</summary>
		<author><name>Cheinelt</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=581</id>
		<title>Toolchain 2.0</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Toolchain_2.0&amp;diff=581"/>
		<updated>2008-07-29T10:02:44Z</updated>

		<summary type="html">&lt;p&gt;Cheinelt: New page: This article explains how to build a tool chain for iPhone OS 2.0.   '''Please note that this section is under development.'''  __TOC__  == Mac OS X == For Mac OS X you can just use the iP...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article explains how to build a tool chain for iPhone OS 2.0. &lt;br /&gt;
&lt;br /&gt;
'''Please note that this section is under development.'''&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
For Mac OS X you can just use the iPhone OS 2.0 SDK from Apple which you can download after registration from http://developer.apple.com/iphone/index.action.&lt;br /&gt;
&lt;br /&gt;
== Windows XP ==&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 SDK ===&lt;br /&gt;
* Download and install ''HFSExplorer'' [http://hem.bredband.net/catacombae/hfsx.html].&lt;br /&gt;
* Start ''HFSExplorer'' and choose the menu ''File--&amp;gt;Open UDIF Disk Image (.dmg)...''&lt;br /&gt;
* Select ''iphone_sdk_final.dmg'' and press ''Open''&lt;br /&gt;
* When the tool asks ''Which partition to read'' leave it at ''&amp;quot;Mac_OS_X&amp;quot; (Apple_HFS)'' and press ''OK''&lt;br /&gt;
* Go to ''Packages'' and select the package you want to extract, e.g. ''iPhoneSDKHeadersAndLibs.pkg'' for the iPhone OS 2.0 header files.&lt;br /&gt;
* With right mouse button choose ''Extract data'' to extract an installation package.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
Currently we can only describe how to get the headers from the iPhone OS 2.0 SDK.&lt;br /&gt;
&lt;br /&gt;
=== Extraction of iPhone OS 2.0 Installation Packages (.pkg) ===&lt;br /&gt;
* Extract ''iPhoneSDKHeadersAndLibs.pkg'' from iPhone OS 2.0 SDK as described above in section ''Extraction of iPhone OS 2.0 SDK'' under Windows XP.&lt;br /&gt;
* Use the ''eXtensible ARchiver'' ''xar'' to extract the file ''Payload'' file containing the actual header files:&lt;br /&gt;
 xar -xf iPhoneSDKHeadersAndLibs.pkg Payload&lt;br /&gt;
* Rename the ''Payload'' file since it is gzipped:&lt;br /&gt;
 mv Payload Payload.gz&lt;br /&gt;
* Uncompress the ''Payload.gz'' file:&lt;br /&gt;
 gunzip Payload.gz&lt;br /&gt;
* Extract the contents of the resulting ''Payload'' file:&lt;br /&gt;
 cat Payload | cpio -i&lt;br /&gt;
or&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
to extract only all header files included in the package.&lt;br /&gt;
&lt;br /&gt;
=== Framework Headers ===&lt;br /&gt;
This section assumes that&lt;br /&gt;
 cat Payload | cpio -i -d '*.h'&lt;br /&gt;
got used in previous section.&lt;br /&gt;
&lt;br /&gt;
If you want to move all Framework headers into an ''include'' directory continue&lt;br /&gt;
as follows:&lt;br /&gt;
&lt;br /&gt;
* Remove the project XCode templates since they will not be required anymore:&lt;br /&gt;
 rm -rf Platforms/iPhoneOS.platform/Developer/Library&lt;br /&gt;
&lt;br /&gt;
* Create your target ''include'' directory:&lt;br /&gt;
 mkdir include&lt;br /&gt;
&lt;br /&gt;
* Get just the ''System'' and ''usr'' directories from the iPhone Os 2.0 SDK and remove the empty ''Platforms'' directory hierarchy:&lt;br /&gt;
 mv Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/* .&lt;br /&gt;
 rmdir -p Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/&lt;br /&gt;
&lt;br /&gt;
* Move the Framework headers to current directory and clean-up empty directory hierarchy:&lt;br /&gt;
 mv System/Library/Frameworks/* .&lt;br /&gt;
 rmdir -p System/Library/Frameworks/&lt;br /&gt;
&lt;br /&gt;
* Rename/move all Framework header directories into ''include'' directory and cleanup&lt;br /&gt;
 mv AddressBook.framework/Headers include/AddressBook&lt;br /&gt;
 mv AddressBookUI.framework/Headers include/AddressBookUI&lt;br /&gt;
 mv AudioToolbox.framework/Headers include/AudioToolbox&lt;br /&gt;
 mv AudioUnit.framework/Headers include/AudioUnit&lt;br /&gt;
 mv CFNetwork.framework/Headers include/CFNetwork&lt;br /&gt;
 mv CoreAudio.framework/Headers include/CoreAudio&lt;br /&gt;
 mv CoreFoundation.framework/Headers include/CoreFoundation&lt;br /&gt;
 mv CoreGraphics.framework/Headers include/CoreGraphics&lt;br /&gt;
 mv CoreLocation.framework/Headers include/CoreLocation&lt;br /&gt;
 mv Foundation.framework/Headers include/Foundation&lt;br /&gt;
 mv MediaPlayer.framework/Headers include/MediaPlayer&lt;br /&gt;
 mv OpenAL.framework/Headers include/OpenAL&lt;br /&gt;
 mv OpenGLES.framework/Headers include/OpenGLES&lt;br /&gt;
 mv QuartzCore.framework/Headers include/QuartzCore&lt;br /&gt;
 mv Security.framework/Headers include/Security&lt;br /&gt;
 mv SystemConfiguration.framework/Headers include/SystemConfiguration&lt;br /&gt;
 mv UIKit.framework/Headers include/UIKit&lt;br /&gt;
 rmdir -p *.framework&lt;br /&gt;
&lt;br /&gt;
* The remaining directories are ''include'' with all Framework headers and ''usr'' with all system related headers.&lt;br /&gt;
&lt;br /&gt;
* You may still remove the ''Payload'' file since we don't need it anymore:&lt;br /&gt;
 rm Payload&lt;br /&gt;
&lt;br /&gt;
* You are done.&lt;br /&gt;
&lt;br /&gt;
== iPhone/iPod Touch ==&lt;br /&gt;
There is a tool chain available after jailbreak from the Cydia installer. You just need to install&lt;br /&gt;
the '''iPhone 2.0 Toolchain''' from Cydia to get a 1.1.x based development environment on your iPhone&lt;br /&gt;
or iPod Touch. &lt;br /&gt;
&lt;br /&gt;
If you want to use the header files from iPhone OS 2.0, you can obtain them from the&lt;br /&gt;
iPhone OS 2.0 SDK as described above in section ''Framework Headers''.&lt;/div&gt;</summary>
		<author><name>Cheinelt</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Main_Page&amp;diff=580</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Main_Page&amp;diff=580"/>
		<updated>2008-07-29T07:58:18Z</updated>

		<summary type="html">&lt;p&gt;Cheinelt: /* Application Development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table border=1 width=100%&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td bgcolor=#64ff64 width=50%&amp;gt;&amp;lt;center&amp;gt;&amp;lt;b&amp;gt;[[PwnageTool|Jailbreak]]&amp;lt;/b&amp;gt;&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td bgcolor=#ff6464 width=50%&amp;gt;&amp;lt;center&amp;gt;&amp;lt;b&amp;gt;[[Unlock 2.0|Unlock]]&amp;lt;/b&amp;gt;&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=2&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[Disclaimer]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the iPhone wiki. This is a conglomerate work of everything done by everyone on the iPhone. Anyone can post here, just create an account. This is needed to avoid spam.&lt;br /&gt;
&lt;br /&gt;
Read(and edit) the [[constitution]] to understand what purpose this wiki serves.&lt;br /&gt;
&lt;br /&gt;
Read [[Up to speed|this]] to get up to speed in the iPhone community. Read the [[timeline]] to see where we are.&lt;br /&gt;
&lt;br /&gt;
If you have notes on something you did, post them here. Even if it isn't pretty.&lt;br /&gt;
&lt;br /&gt;
If you have a fix for a problem people are having, post it here.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
* [[m68ap|iPhone(m68ap)]]&lt;br /&gt;
* [[n82ap|iPhone 3G(n82ap)]]&lt;br /&gt;
* [[n45ap|iPod touch(n45ap)]]&lt;br /&gt;
&lt;br /&gt;
==App Processor(Jailbreak)==&lt;br /&gt;
* [[S5L8900]]&lt;br /&gt;
&lt;br /&gt;
===Exploits===&lt;br /&gt;
* [[Restore Mode]]&lt;br /&gt;
* [[LibTiff|LibTIFF]]&lt;br /&gt;
* [[symlinks|Symlinks]]&lt;br /&gt;
* [[Ramdisk Hack|Ramdisk Exploit]]&lt;br /&gt;
* [[pwnage|Pwnage 1.0 (Ramdisk + AppleImage2NORAccess)]]&lt;br /&gt;
* [[diags|Diags Exploit]]&lt;br /&gt;
* [[pwnage 2.0|Pwnage 2.0 (DFU + Malformed Signature)]]&lt;br /&gt;
&lt;br /&gt;
===Boot Chain===&lt;br /&gt;
[[VROM]]-&amp;gt;[[LLB]]-&amp;gt;[[iBoot]]-&amp;gt;[[Kernel]]-&amp;gt;[[System|System Software]]&lt;br /&gt;
&lt;br /&gt;
One of the [[iPhoneLinux]] goals are to replace that Boot Chain after iBoot :&amp;lt;br&amp;gt;&lt;br /&gt;
[[VROM]]-&amp;gt;OpeniBoot-&amp;gt;Linux Kernel-&amp;gt;X Server-&amp;gt;Window Manager&lt;br /&gt;
&lt;br /&gt;
===Upgrade Process===&lt;br /&gt;
[[VROM]]-&amp;gt;[[DFU]]-&amp;gt;[[WTF]]-&amp;gt;[[iBoot]]-&amp;gt;[[Kernel]]-&amp;gt;[[Ramdisk]]-&amp;gt;[[Restore Mode|Restore]]&lt;br /&gt;
&lt;br /&gt;
==Baseband(Unlock)==&lt;br /&gt;
* [[S-Gold 2]]&lt;br /&gt;
* [[X-Gold 608]]&lt;br /&gt;
&lt;br /&gt;
===Exploits===&lt;br /&gt;
* [[SIM hacks]]&lt;br /&gt;
* [[Fakeblank|Hardware Fakeblank]]&lt;br /&gt;
* [[IPSF]]&lt;br /&gt;
* [[Minus 0x400]]&lt;br /&gt;
* [[Jerrysim]]&lt;br /&gt;
* [[Minus 0x20000 with Back Extend Erase]]&lt;br /&gt;
&lt;br /&gt;
===Theoretical Attacks===&lt;br /&gt;
* [[NCK Brute Force]]&lt;br /&gt;
* [[Baseband JTAG]]&lt;br /&gt;
&lt;br /&gt;
===Boot Chain===&lt;br /&gt;
[[Baseband Bootrom|bootrom]]-&amp;gt;[[Baseband Bootloader|bootloader]]-&amp;gt;[[Baseband Firmware|firmware]]&lt;br /&gt;
&lt;br /&gt;
==File formats==&lt;br /&gt;
* [[8900 File Format]]&lt;br /&gt;
* [[IMG2 File Format]]&lt;br /&gt;
* [[IMG3 File Format]]&lt;br /&gt;
* [[secpack]]&lt;br /&gt;
* [[secpack 2.0]]&lt;br /&gt;
* [[seczone]]&lt;br /&gt;
&lt;br /&gt;
==Protocols==&lt;br /&gt;
* [[Recovery Mode 0x1280]]&lt;br /&gt;
* [[Recovery Mode 0x1281]]&lt;br /&gt;
* [[DFU 0x1222]]&lt;br /&gt;
* [[WTF 0x1227]]&lt;br /&gt;
* [[Normal Mode 0x1290]]&lt;br /&gt;
* [[Restore Mode]]&lt;br /&gt;
* [[Baseband Bootrom Protocol]]&lt;br /&gt;
* [[Interactive Mode|Baseband Bootloader Protocol]]&lt;br /&gt;
&lt;br /&gt;
==Keys==&lt;br /&gt;
* [[AES Keys]]&lt;br /&gt;
* [[Apple Certificate]]&lt;br /&gt;
* [[Baseband RSA Keys]]&lt;br /&gt;
* [[Baseband TEA Keys]]&lt;br /&gt;
* [[VFDecrypt Keys|Root Filesystem DMG Keys]]&lt;br /&gt;
&lt;br /&gt;
==Application Development==&lt;br /&gt;
* [[Toolchain]]&lt;br /&gt;
* [[Toolchain 2.0]]&lt;br /&gt;
* [[Frameworks]]&lt;br /&gt;
* [[Apple Certification Process]]&lt;br /&gt;
* [[Distribution Methods]]&lt;br /&gt;
&lt;br /&gt;
==Tutorials==&lt;br /&gt;
* [[Toolchain Tutorial]]&lt;br /&gt;
* [[Decrypt iPhone ipsw Beta 4-7 ramdisk]]&lt;br /&gt;
* [[Unlock iphone-3G with TurboSim|TurboSIM Unlock]]&lt;br /&gt;
&lt;br /&gt;
==Definitions==&lt;br /&gt;
* [[jailbreak]]&lt;br /&gt;
* [[activation]]&lt;br /&gt;
* [[unlock]]&lt;br /&gt;
* [[baseband]]&lt;br /&gt;
* [[Baseband Bootloader|bootloader]]&lt;/div&gt;</summary>
		<author><name>Cheinelt</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Toolchain&amp;diff=579</id>
		<title>Toolchain</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Toolchain&amp;diff=579"/>
		<updated>2008-07-29T07:55:05Z</updated>

		<summary type="html">&lt;p&gt;Cheinelt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Mac OS X Tiger ==&lt;br /&gt;
'''Build iPhone Toolchain on Mac OS X Tiger'''&lt;br /&gt;
&lt;br /&gt;
This is a brief description about how to install iPhone toolchain on Mac OS X Tiger.&lt;br /&gt;
Needed Packages&lt;br /&gt;
&lt;br /&gt;
    1. llvm source&lt;br /&gt;
    2. iphone-dev source&lt;br /&gt;
    3. iphone-filesystem&lt;br /&gt;
&lt;br /&gt;
Put all the packages in your $HOME folder.&lt;br /&gt;
How To Build&lt;br /&gt;
&lt;br /&gt;
Make sure you’re running Mac OS X 10.4, and have installed Xcode development environment.&lt;br /&gt;
1. Extract packages&lt;br /&gt;
&lt;br /&gt;
    $ cd ~&lt;br /&gt;
    $ tar xjvf llvm-svn.tar.bz2&lt;br /&gt;
    $ tar xjvf iphone-dev.tar.bz2&lt;br /&gt;
    $ cd /usr/local&lt;br /&gt;
    $ sudo tar xjvf ~/iphone-filesystem.tar.bz2&lt;br /&gt;
    $ sudo mkdir -p /usr/local/arm-apple-darwin&lt;br /&gt;
    $ LLVMOBJDIR=~/llvm-svn&lt;br /&gt;
    $ HEAVENLY=/usr/local/iphone-filesystem&lt;br /&gt;
&lt;br /&gt;
2. Build LLVM&lt;br /&gt;
&lt;br /&gt;
    $ cd ~/llvm-svn&lt;br /&gt;
    $ ./configure --enable-optimized&lt;br /&gt;
    $ make ENABLE_OPTIMIZED=1&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
3. Build odcctools&lt;br /&gt;
&lt;br /&gt;
    $ mkdir -p ~/iphone-dev/build/odcctools&lt;br /&gt;
    $ cd ~/iphone-dev/build/odcctools&lt;br /&gt;
    $ ../../odcctools/configure --target=arm-apple-darwin --disable-ld64&lt;br /&gt;
    $ make&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
4. Install headers&lt;br /&gt;
&lt;br /&gt;
    $ cd ~/iphone-dev/include&lt;br /&gt;
    $ ./configure --with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk&lt;br /&gt;
    $ sudo bash install-headers.sh&lt;br /&gt;
&lt;br /&gt;
5. Install csu (binary)&lt;br /&gt;
&lt;br /&gt;
    $ mkdir -p ~/iphone-dev/build/csu&lt;br /&gt;
    $ cd ~/iphone-dev/build/csu&lt;br /&gt;
    $ ../../csu/configure --host=arm-apple-darwin&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
6. Build LLVM-GCC&lt;br /&gt;
&lt;br /&gt;
    $ mkdir -p ~/iphone-dev/build/llvm-gcc-4.0-iphone&lt;br /&gt;
    $ cd ~/iphone-dev/build/llvm-gcc-4.0-iphone&lt;br /&gt;
    $ ../../llvm-gcc-4.0-iphone/configure --enable-llvm=`llvm-config --objc-root` \&lt;br /&gt;
    --enable-languages=c,c++,objc,obj-c++ --target=arm-apple-darwin --enable-sjlj-exceptions \&lt;br /&gt;
    --with-heavenly=$HEAVENLY --with-as=/usr/local/bin/arm-apple-darwin-as \&lt;br /&gt;
    --with-ld=/usr/local/bin/arm-apple-darwin-ld&lt;br /&gt;
    $ make LLVM_VERSION_INFO=2.0-svn-iphone-dev-0.3-svn&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
Done.&lt;br /&gt;
&lt;br /&gt;
== Mac OS X Leopard ==&lt;br /&gt;
&lt;br /&gt;
'''Build iPhone Toolchain on Mac OS X Leopard'''&lt;br /&gt;
&lt;br /&gt;
'''HOWTO build the toolchain for 1.1.1 on Leopard by drudge with pure ownage by lupinglade'''&lt;br /&gt;
&lt;br /&gt;
Ensure that you have a copy of bison and flex installed on your system. All major systems should have these tools installed or available in package management systems.&lt;br /&gt;
&lt;br /&gt;
    $ bison --version&lt;br /&gt;
    GNU Bison version 1.28&lt;br /&gt;
    $ flex --version&lt;br /&gt;
    flex version 2.5.4&lt;br /&gt;
&lt;br /&gt;
Check out a copy of LLVM SVN, and build a release build (as opposed to a debug one). Currently, due to Issue 70, we are limited to revision 42498.&lt;br /&gt;
&lt;br /&gt;
    $ svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm-svn -r 42498&lt;br /&gt;
    $ pushd llvm-svn&lt;br /&gt;
    $ ./configure --enable-optimized&lt;br /&gt;
    $ make ENABLE_OPTIMIZED=1&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
    $ LLVMOBJDIR=`pwd`&lt;br /&gt;
    $ popd&lt;br /&gt;
&lt;br /&gt;
Check out a copy of the iphone-dev SVN repository.&lt;br /&gt;
&lt;br /&gt;
    $ svn checkout http://iphone-dev.googlecode.com/svn/trunk/ iphone-dev&lt;br /&gt;
    pushd iphone-dev&lt;br /&gt;
&lt;br /&gt;
Make a directory to hold the toolchain.&lt;br /&gt;
&lt;br /&gt;
    $ sudo mkdir /usr/local/arm-apple-darwin&lt;br /&gt;
&lt;br /&gt;
Build odcctools.&lt;br /&gt;
&lt;br /&gt;
    $ mkdir -p build/odcctools&lt;br /&gt;
    $ pushd build/odcctools&lt;br /&gt;
    ../../odcctools/configure --target=arm-apple-darwin --disable-ld64&lt;br /&gt;
    export INCPRIVEXT=&amp;quot;-isysroot /Developer/SDKs/MacOSX10.4u.sdk&amp;quot;&lt;br /&gt;
    $ make&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
    $ popd&lt;br /&gt;
&lt;br /&gt;
Get a copy of the iPhone root filesystem. This is usually obtained by decrypting and extracting the iPhone restore software using these tools, but there are many other methods to obtain this, including simply using scp to download all the files from the iPhone over Wi-Fi. I would use the method describled here: http://www.touchdev.net/wiki/Jailbreak_Guide to get the dmg.&lt;br /&gt;
&lt;br /&gt;
To unpack the root filesystem, mount the dmg, open terminal and run&lt;br /&gt;
&lt;br /&gt;
    $ sudo mkdir /usr/local/share/iphone-filesystem&lt;br /&gt;
    $ sudo cp -Rp /Volumes/Snowbird3A110a.N45Bundle/* /usr/local/share/iphone-filesystem/&lt;br /&gt;
&lt;br /&gt;
Now, set the environment variable $HEAVENLY to its path:&lt;br /&gt;
&lt;br /&gt;
    $ HEAVENLY=/usr/local/share/iphone-filesystem&lt;br /&gt;
&lt;br /&gt;
Patch the system headers&lt;br /&gt;
&lt;br /&gt;
    $ pushd include&lt;br /&gt;
    $ ./configure --with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk&lt;br /&gt;
    $ sudo bash install-headers.sh&lt;br /&gt;
    $ popd&lt;br /&gt;
&lt;br /&gt;
Install csu, which includes crt1.o, dylib1.o, and bundle1.o. Don’t rebuild them from source, as this requires a working cross-GCC, which you don’t have yet (and the build-from-source process for csu is broken right now anyway). Binaries are provided for this reason.&lt;br /&gt;
&lt;br /&gt;
    $ mkdir -p build/csu&lt;br /&gt;
    $ pushd build/csu&lt;br /&gt;
    $ ../../csu/configure --host=arm-apple-darwin&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
    $ popd&lt;br /&gt;
&lt;br /&gt;
Configure and make LLVM-GCC. Make sure that $LLVMOBJDIR and $HEAVENLY are set per the instructions above.&lt;br /&gt;
&lt;br /&gt;
    $ mv llvm-gcc-4.0-iphone/configure llvm-gcc-4.0-iphone/configure.old&lt;br /&gt;
    $ sed 's/^FLAGS_FOR_TARGET=$/FLAGS_FOR_TARGET=${FLAGS_FOR_TARGET-}/g' \&lt;br /&gt;
     llvm-gcc-4.0-iphone/configure.old &amp;gt; llvm-gcc-4.0-iphone/configure&lt;br /&gt;
    $ sudo ln -s /usr/local/arm-apple-darwin/lib/crt1.o \&lt;br /&gt;
     /usr/local/arm-apple-darwin/lib/crt1.10.5.o&lt;br /&gt;
    $ mkdir -p build/llvm-gcc-4.0-iphone&lt;br /&gt;
    $ pushd build/llvm-gcc-4.0-iphone&lt;br /&gt;
    $ export FLAGS_FOR_TARGET=&amp;quot;-mmacosx-version-min=10.1&amp;quot;&lt;br /&gt;
     ../../llvm-gcc-4.0-iphone/configure --enable-llvm=`llvm-config --obj-root` \&lt;br /&gt;
     --enable-languages=c,c++,objc,obj-c++ --target=arm-apple-darwin --enable-sjlj-exceptions \&lt;br /&gt;
     --with-heavenly=$HEAVENLY --with-as=/usr/local/bin/arm-apple-darwin-as \&lt;br /&gt;
     --with-ld=/usr/local/bin/arm-apple-darwin-ld&lt;br /&gt;
    $ make LLVM_VERSION_INFO=2.0-svn-iphone-dev-0.3-svn&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
    $ popd&lt;br /&gt;
    $ popd&lt;br /&gt;
&lt;br /&gt;
You’re done. Have fun!&lt;br /&gt;
&lt;br /&gt;
== Windows XP ==&lt;br /&gt;
&lt;br /&gt;
'''Build iPhone Toolchain on Windows XP'''&lt;br /&gt;
&lt;br /&gt;
This guide and binary installation server is provided by David Supuran .&lt;br /&gt;
If you have any questions, comments, or suggestions please visit irc.osx86.hu #iphone or email me at Darken@iPhoneGameover.com&lt;br /&gt;
Requirements&lt;br /&gt;
&lt;br /&gt;
/Developer/SDKs/MacOSX10.4u.sdk&lt;br /&gt;
&lt;br /&gt;
To obtain this directory it is recommended that you download Xcode 2.5 Developer Tools (Disk Image) (902.9 MB as of 30 Oct 2007).&lt;br /&gt;
&lt;br /&gt;
Once you have downloaded the disk image, you will need additional software to open and extract it such as '''PowerISO''' or '''HFSExplorer''', then extract the following file:&lt;br /&gt;
&lt;br /&gt;
    \Packages\Packages\MacOSX10.4.Universal.pkg\Contents\Archive.pax.gz&lt;br /&gt;
&lt;br /&gt;
'''Note:''' HFSExplorer is an open source Java-based application running on Windows XP. It opens the Xcode 2.5 disk image as well as the iPhoneOS 2.0 disk image. HFSExplorer can be downloaded from http://hem.bredband.net/catacombae/hfsx.html.&lt;br /&gt;
&lt;br /&gt;
'''Note: It has been reported that UltraISO and MacDrive do not work for extracting this package.&lt;br /&gt;
This archive provides the necessary header files which will later be installed for the compiler to use.'''&lt;br /&gt;
&lt;br /&gt;
Note: Due to Apple’s strict redistribution license the files required from this archive could not be included in the installer, so you are required to agree to the terms and licenses under your ADC account and download the full disk image.&lt;br /&gt;
&lt;br /&gt;
iPhone/iTouch root filesystem&lt;br /&gt;
&lt;br /&gt;
The easiest way to obtain the root filesystem is to have a wireless network and OpenSSH installed. If you have this please skip this part as the post-installation will walk you through obtaining the files automatically. You may alternatively decrypt a firmware ipsw manually and place the extracted filesystem in /usr/local/arm-apple-darwin/filesystem after Cygwin is installed.&lt;br /&gt;
Installation&lt;br /&gt;
&lt;br /&gt;
Download and run the Cygwin Setup. It is recommended you use the default settings and click Next until you get to the following window:&lt;br /&gt;
Cygwin Setup Step 6&lt;br /&gt;
Type in the User URL: http://www.iphonegameover.com/cygwin, then click Add.&lt;br /&gt;
&lt;br /&gt;
Once you see the URL added and highlighted in the Available Download Sites list click Next.&lt;br /&gt;
Cygwin Setup Step 7&lt;br /&gt;
All the software is selected for you; it is recommended you use the default settings and click Next, then follow the on-screen instructions to finish the setup.&lt;br /&gt;
Cygwin Setup Step 8&lt;br /&gt;
Click the Start button and select All Programs -&amp;gt; Cygwin -&amp;gt; Cygwin Bash Shell and you will see the following window:&lt;br /&gt;
Cygwin Setup Step 9&lt;br /&gt;
Place the Archive.pax.gz file in your Cygwin home directory that you obtained earlier from the Xcode 2.5 Developer Tools (Disk Image). Example home directory: C:\cygwin\home\Administrator&lt;br /&gt;
&lt;br /&gt;
When asked ‘Do you wish to connect to your device and download the required files?‘ Press y for Yes.&lt;br /&gt;
&lt;br /&gt;
Type in the IP address of your iPhone / iTouch device on the next prompt that says ‘Please enter the remote IP address of your device:‘.&lt;br /&gt;
&lt;br /&gt;
*Note: If you do not know the IP address of your device go to Settings -&amp;gt; Wi-Fi and Click the blue arrow to the right of your wireless network you are currently connected to which is marked with a check on the left.&lt;br /&gt;
&lt;br /&gt;
If SSH asks you ‘Are you sure you want to continue connecting (yes/no)?‘ Type yes.&lt;br /&gt;
Cygwin Setup Step 10&lt;br /&gt;
NOTE: SSH will now create an archive of your root file system once you type in your password which takes approximately 5 minutes, so please be patient.&lt;br /&gt;
&lt;br /&gt;
If you are asked ‘Do you wish to install the XCode header files now?‘ Press y for Yes.&lt;br /&gt;
If you have been following the instructions so far, you will see the following:&lt;br /&gt;
&lt;br /&gt;
    Found Archive.pax.gz in current directory.&lt;br /&gt;
    Extracting /home/David/Archive.pax.gz…&lt;br /&gt;
&lt;br /&gt;
If everything goes well you will see:&lt;br /&gt;
&lt;br /&gt;
    Your toolchain installation is now complete!&lt;/div&gt;</summary>
		<author><name>Cheinelt</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Toolchain&amp;diff=578</id>
		<title>Toolchain</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Toolchain&amp;diff=578"/>
		<updated>2008-07-29T07:51:10Z</updated>

		<summary type="html">&lt;p&gt;Cheinelt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mac OS X Tiger ==&lt;br /&gt;
'''Build iPhone Toolchain on Mac OS X Tiger'''&lt;br /&gt;
&lt;br /&gt;
This is a brief description about how to install iPhone toolchain on Mac OS X Tiger.&lt;br /&gt;
Needed Packages&lt;br /&gt;
&lt;br /&gt;
    1. llvm source&lt;br /&gt;
    2. iphone-dev source&lt;br /&gt;
    3. iphone-filesystem&lt;br /&gt;
&lt;br /&gt;
Put all the packages in your $HOME folder.&lt;br /&gt;
How To Build&lt;br /&gt;
&lt;br /&gt;
Make sure you’re running Mac OS X 10.4, and have installed Xcode development environment.&lt;br /&gt;
1. Extract packages&lt;br /&gt;
&lt;br /&gt;
    $ cd ~&lt;br /&gt;
    $ tar xjvf llvm-svn.tar.bz2&lt;br /&gt;
    $ tar xjvf iphone-dev.tar.bz2&lt;br /&gt;
    $ cd /usr/local&lt;br /&gt;
    $ sudo tar xjvf ~/iphone-filesystem.tar.bz2&lt;br /&gt;
    $ sudo mkdir -p /usr/local/arm-apple-darwin&lt;br /&gt;
    $ LLVMOBJDIR=~/llvm-svn&lt;br /&gt;
    $ HEAVENLY=/usr/local/iphone-filesystem&lt;br /&gt;
&lt;br /&gt;
2. Build LLVM&lt;br /&gt;
&lt;br /&gt;
    $ cd ~/llvm-svn&lt;br /&gt;
    $ ./configure --enable-optimized&lt;br /&gt;
    $ make ENABLE_OPTIMIZED=1&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
3. Build odcctools&lt;br /&gt;
&lt;br /&gt;
    $ mkdir -p ~/iphone-dev/build/odcctools&lt;br /&gt;
    $ cd ~/iphone-dev/build/odcctools&lt;br /&gt;
    $ ../../odcctools/configure --target=arm-apple-darwin --disable-ld64&lt;br /&gt;
    $ make&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
4. Install headers&lt;br /&gt;
&lt;br /&gt;
    $ cd ~/iphone-dev/include&lt;br /&gt;
    $ ./configure --with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk&lt;br /&gt;
    $ sudo bash install-headers.sh&lt;br /&gt;
&lt;br /&gt;
5. Install csu (binary)&lt;br /&gt;
&lt;br /&gt;
    $ mkdir -p ~/iphone-dev/build/csu&lt;br /&gt;
    $ cd ~/iphone-dev/build/csu&lt;br /&gt;
    $ ../../csu/configure --host=arm-apple-darwin&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
6. Build LLVM-GCC&lt;br /&gt;
&lt;br /&gt;
    $ mkdir -p ~/iphone-dev/build/llvm-gcc-4.0-iphone&lt;br /&gt;
    $ cd ~/iphone-dev/build/llvm-gcc-4.0-iphone&lt;br /&gt;
    $ ../../llvm-gcc-4.0-iphone/configure --enable-llvm=`llvm-config --objc-root` \&lt;br /&gt;
    --enable-languages=c,c++,objc,obj-c++ --target=arm-apple-darwin --enable-sjlj-exceptions \&lt;br /&gt;
    --with-heavenly=$HEAVENLY --with-as=/usr/local/bin/arm-apple-darwin-as \&lt;br /&gt;
    --with-ld=/usr/local/bin/arm-apple-darwin-ld&lt;br /&gt;
    $ make LLVM_VERSION_INFO=2.0-svn-iphone-dev-0.3-svn&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
Done.&lt;br /&gt;
&lt;br /&gt;
== Mac OS X Leopard ==&lt;br /&gt;
&lt;br /&gt;
'''Build iPhone Toolchain on Mac OS X Leopard'''&lt;br /&gt;
&lt;br /&gt;
'''HOWTO build the toolchain for 1.1.1 on Leopard by drudge with pure ownage by lupinglade'''&lt;br /&gt;
&lt;br /&gt;
Ensure that you have a copy of bison and flex installed on your system. All major systems should have these tools installed or available in package management systems.&lt;br /&gt;
&lt;br /&gt;
    $ bison --version&lt;br /&gt;
    GNU Bison version 1.28&lt;br /&gt;
    $ flex --version&lt;br /&gt;
    flex version 2.5.4&lt;br /&gt;
&lt;br /&gt;
Check out a copy of LLVM SVN, and build a release build (as opposed to a debug one). Currently, due to Issue 70, we are limited to revision 42498.&lt;br /&gt;
&lt;br /&gt;
    $ svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm-svn -r 42498&lt;br /&gt;
    $ pushd llvm-svn&lt;br /&gt;
    $ ./configure --enable-optimized&lt;br /&gt;
    $ make ENABLE_OPTIMIZED=1&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
    $ LLVMOBJDIR=`pwd`&lt;br /&gt;
    $ popd&lt;br /&gt;
&lt;br /&gt;
Check out a copy of the iphone-dev SVN repository.&lt;br /&gt;
&lt;br /&gt;
    $ svn checkout http://iphone-dev.googlecode.com/svn/trunk/ iphone-dev&lt;br /&gt;
    pushd iphone-dev&lt;br /&gt;
&lt;br /&gt;
Make a directory to hold the toolchain.&lt;br /&gt;
&lt;br /&gt;
    $ sudo mkdir /usr/local/arm-apple-darwin&lt;br /&gt;
&lt;br /&gt;
Build odcctools.&lt;br /&gt;
&lt;br /&gt;
    $ mkdir -p build/odcctools&lt;br /&gt;
    $ pushd build/odcctools&lt;br /&gt;
    ../../odcctools/configure --target=arm-apple-darwin --disable-ld64&lt;br /&gt;
    export INCPRIVEXT=&amp;quot;-isysroot /Developer/SDKs/MacOSX10.4u.sdk&amp;quot;&lt;br /&gt;
    $ make&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
    $ popd&lt;br /&gt;
&lt;br /&gt;
Get a copy of the iPhone root filesystem. This is usually obtained by decrypting and extracting the iPhone restore software using these tools, but there are many other methods to obtain this, including simply using scp to download all the files from the iPhone over Wi-Fi. I would use the method describled here: http://www.touchdev.net/wiki/Jailbreak_Guide to get the dmg.&lt;br /&gt;
&lt;br /&gt;
To unpack the root filesystem, mount the dmg, open terminal and run&lt;br /&gt;
&lt;br /&gt;
    $ sudo mkdir /usr/local/share/iphone-filesystem&lt;br /&gt;
    $ sudo cp -Rp /Volumes/Snowbird3A110a.N45Bundle/* /usr/local/share/iphone-filesystem/&lt;br /&gt;
&lt;br /&gt;
Now, set the environment variable $HEAVENLY to its path:&lt;br /&gt;
&lt;br /&gt;
    $ HEAVENLY=/usr/local/share/iphone-filesystem&lt;br /&gt;
&lt;br /&gt;
Patch the system headers&lt;br /&gt;
&lt;br /&gt;
    $ pushd include&lt;br /&gt;
    $ ./configure --with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk&lt;br /&gt;
    $ sudo bash install-headers.sh&lt;br /&gt;
    $ popd&lt;br /&gt;
&lt;br /&gt;
Install csu, which includes crt1.o, dylib1.o, and bundle1.o. Don’t rebuild them from source, as this requires a working cross-GCC, which you don’t have yet (and the build-from-source process for csu is broken right now anyway). Binaries are provided for this reason.&lt;br /&gt;
&lt;br /&gt;
    $ mkdir -p build/csu&lt;br /&gt;
    $ pushd build/csu&lt;br /&gt;
    $ ../../csu/configure --host=arm-apple-darwin&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
    $ popd&lt;br /&gt;
&lt;br /&gt;
Configure and make LLVM-GCC. Make sure that $LLVMOBJDIR and $HEAVENLY are set per the instructions above.&lt;br /&gt;
&lt;br /&gt;
    $ mv llvm-gcc-4.0-iphone/configure llvm-gcc-4.0-iphone/configure.old&lt;br /&gt;
    $ sed 's/^FLAGS_FOR_TARGET=$/FLAGS_FOR_TARGET=${FLAGS_FOR_TARGET-}/g' \&lt;br /&gt;
     llvm-gcc-4.0-iphone/configure.old &amp;gt; llvm-gcc-4.0-iphone/configure&lt;br /&gt;
    $ sudo ln -s /usr/local/arm-apple-darwin/lib/crt1.o \&lt;br /&gt;
     /usr/local/arm-apple-darwin/lib/crt1.10.5.o&lt;br /&gt;
    $ mkdir -p build/llvm-gcc-4.0-iphone&lt;br /&gt;
    $ pushd build/llvm-gcc-4.0-iphone&lt;br /&gt;
    $ export FLAGS_FOR_TARGET=&amp;quot;-mmacosx-version-min=10.1&amp;quot;&lt;br /&gt;
     ../../llvm-gcc-4.0-iphone/configure --enable-llvm=`llvm-config --obj-root` \&lt;br /&gt;
     --enable-languages=c,c++,objc,obj-c++ --target=arm-apple-darwin --enable-sjlj-exceptions \&lt;br /&gt;
     --with-heavenly=$HEAVENLY --with-as=/usr/local/bin/arm-apple-darwin-as \&lt;br /&gt;
     --with-ld=/usr/local/bin/arm-apple-darwin-ld&lt;br /&gt;
    $ make LLVM_VERSION_INFO=2.0-svn-iphone-dev-0.3-svn&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
    $ popd&lt;br /&gt;
    $ popd&lt;br /&gt;
&lt;br /&gt;
You’re done. Have fun!&lt;br /&gt;
&lt;br /&gt;
== Windows XP ==&lt;br /&gt;
&lt;br /&gt;
'''Build iPhone Toolchain on Windows XP'''&lt;br /&gt;
&lt;br /&gt;
This guide and binary installation server is provided by David Supuran .&lt;br /&gt;
If you have any questions, comments, or suggestions please visit irc.osx86.hu #iphone or email me at Darken@iPhoneGameover.com&lt;br /&gt;
Requirements&lt;br /&gt;
&lt;br /&gt;
/Developer/SDKs/MacOSX10.4u.sdk&lt;br /&gt;
&lt;br /&gt;
To obtain this directory it is recommended that you download Xcode 2.5 Developer Tools (Disk Image) (902.9 MB as of 30 Oct 2007).&lt;br /&gt;
&lt;br /&gt;
Once you have downloaded the disk image, you will need additional software to open and extract it such as '''PowerISO''' or '''HFSExplorer''', then extract the following file:&lt;br /&gt;
&lt;br /&gt;
    \Packages\Packages\MacOSX10.4.Universal.pkg\Contents\Archive.pax.gz&lt;br /&gt;
&lt;br /&gt;
'''Note:''' HFSExplorer is an open source Java-based application running on Windows XP. It opens the Xcode 2.5 disk image as well as the iPhoneOS 2.0 disk image. HFSExplorer can be downloaded from http://hem.bredband.net/catacombae/hfsx.html.&lt;br /&gt;
&lt;br /&gt;
'''Note: It has been reported that UltraISO and MacDrive do not work for extracting this package.&lt;br /&gt;
This archive provides the necessary header files which will later be installed for the compiler to use.'''&lt;br /&gt;
&lt;br /&gt;
Note: Due to Apple’s strict redistribution license the files required from this archive could not be included in the installer, so you are required to agree to the terms and licenses under your ADC account and download the full disk image.&lt;br /&gt;
&lt;br /&gt;
iPhone/iTouch root filesystem&lt;br /&gt;
&lt;br /&gt;
The easiest way to obtain the root filesystem is to have a wireless network and OpenSSH installed. If you have this please skip this part as the post-installation will walk you through obtaining the files automatically. You may alternatively decrypt a firmware ipsw manually and place the extracted filesystem in /usr/local/arm-apple-darwin/filesystem after Cygwin is installed.&lt;br /&gt;
Installation&lt;br /&gt;
&lt;br /&gt;
Download and run the Cygwin Setup. It is recommended you use the default settings and click Next until you get to the following window:&lt;br /&gt;
Cygwin Setup Step 6&lt;br /&gt;
Type in the User URL: http://www.iphonegameover.com/cygwin, then click Add.&lt;br /&gt;
&lt;br /&gt;
Once you see the URL added and highlighted in the Available Download Sites list click Next.&lt;br /&gt;
Cygwin Setup Step 7&lt;br /&gt;
All the software is selected for you; it is recommended you use the default settings and click Next, then follow the on-screen instructions to finish the setup.&lt;br /&gt;
Cygwin Setup Step 8&lt;br /&gt;
Click the Start button and select All Programs -&amp;gt; Cygwin -&amp;gt; Cygwin Bash Shell and you will see the following window:&lt;br /&gt;
Cygwin Setup Step 9&lt;br /&gt;
Place the Archive.pax.gz file in your Cygwin home directory that you obtained earlier from the Xcode 2.5 Developer Tools (Disk Image). Example home directory: C:\cygwin\home\Administrator&lt;br /&gt;
&lt;br /&gt;
When asked ‘Do you wish to connect to your device and download the required files?‘ Press y for Yes.&lt;br /&gt;
&lt;br /&gt;
Type in the IP address of your iPhone / iTouch device on the next prompt that says ‘Please enter the remote IP address of your device:‘.&lt;br /&gt;
&lt;br /&gt;
*Note: If you do not know the IP address of your device go to Settings -&amp;gt; Wi-Fi and Click the blue arrow to the right of your wireless network you are currently connected to which is marked with a check on the left.&lt;br /&gt;
&lt;br /&gt;
If SSH asks you ‘Are you sure you want to continue connecting (yes/no)?‘ Type yes.&lt;br /&gt;
Cygwin Setup Step 10&lt;br /&gt;
NOTE: SSH will now create an archive of your root file system once you type in your password which takes approximately 5 minutes, so please be patient.&lt;br /&gt;
&lt;br /&gt;
If you are asked ‘Do you wish to install the XCode header files now?‘ Press y for Yes.&lt;br /&gt;
If you have been following the instructions so far, you will see the following:&lt;br /&gt;
&lt;br /&gt;
    Found Archive.pax.gz in current directory.&lt;br /&gt;
    Extracting /home/David/Archive.pax.gz…&lt;br /&gt;
&lt;br /&gt;
If everything goes well you will see:&lt;br /&gt;
&lt;br /&gt;
    Your toolchain installation is now complete!&lt;/div&gt;</summary>
		<author><name>Cheinelt</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Toolchain&amp;diff=577</id>
		<title>Toolchain</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Toolchain&amp;diff=577"/>
		<updated>2008-07-29T07:49:41Z</updated>

		<summary type="html">&lt;p&gt;Cheinelt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Mac OS X Tiger =&lt;br /&gt;
'''Build iPhone Toolchain on Mac OS X Tiger'''&lt;br /&gt;
&lt;br /&gt;
This is a brief description about how to install iPhone toolchain on Mac OS X Tiger.&lt;br /&gt;
Needed Packages&lt;br /&gt;
&lt;br /&gt;
    1. llvm source&lt;br /&gt;
    2. iphone-dev source&lt;br /&gt;
    3. iphone-filesystem&lt;br /&gt;
&lt;br /&gt;
Put all the packages in your $HOME folder.&lt;br /&gt;
How To Build&lt;br /&gt;
&lt;br /&gt;
Make sure you’re running Mac OS X 10.4, and have installed Xcode development environment.&lt;br /&gt;
1. Extract packages&lt;br /&gt;
&lt;br /&gt;
    $ cd ~&lt;br /&gt;
    $ tar xjvf llvm-svn.tar.bz2&lt;br /&gt;
    $ tar xjvf iphone-dev.tar.bz2&lt;br /&gt;
    $ cd /usr/local&lt;br /&gt;
    $ sudo tar xjvf ~/iphone-filesystem.tar.bz2&lt;br /&gt;
    $ sudo mkdir -p /usr/local/arm-apple-darwin&lt;br /&gt;
    $ LLVMOBJDIR=~/llvm-svn&lt;br /&gt;
    $ HEAVENLY=/usr/local/iphone-filesystem&lt;br /&gt;
&lt;br /&gt;
2. Build LLVM&lt;br /&gt;
&lt;br /&gt;
    $ cd ~/llvm-svn&lt;br /&gt;
    $ ./configure --enable-optimized&lt;br /&gt;
    $ make ENABLE_OPTIMIZED=1&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
3. Build odcctools&lt;br /&gt;
&lt;br /&gt;
    $ mkdir -p ~/iphone-dev/build/odcctools&lt;br /&gt;
    $ cd ~/iphone-dev/build/odcctools&lt;br /&gt;
    $ ../../odcctools/configure --target=arm-apple-darwin --disable-ld64&lt;br /&gt;
    $ make&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
4. Install headers&lt;br /&gt;
&lt;br /&gt;
    $ cd ~/iphone-dev/include&lt;br /&gt;
    $ ./configure --with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk&lt;br /&gt;
    $ sudo bash install-headers.sh&lt;br /&gt;
&lt;br /&gt;
5. Install csu (binary)&lt;br /&gt;
&lt;br /&gt;
    $ mkdir -p ~/iphone-dev/build/csu&lt;br /&gt;
    $ cd ~/iphone-dev/build/csu&lt;br /&gt;
    $ ../../csu/configure --host=arm-apple-darwin&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
6. Build LLVM-GCC&lt;br /&gt;
&lt;br /&gt;
    $ mkdir -p ~/iphone-dev/build/llvm-gcc-4.0-iphone&lt;br /&gt;
    $ cd ~/iphone-dev/build/llvm-gcc-4.0-iphone&lt;br /&gt;
    $ ../../llvm-gcc-4.0-iphone/configure --enable-llvm=`llvm-config --objc-root` \&lt;br /&gt;
    --enable-languages=c,c++,objc,obj-c++ --target=arm-apple-darwin --enable-sjlj-exceptions \&lt;br /&gt;
    --with-heavenly=$HEAVENLY --with-as=/usr/local/bin/arm-apple-darwin-as \&lt;br /&gt;
    --with-ld=/usr/local/bin/arm-apple-darwin-ld&lt;br /&gt;
    $ make LLVM_VERSION_INFO=2.0-svn-iphone-dev-0.3-svn&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
Done.&lt;br /&gt;
&lt;br /&gt;
= Mac OS X Leopard =&lt;br /&gt;
&lt;br /&gt;
'''Build iPhone Toolchain on Mac OS X Leopard'''&lt;br /&gt;
&lt;br /&gt;
'''HOWTO build the toolchain for 1.1.1 on Leopard by drudge with pure ownage by lupinglade'''&lt;br /&gt;
&lt;br /&gt;
Ensure that you have a copy of bison and flex installed on your system. All major systems should have these tools installed or available in package management systems.&lt;br /&gt;
&lt;br /&gt;
    $ bison --version&lt;br /&gt;
    GNU Bison version 1.28&lt;br /&gt;
    $ flex --version&lt;br /&gt;
    flex version 2.5.4&lt;br /&gt;
&lt;br /&gt;
Check out a copy of LLVM SVN, and build a release build (as opposed to a debug one). Currently, due to Issue 70, we are limited to revision 42498.&lt;br /&gt;
&lt;br /&gt;
    $ svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm-svn -r 42498&lt;br /&gt;
    $ pushd llvm-svn&lt;br /&gt;
    $ ./configure --enable-optimized&lt;br /&gt;
    $ make ENABLE_OPTIMIZED=1&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
    $ LLVMOBJDIR=`pwd`&lt;br /&gt;
    $ popd&lt;br /&gt;
&lt;br /&gt;
Check out a copy of the iphone-dev SVN repository.&lt;br /&gt;
&lt;br /&gt;
    $ svn checkout http://iphone-dev.googlecode.com/svn/trunk/ iphone-dev&lt;br /&gt;
    pushd iphone-dev&lt;br /&gt;
&lt;br /&gt;
Make a directory to hold the toolchain.&lt;br /&gt;
&lt;br /&gt;
    $ sudo mkdir /usr/local/arm-apple-darwin&lt;br /&gt;
&lt;br /&gt;
Build odcctools.&lt;br /&gt;
&lt;br /&gt;
    $ mkdir -p build/odcctools&lt;br /&gt;
    $ pushd build/odcctools&lt;br /&gt;
    ../../odcctools/configure --target=arm-apple-darwin --disable-ld64&lt;br /&gt;
    export INCPRIVEXT=&amp;quot;-isysroot /Developer/SDKs/MacOSX10.4u.sdk&amp;quot;&lt;br /&gt;
    $ make&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
    $ popd&lt;br /&gt;
&lt;br /&gt;
Get a copy of the iPhone root filesystem. This is usually obtained by decrypting and extracting the iPhone restore software using these tools, but there are many other methods to obtain this, including simply using scp to download all the files from the iPhone over Wi-Fi. I would use the method describled here: http://www.touchdev.net/wiki/Jailbreak_Guide to get the dmg.&lt;br /&gt;
&lt;br /&gt;
To unpack the root filesystem, mount the dmg, open terminal and run&lt;br /&gt;
&lt;br /&gt;
    $ sudo mkdir /usr/local/share/iphone-filesystem&lt;br /&gt;
    $ sudo cp -Rp /Volumes/Snowbird3A110a.N45Bundle/* /usr/local/share/iphone-filesystem/&lt;br /&gt;
&lt;br /&gt;
Now, set the environment variable $HEAVENLY to its path:&lt;br /&gt;
&lt;br /&gt;
    $ HEAVENLY=/usr/local/share/iphone-filesystem&lt;br /&gt;
&lt;br /&gt;
Patch the system headers&lt;br /&gt;
&lt;br /&gt;
    $ pushd include&lt;br /&gt;
    $ ./configure --with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk&lt;br /&gt;
    $ sudo bash install-headers.sh&lt;br /&gt;
    $ popd&lt;br /&gt;
&lt;br /&gt;
Install csu, which includes crt1.o, dylib1.o, and bundle1.o. Don’t rebuild them from source, as this requires a working cross-GCC, which you don’t have yet (and the build-from-source process for csu is broken right now anyway). Binaries are provided for this reason.&lt;br /&gt;
&lt;br /&gt;
    $ mkdir -p build/csu&lt;br /&gt;
    $ pushd build/csu&lt;br /&gt;
    $ ../../csu/configure --host=arm-apple-darwin&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
    $ popd&lt;br /&gt;
&lt;br /&gt;
Configure and make LLVM-GCC. Make sure that $LLVMOBJDIR and $HEAVENLY are set per the instructions above.&lt;br /&gt;
&lt;br /&gt;
    $ mv llvm-gcc-4.0-iphone/configure llvm-gcc-4.0-iphone/configure.old&lt;br /&gt;
    $ sed 's/^FLAGS_FOR_TARGET=$/FLAGS_FOR_TARGET=${FLAGS_FOR_TARGET-}/g' \&lt;br /&gt;
     llvm-gcc-4.0-iphone/configure.old &amp;gt; llvm-gcc-4.0-iphone/configure&lt;br /&gt;
    $ sudo ln -s /usr/local/arm-apple-darwin/lib/crt1.o \&lt;br /&gt;
     /usr/local/arm-apple-darwin/lib/crt1.10.5.o&lt;br /&gt;
    $ mkdir -p build/llvm-gcc-4.0-iphone&lt;br /&gt;
    $ pushd build/llvm-gcc-4.0-iphone&lt;br /&gt;
    $ export FLAGS_FOR_TARGET=&amp;quot;-mmacosx-version-min=10.1&amp;quot;&lt;br /&gt;
     ../../llvm-gcc-4.0-iphone/configure --enable-llvm=`llvm-config --obj-root` \&lt;br /&gt;
     --enable-languages=c,c++,objc,obj-c++ --target=arm-apple-darwin --enable-sjlj-exceptions \&lt;br /&gt;
     --with-heavenly=$HEAVENLY --with-as=/usr/local/bin/arm-apple-darwin-as \&lt;br /&gt;
     --with-ld=/usr/local/bin/arm-apple-darwin-ld&lt;br /&gt;
    $ make LLVM_VERSION_INFO=2.0-svn-iphone-dev-0.3-svn&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
    $ popd&lt;br /&gt;
    $ popd&lt;br /&gt;
&lt;br /&gt;
You’re done. Have fun!&lt;br /&gt;
&lt;br /&gt;
= Windows XP =&lt;br /&gt;
&lt;br /&gt;
'''Build iPhone Toolchain on Windows XP'''&lt;br /&gt;
&lt;br /&gt;
This guide and binary installation server is provided by David Supuran .&lt;br /&gt;
If you have any questions, comments, or suggestions please visit irc.osx86.hu #iphone or email me at Darken@iPhoneGameover.com&lt;br /&gt;
Requirements&lt;br /&gt;
&lt;br /&gt;
/Developer/SDKs/MacOSX10.4u.sdk&lt;br /&gt;
&lt;br /&gt;
To obtain this directory it is recommended that you download Xcode 2.5 Developer Tools (Disk Image) (902.9 MB as of 30 Oct 2007).&lt;br /&gt;
&lt;br /&gt;
Once you have downloaded the disk image, you will need additional software to open and extract it such as '''PowerISO''' or '''HFSExplorer''', then extract the following file:&lt;br /&gt;
&lt;br /&gt;
    \Packages\Packages\MacOSX10.4.Universal.pkg\Contents\Archive.pax.gz&lt;br /&gt;
&lt;br /&gt;
'''Note:''' HFSExplorer is an open source Java-based application running on Windows XP. It opens the Xcode 2.5 disk image as well as the iPhoneOS 2.0 disk image. HFSExplorer can be downloaded from http://hem.bredband.net/catacombae/hfsx.html.&lt;br /&gt;
&lt;br /&gt;
'''Note: It has been reported that UltraISO and MacDrive do not work for extracting this package.&lt;br /&gt;
This archive provides the necessary header files which will later be installed for the compiler to use.'''&lt;br /&gt;
&lt;br /&gt;
Note: Due to Apple’s strict redistribution license the files required from this archive could not be included in the installer, so you are required to agree to the terms and licenses under your ADC account and download the full disk image.&lt;br /&gt;
&lt;br /&gt;
iPhone/iTouch root filesystem&lt;br /&gt;
&lt;br /&gt;
The easiest way to obtain the root filesystem is to have a wireless network and OpenSSH installed. If you have this please skip this part as the post-installation will walk you through obtaining the files automatically. You may alternatively decrypt a firmware ipsw manually and place the extracted filesystem in /usr/local/arm-apple-darwin/filesystem after Cygwin is installed.&lt;br /&gt;
Installation&lt;br /&gt;
&lt;br /&gt;
Download and run the Cygwin Setup. It is recommended you use the default settings and click Next until you get to the following window:&lt;br /&gt;
Cygwin Setup Step 6&lt;br /&gt;
Type in the User URL: http://www.iphonegameover.com/cygwin, then click Add.&lt;br /&gt;
&lt;br /&gt;
Once you see the URL added and highlighted in the Available Download Sites list click Next.&lt;br /&gt;
Cygwin Setup Step 7&lt;br /&gt;
All the software is selected for you; it is recommended you use the default settings and click Next, then follow the on-screen instructions to finish the setup.&lt;br /&gt;
Cygwin Setup Step 8&lt;br /&gt;
Click the Start button and select All Programs -&amp;gt; Cygwin -&amp;gt; Cygwin Bash Shell and you will see the following window:&lt;br /&gt;
Cygwin Setup Step 9&lt;br /&gt;
Place the Archive.pax.gz file in your Cygwin home directory that you obtained earlier from the Xcode 2.5 Developer Tools (Disk Image). Example home directory: C:\cygwin\home\Administrator&lt;br /&gt;
&lt;br /&gt;
When asked ‘Do you wish to connect to your device and download the required files?‘ Press y for Yes.&lt;br /&gt;
&lt;br /&gt;
Type in the IP address of your iPhone / iTouch device on the next prompt that says ‘Please enter the remote IP address of your device:‘.&lt;br /&gt;
&lt;br /&gt;
*Note: If you do not know the IP address of your device go to Settings -&amp;gt; Wi-Fi and Click the blue arrow to the right of your wireless network you are currently connected to which is marked with a check on the left.&lt;br /&gt;
&lt;br /&gt;
If SSH asks you ‘Are you sure you want to continue connecting (yes/no)?‘ Type yes.&lt;br /&gt;
Cygwin Setup Step 10&lt;br /&gt;
NOTE: SSH will now create an archive of your root file system once you type in your password which takes approximately 5 minutes, so please be patient.&lt;br /&gt;
&lt;br /&gt;
If you are asked ‘Do you wish to install the XCode header files now?‘ Press y for Yes.&lt;br /&gt;
If you have been following the instructions so far, you will see the following:&lt;br /&gt;
&lt;br /&gt;
    Found Archive.pax.gz in current directory.&lt;br /&gt;
    Extracting /home/David/Archive.pax.gz…&lt;br /&gt;
&lt;br /&gt;
If everything goes well you will see:&lt;br /&gt;
&lt;br /&gt;
    Your toolchain installation is now complete!&lt;/div&gt;</summary>
		<author><name>Cheinelt</name></author>
		
	</entry>
</feed>