Building for iPhone

<= Previous Change | Next Change =>

Diff Summary
Title
Date 2009-02-02 15:49 2009-08-27 12:43
Editor Andrew Plotkin (zarf) Aaron Griffith (agrif)

2009-02-02 15:49 by Andrew Plotkin
2009-08-27 12:43 by Aaron Griffith
n1This page will tell you how to get boodler runningn1This page will tell you how to get Boodler running
> on the iPhone. If you have any questions or want > on the iPhone. If you have any questions or want 
>anything cleared up, feel free to contact me at [a>anything cleared up, feel free to contact me at [a
>argri@gmail.com](mailto:aargri@gmail.com). Note th>argri@gmail.com](mailto:aargri@gmail.com). This is
>at ideally, you will be able to install boodler th> an extremely unofficial and unsupported platform 
>rough Cydia in the future (as a binary package), b>for Boodler, though. If you mess up your iPhone wh
>ut I'm still working on that. I don't really know >ile doing this, it's not my fault.
>zarf's opinion on binary distributions, either.  
22
n3*(I love 'em. --Z)* n3# Option 1: Install Boodler through Cydia
4
5If you have a jailbroken iPhone with Cydia install
 >ed, you can just install Boodler from Cydia and av
 >oid the mess of compiling it on your iPhone. This 
 >is certainly the easiest option.
6
7First, open up Cydia and touch 'Manage' down at th
 >e bottom. Then, click on 'Sources', then 'Edit', t
 >hen 'Add'. In the box that pops up, type `http://g
 >amma-level.com/forever/cydia-boodler/`. Then hit '
 >Add Source'.
8
9> Note to zarf: I appreciate that you may want to 
 >keep this sort of stuff on boodler.org, as you did
 > with the patch file. This repository is a directo
 >ry of files, which can be found in a tarball [here
 >](http://gamma-level.com/forever/cydia-boodler.tar
 >.gz). I'm perfectly fine with hosting it, however,
 > and I'll keep it up-to-date with Boodler releases
 > as they appear.
10
11Now, hit 'Done', and Cydia will start to update it
 >'s package information. Ignore any errors, I got q
 >uite a few but it didn't seem to matter. Then, cli
 >ck on the newly-added 'Boodler Cydia Repository', 
 >then the Boodler package, and you can install from
 > there. You can also find Boodler in the 'Multimed
 >ia' section.
12
13You will still need some type of terminal to use B
 >oodler, as there is no UI for it. I suggest Mobile
 >Terminal, or an ssh server, such as OpenSSH, both 
 >of which you can install from Cydia.
14
15# Option 2: Install Boodler from source
16
17I would only recommend compiling from source if yo
 >u *really* know what your doing. Installing throug
 >h Cydia is easier, and it'll save you about 150MB 
 >of space that's taken up by the compiler and such.
 >
418
5It looks long, but it's actually only verbose. If 19It looks long, but it's actually only verbose. If 
>you have any experience with technology (i.e. you >you have any experience with technology (i.e. you 
>have compiled boodler before) this shouldn't be to>have compiled boodler before) this shouldn't be to
>o hard. Otherwise, it should be easy enough to fol>o hard. Otherwise, it should be easy enough to fol
>low.>low.
620
n7# Prerequisitesn21## Prerequisites
822
9These are some obvious and some not-so-obvious req23These are some obvious and some not-so-obvious req
>uirements:>uirements:
1024
n11## A *jailbroken* iPhonen25### A *jailbroken* iPhone
1226
13There are many guides available for jailbreaking y27There are many guides available for jailbreaking y
>our iPhone, just do a Google search. Unfortunately>our iPhone, just do a Google search. Unfortunately
>, boodler is not likely to come to the official Ap>, boodler is not likely to come to the official Ap
>p Store any time soon, because python, which boodl>p Store any time soon, because python, which boodl
>er needs, would be a mad beast to port without ful>er needs, would be a mad beast to port without ful
>l access to the phone's filesystem.>l access to the phone's filesystem.
1428
n15## Cydian29### Cydia
1630
17Cydia is probably already on your phone if it's ja31Cydia is probably already on your phone if it's ja
>ilbroken, and if it's not, then Installer probably>ilbroken, and if it's not, then Installer probably
> is. You can install Cydia from Installer.> is. You can install Cydia from Installer.
1832
19For those interested, Cydia is a port of debian's 33For those interested, Cydia is a port of debian's 
>package management system to the iPhone, among oth>package management system to the iPhone, among oth
>er things. It is immensely useful here.>er things. It is immensely useful here.
2034
n21## Shell Accessn35### Shell Access
2236
23This can be done through SSH (preferred), or Mobil37This can be done through SSH (preferred), or Mobil
>eTerminal (simpler).>eTerminal (simpler).
2438
n25You can install MobileTerminal through Cydia. Justn39You can install MobileTerminal through Cydia. Just
> launch it after it's done installing, and you hav> launch it after it's done installing, and you hav
>e a shell open on your phone! >e a shell open on your phone! You will need to be 
 >`root` to compile and install boodler, so type in 
 >`su` and your password ('alpine' if you don't know
 >).
2640
n27If you want to use SSH (which is easier to work win41If you want to use SSH (which is easier to work wi
>th, but harder to set up) install the OpenSSH pack>th, but harder to set up) install the OpenSSH pack
>age in Cydia. It may already be installed. Then, r>age in Cydia. It may already be installed. Then, r
>estart your phone. Open up a terminal window in yo>estart your phone. Open up a terminal window in yo
>ur *nix flavor of choice, and type '`ssh -l root i>ur *nix flavor of choice, and type '`ssh -l root i
>phone.ip`' (replacing 'iphone.ip' with your iphone>phone.ip`' (replacing 'iphone.ip' with your iphone
>'s IP address). Type in the password (if you don't>'s IP address). Type in the password (again, if yo
> know your password, it's 'alpine'). You should no>u don't know your password, it's 'alpine'). You sh
>w have a shell open on your phone.>ould now have a shell open on your phone.
2842
n29# Getting Ready to Installn43## Getting Ready to Install
3044
31I highly recommend plugging your phone in and disa45I highly recommend plugging your phone in and disa
>bling auto-lock in the settings. Some of this can >bling auto-lock in the settings. Some of this can 
>take a while, and auto-lock cancels them. Or, you >take a while, and auto-lock cancels them. Or, you 
>can just touch the screen occasionally. Just don't>can just touch the screen occasionally. Just don't
> let it lock.> let it lock.
3246
33OK. Lets go.47OK. Lets go.
3448
35Type this in the shell (make sure cydia is closed)49Type this in the shell (make sure cydia is closed)
>:>:
3650
37    apt-get install gzip iphone-gcc ldid make nano51    apt-get install gzip iphone-gcc ldid make nano
> python setuptools tar wget com.bigboss.20toolchai> python setuptools tar wget com.bigboss.20toolchai
>n patch>n patch
nn52
53(as of iPhone OS 3.0 \[or maybe earlier\], this co
 >mmand exits with apt complaining about not being a
 >ble to install libgcc, which is no longer necessar
 >y. Go [here](http://www.telesphoreo.org/ticket/163
 >) to get a dummy package that fools apt into think
 >ing libgcc was installed)
3854
39It may ask some questions. Answer in a way that le55It may ask some questions. Answer in a way that le
>ts the install continue (generally Y / yes).>ts the install continue (generally Y / yes).
4056
41This can take a while as it downloads and installs57This can take a while as it downloads and installs
> the stuff you need to continue.> the stuff you need to continue.
4258
4460
45    wget http://boodler.org/dl/Boodler-2.0.2.tar.g61    wget http://boodler.org/dl/Boodler-2.0.2.tar.g
>z>z
46    tar -xzvf ./Boodler-2.0.2.tar.gz62    tar -xzvf ./Boodler-2.0.2.tar.gz
47    cd Boodler-2.0.263    cd Boodler-2.0.2
4864
n49## Patching Boodlern65### Patching Boodler
5066
51This part is only slightly necessary. It patches s67This part is only slightly necessary. It patches s
>etup.py to search for headers somewhere else, and >etup.py to search for headers somewhere else, and 
>also lets boodler continue after you lock the phon>also lets boodler continue after you lock the phon
>e. It's pretty handy, actually.>e. It's pretty handy, actually.
5268
53If you want to do without, edit setup.py so the `o69If you want to do without, edit setup.py so the `o
>sxaq` line searches for `CoreAudio/CoreAudio.h` an>sxaq` line searches for `CoreAudio/CoreAudio.h` an
>d `AudioToolbox/AudioQueue.h` instead, and change >d `AudioToolbox/AudioQueue.h` instead, and change 
>setup.cfg so the `macosx` driver is not compiled.>setup.cfg so the `macosx` driver is not compiled.
5470
57    wget http://boodler.org/dl/etc/Boodler-2.0.2-i73    wget http://boodler.org/dl/etc/Boodler-2.0.2-i
>Phone.patch>Phone.patch
58    patch -p1 < Boodler-2.0.2-iPhone.patch74    patch -p1 < Boodler-2.0.2-iPhone.patch
5975
60That is a bit easier than hand-editing files, no?76That is a bit easier than hand-editing files, no?
6177
n62# Building and Installing Boodlern78## Building and Installing Boodler
6379
64Finally, we're here. This is the home stretch. Run80Finally, we're here. This is the home stretch. Run
> these now to build boodler and sign the driver:> these now to build boodler and sign the driver:
6581
66    python setup.py build82    python setup.py build
67    ldid -S build/lib.darwin-10.5-arm-2.5/boodle/c83    ldid -S build/lib.darwin-10.5-arm-2.5/boodle/c
>boodle_osxaq.dylib>boodle_osxaq.dylib
7692
77Boodler is now installed!93Boodler is now installed!
7894
79# Test Boodler95# Test Boodler
8096
n81This is listed elsewhere, but still, listen to whan97This is listed elsewhere, but still, it's great to
>t you have done.> listen to your handiwork.
8298
83    boodler.py --testsound99    boodler.py --testsound
84100
t85it should work. If not, tell me and I'll try to het101If nothing plays, check your volume levels. If it 
>lp. Boodler can now be used like on a desktop syst>still doesn't work, email me and I'll try to help.
>em, with one change. If you used ssh, you must alw>
>ays `su mobile` after logging in, as boodler-mgr.p 
>y doesn't like installing packages as root on the  
>iPhone.  
102
103Boodler can now be used like on a desktop system, 
 >with one change. If you used ssh, you must always 
 >`su mobile` after logging in, as boodler-mgr.py do
 >esn't like installing packages as root on the iPho
 >ne.
86104
87Have fun!105Have fun!
Building for iPhone - last changed 2009-08-27 12:48 by Aaron Griffith (agrif)