iOS for Linux users
iOS – like Mac OS X – is a Darwin-based operating system, which in turn is based on the XNU kernel. It is POSIX-compliant and “Unix-like”, but it is NOT Linux-based.
The output of “uname -a” on my iPhone is:
Darwin <device name> 11.0.0 Darwin Kernel Version 11.0.0: Wed Mar 30 18:51:10 PDT 2011; root:xnu-1735.46~10/RELEASE_ARM_S5L8930X iPhone3,1 arm N90AP Darwin
USB cable
When connected to a Ubuntu machine through the USB cable, two locations will be mounted over the AFC (Apple File Connection) protocol. The two mount points will be titled “<device name>” and “Documents on <device name>“. Ubuntu 11.04 will offer (in Nautilus) to open the first mount point with the Banshee Media Player and with the Shotwell Photo Manager.
SSH
On a jailbroken iPhone you can install OpenSSH. The default username is “mobile” and the default password (on ALL iPhones) is “alpine”. Change that immediately with “passwd”. Note your iPhone’s IP address on the WiFi interface (you can find that under Settings, Wi-Fi, then click on the blue right arrow; if you’re doing this at home, you might want to reserve a fixed IP address for your iPhone on your router).
Filesystem
The flash storage is divided into to HFS-formatted partitions; one is mounted under / (root) and the other under /private/var. Only the second one is journaled.
A few soft links exist at root level:
- /var -> /private/var
- /etc -> /private/etc
- /User -> /var/mobile
- /tmp -> /private/var/tmp
- /Applications -> /var/stash/Applications.pwn
Your home directory will be “/var/mobile”. The first mount point described above (“<device name>”) is actually “/var/mobile/Media”