idevicerestore icon indicating copy to clipboard operation
idevicerestore copied to clipboard

Add docker scripts to simplify setting up idevicerestore

Open cameroncros opened this issue 2 years ago • 22 comments

This makes it easier to setup idevicerestore with all the latest libmobiledevice libraries.

I have not tested this through a full restore, but it does detect my device (which is as far as I got following the official instructions anyway)

Example output:

❯ ./docker/run.sh
Sending build context to Docker daemon  4.096kB
Step 1/11 : FROM ubuntu:18.04
 ---> e28a50f651f9
Step 2/11 : RUN apt-get update && apt-get install -y 	build-essential 	pkg-config 	checkinstall 	git 	autoconf 	automake 	libtool-bin 	libreadline-dev 	libusb-1.0-0-dev 	libcurl4-openssl-dev 	libssl-dev 	libzip-dev 	zlib1g-dev     python3     cython
 ---> Using cache
 ---> f4f246aec778
Step 3/11 : RUN git clone https://github.com/libimobiledevice/libplist.git &&     cd libplist &&     ./autogen.sh &&     make &&     make install &&     cd .. &&     rm libplist -rf
 ---> Using cache
 ---> bde5605a4e79
Step 4/11 : RUN git clone https://github.com/libimobiledevice/libimobiledevice-glue.git &&     cd libimobiledevice-glue &&     ./autogen.sh &&     make &&     make install &&     cd .. &&     rm libimobiledevice-glue -rf
 ---> Using cache
 ---> a18f0f0d312f
Step 5/11 : RUN git clone https://github.com/libimobiledevice/libusbmuxd.git &&     cd libusbmuxd &&     ./autogen.sh &&     make &&     make install &&     cd .. &&     rm libusbmuxd -rf
 ---> Using cache
 ---> 7487aaf95ef8
Step 6/11 : RUN git clone https://github.com/libimobiledevice/libimobiledevice.git &&     cd libimobiledevice &&     ./autogen.sh &&     make &&     make install &&     cd .. &&     rm libimobiledevice -rf
 ---> Using cache
 ---> d9914575dc50
Step 7/11 : RUN git clone https://github.com/libimobiledevice/libirecovery.git &&     cd libirecovery &&     ./autogen.sh &&     make &&     make install &&     cd .. &&     rm libirecovery -rf
 ---> Using cache
 ---> c3a4e07b521f
Step 8/11 : RUN git clone https://github.com/libimobiledevice/idevicerestore.git &&     cd idevicerestore &&     ./autogen.sh &&     make &&     make install &&     cd .. &&     rm idevicerestore -rf
 ---> Using cache
 ---> 2c151c072140
Step 9/11 : RUN ldconfig
 ---> Using cache
 ---> c9890a92e34b
Step 10/11 : WORKDIR /tmp
 ---> Using cache
 ---> f5aa930da9b3
Step 11/11 : CMD idevicerestore
 ---> Using cache
 ---> bd1c899c82a3
Successfully built bd1c899c82a3
Successfully tagged idevicerestore-docker:latest
idevicerestore 1.0.0-128-g7b89019
Found device in DFU mode
ECID: 5991944144224286
Identified device as j313ap, MacBookAir10,1
The following firmwares are currently being signed for MacBookAir10,1:
  [1] 13.2 (build 22D49)
...
  [27] 11.0.1 (build 20B29)
Select the firmware you want to restore: 

cameroncros avatar Feb 01 '23 19:02 cameroncros