Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add docker scripts to simplify setting up idevicerestore #562

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

cameroncros
Copy link

@cameroncros cameroncros commented Feb 1, 2023

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: 

@remoosaad
Copy link

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
Copy link
Author

Is this something that has value? What do you need from me to get this to a mergable state?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants