Skip to content

Instantly share code, notes, and snippets.

@okanon
Last active January 29, 2020 04:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save okanon/ece8955a1214a78a5c247006f94c24d2 to your computer and use it in GitHub Desktop.
Save okanon/ece8955a1214a78a5c247006f94c24d2 to your computer and use it in GitHub Desktop.
libimobiledevice tools on Linux

libimobiledevice tools on Linux

How to Build & Installation

cmake, libusb-1.0.0-dev, libfuse-dev, libbz2-dev, libssl-dev, libcurl4-openssl-dev, libxml2-dev and liblzma-dev is required.

Build

  1. libzip (libbz2 liblzma)
  2. libplist
  3. libimobiledevice (libssl libplist libusbmuxd)
  4. libusbmuxd (libplist)
  5. ifuse (libfuse libplist libimobiledevice)
  6. usbmuxd (libusb libplist libimobiledevice)
  7. libideviceactivation (libcurl libxml2 libplist libimobiledevice)
  8. ideviceinstaller (libzip libplist libimobiledevice)

#libzip
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release && make && sudo make install && sudo ldconfig

#libimobiledevice tools
CFALGS="-O2" CXXFLAGS="-O2" ./autogen.sh && make && sudo make install && sudo ldconfig

Service

Set usbmuxd daemon with systemd. If you don't set this, Linux won't recognize your idevice 😢

sudo cp usbmuxd.service /etc/systemd/system
sudo sustemctl enable usbmuxd
sudo systemctl start usbmuxd
[Unit]
Description=Socket daemon for the usbmux protocol used by Apple device
Documentation=man:usbmuxd(8)
[Install]
WantedBy=multi-user.target
[Service]
ExecStart=/usr/local/sbin/usbmuxd --user usbmux --systemd
PIDFile=/var/run/usbmuxd.pid
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment