1.1.1 / 1.1.2 only
Apple’s 1.1.1 firmware is much larger than 1.0.2 was. That leaves much less space for installing 3rd-party applications. Couple that with the fact the Installer.app 3.0 doesn’t tell you how much free space you have left, and you have a recipe for disaster. Additionally, I found that by default, you cannot have more than 80 application directories in /Applications, or the SpringBoard crashes and will not start. What’s a person to do? Well, I don’t know what you will do, but this is what I did (Note: if you screw up your iPhone, I take no responsibility):
- I installed SummerBoard, which allows for more than 80 application directories in /Applications
- I remounted the Media partition without the noexec option, moved my entire /Applications directory to /var/root/Applications, and made /Applications a symbolic link that points to private/var/root/Applications.
Item #1 is simple to do: just install it from within Installer.app. Item #2 requires a little more explanation. What follows is a little tutorial on how I did it. This tutorial assumes you know how to ssh into your iPhone and that you can do so. It also assumes you know how to edit files on your iPhone and that you have basic command line skills. First, remove the “noexec” option from the Media partition, and remount it. Note: this step may not be needed, as some of the recent jailbreak procedures remove it for you.
- (this step is not necessary for 1.1.2 or higher)
ssh into your iPhone
edit /etc/fstab
change the second line to change “rw,noexec” to “rw”
When you are done, the second line should look like this:
/dev/disk0s2 /private/var hfs rw 0 2
- Now power your iPhone off and back on again, before proceeding. Now we’ll move the Applications directory:
ssh into your iPhone
cd /
cp -pr Applications /var/root
mv Applications Applications.old
ln -s private/var/root/Applications /Applications
- Now power your iPhone off and back on again. If everything is working ok, finish up by doing this:
ssh into your iPhone
cd /
rm -rf Applications.old
Now install all the apps you want. :) Note: A few packages still get installed into the root partition, but there is plenty of room for those, at this time. The vast majority go in Applications though, which now has plenty of room. Enjoy!
Final note: I haven’t tried this, but if you restore your iPhone, the root partition gets wiped and recreated. What this means is that the /Applications symbolic link will be replaced by a new, real /Applications directory, with the default Apple apps in it. You should be able to redo everything above, except for step #3 (where you copy /Applications), to recover, and all your applications will be back - because they are on a partition that doesn’t get wiped during a restore. Note, however, that a handful of apps do install a few files outside of /Applications and those files will have been lost. A few examples of apps that do this are: Ants, Dock, OpenSSH, BSD Subsystem, and others. You will have to reinstall them to get them working again. If all else fails, you can always 1) restore 2) delete /var/root/Applications and 3) start fresh.