Compare commits

..
31 Commits
Author SHA1 Message Date
Nick Chan 6617029684 Bump version to 2.0.1 2024-08-09 23:59:58 +08:00
hg13 3a2d5f353c chore: Change recovery note (#425) 2024-08-09 23:59:58 +08:00
Relieved Of All Senses cc7ffd5131 fix: vscode has different indentation? 2024-08-09 23:59:48 +08:00
khcrysalis bf412cb332 feat: add usage to readme, also available with --help 2024-08-09 23:59:48 +08:00
Nick Chan b9581028aa Update documentation 2024-07-24 12:19:47 +08:00
Nick Chan 71240fb719 Accept --cli in CLI only builds for compatibility 2024-07-22 14:01:42 +08:00
Nick Chan 006518db3d actions: Remove TUI=1 from make 2024-07-22 01:44:01 +08:00
Nick Chan 3d2d380820 Device will reboot into recovery mode after setup fakefs 2024-07-19 16:03:44 +08:00
Nick Chan a099e321c0 a 2024-07-16 18:38:33 +08:00
Nick Chan 34bc646439 docs: Update wording 2024-07-12 01:31:17 +08:00
Nick Chan 147134b495 fixup! fixup! fixup! fixup! actions: cache sysroot where possible 2024-07-04 18:57:11 +08:00
Nick Chan 7ddf02e0b9 fixup! fixup! fixup! actions: cache sysroot where possible 2024-07-04 18:49:40 +08:00
Nick Chan aa91582aba fixup! fixup! actions: cache sysroot where possible 2024-07-04 18:47:03 +08:00
Nick Chan 39a5ad981c fixup! actions: cache sysroot where possible 2024-07-04 18:46:01 +08:00
Nick Chan 59aabaad08 actions: cache sysroot where possible 2024-07-04 18:43:30 +08:00
Nick Chan 106e2214b5 fixup! Update build.yml 2024-07-04 18:10:12 +08:00
Nick Chan 3022c6a447 Update build.yml 2024-07-04 18:08:56 +08:00
samsam a4eacb75c0 Mention credits 2024-06-16 23:23:33 -07:00
samsam 05ca13d925 Update README.md 2024-06-12 12:47:17 -07:00
Samara c01b426a87 Add asignee 2024-06-04 14:25:19 -07:00
hg13bs 3a2ff433ed fix mistaken version (#423) 2024-06-01 11:02:16 -07:00
sam 0122e6c603 New assignee 2024-05-26 09:30:59 -07:00
sam cc151e727e Add new assignee for issues 2024-05-26 09:23:20 -07:00
Nick Chan 76b2695e9d Revert MBedTLS changes 2024-05-26 17:11:17 +08:00
Nick Chan 1e72458985 fixup! Update mbedtls 2024-05-26 14:44:51 +08:00
Nick Chan ba2a4dee25 Fix downloading mbedtls 2024-05-26 14:43:00 +08:00
Nick Chan f8319e44f1 Update mbedtls 2024-05-26 14:38:18 +08:00
Nick Chan ff581a41e9 libusb 1.0.27 2024-05-26 14:16:38 +08:00
sam b4bd41de60 Update problem.yml 2024-05-18 12:44:27 -07:00
Samara 0b5b54521f Me 2024-05-17 13:51:02 -07:00
Samara 17f28f3f0a Update tui_screen_options.c 2024-05-17 13:46:46 -07:00
9 changed files with 196 additions and 63 deletions

No files matched your search

+1
View File
@@ -6,6 +6,7 @@ assignees:
- asdfugil - asdfugil
- elliessurviving - elliessurviving
- hg13bs - hg13bs
- afastaudir8
body: body:
- type: input - type: input
id: device id: device
+134 -24
View File
@@ -76,6 +76,11 @@ jobs:
env: env:
MBEDTLS_VERSION: 3.5.2 MBEDTLS_VERSION: 3.5.2
READLINE_VERSION: 8.2 READLINE_VERSION: 8.2
LIBIMOBILEDEVICE_COMMIT: ed0d66d0341562731bb19928dfe48155509fa7a7
LIBIRECOVERY_COMMIT: 7ce02c347b7c26e59498e6af31c9da51018d0fa1
LIBIMOBILEDEVICE_GLUE_COMMIT: 362f7848ac89b74d9dd113b38b51ecb601f76094
LIBPLIST_COMMIT: 2117b8fdb6b4096455bd2041a63e59a028120136
LIBUSBMUXD_COMMIT: a7f0543fb1ecb20ac7121c0fd77297200e0e43fc
steps: steps:
- name: Checkout - name: Checkout
@@ -95,20 +100,6 @@ jobs:
run: | run: |
echo "SDK=$(xcrun -sdk ${{ matrix.os }} --show-sdk-path)" >> $GITHUB_ENV echo "SDK=$(xcrun -sdk ${{ matrix.os }} --show-sdk-path)" >> $GITHUB_ENV
- name: Download dependencies (source code)
run: |
curl -LOOOOOO \
https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v${{ env.MBEDTLS_VERSION }}.tar.gz \
https://mirror-hk.koddos.net/gnu/readline/readline-${{ env.READLINE_VERSION }}.tar.gz
tar -xf v${{ env.MBEDTLS_VERSION }}.tar.gz
tar -xf readline-${{ env.READLINE_VERSION }}.tar.gz
git clone --depth=1 https://github.com/libimobiledevice/libplist
git clone --depth=1 https://github.com/libimobiledevice/libimobiledevice-glue
git clone --depth=1 https://github.com/libimobiledevice/libirecovery
git clone --depth=1 https://github.com/libimobiledevice/libusbmuxd
git clone --depth=1 https://github.com/libimobiledevice/libimobiledevice
- name: Select correct Xcode - name: Select correct Xcode
run: | run: |
sudo xcode-select -s /Applications/Xcode_14.2.app sudo xcode-select -s /Applications/Xcode_14.2.app
@@ -131,8 +122,6 @@ jobs:
echo "CXXFLAGS_FOR_BUILD=-stdlib=libc++ -arch $(uname -m) -isysroot $(xcrun -sdk macosx --show-sdk-path) -Os" >> $GITHUB_ENV echo "CXXFLAGS_FOR_BUILD=-stdlib=libc++ -arch $(uname -m) -isysroot $(xcrun -sdk macosx --show-sdk-path) -Os" >> $GITHUB_ENV
echo "CPPFLAGS_FOR_BUILD=-arch $(uname -m) -isysroot $(xcrun -sdk macosx --show-sdk-path) -Wno-error-implicit-function-declaration -Os" >> $GITHUB_ENV echo "CPPFLAGS_FOR_BUILD=-arch $(uname -m) -isysroot $(xcrun -sdk macosx --show-sdk-path) -Wno-error-implicit-function-declaration -Os" >> $GITHUB_ENV
echo "LDFLAGS_FOR_BUILD=-Wl,-dead_strip" >> $GITHUB_ENV echo "LDFLAGS_FOR_BUILD=-Wl,-dead_strip" >> $GITHUB_ENV
mkdir -p $(pwd)/sysroot/usr/local/lib
ln -sf $(pwd)/sysroot/usr/local/lib{,64}
- name: Prepare iPhoneOS environment - name: Prepare iPhoneOS environment
if: matrix.os == 'iphoneos' if: matrix.os == 'iphoneos'
@@ -173,7 +162,59 @@ jobs:
gsed -E /'__API_UNAVAILABLE'/d < ${TARGET_SYSROOT}/usr/include/pthread.h > sysroot/usr/local/include/pthread.h gsed -E /'__API_UNAVAILABLE'/d < ${TARGET_SYSROOT}/usr/include/pthread.h > sysroot/usr/local/include/pthread.h
gsed -i -E s/'__API_UNAVAILABLE\(.*\)'// sysroot/usr/local/include/IOKit/IOKitLib.h gsed -i -E s/'__API_UNAVAILABLE\(.*\)'// sysroot/usr/local/include/IOKit/IOKitLib.h
- name: Check dependencies cache
run: |
echo "target: ${{ matrix.os }}-${{ matrix.arch }}" > cache.txt
echo "mbedtls ${{ env.MBEDTLS_VERSION }}" >> cache.txt
echo "readline: ${{ env.READLINE_VERSION }}" >> cache.txt
echo "libimobiledevice: ${{ env.LIBIMOBILEDEVICE_COMMIT }}" >> cache.txt
echo "libirecovery: ${{ env.LIBIRECOVERY_COMMIT }}" >> cache.txt
echo "libimobiledevice-glue: ${{ env.LIBIMOBILEDEVICE_GLUE_COMMIT }}" >> cache.txt
echo "libplist: ${{ env.LIBPLIST_COMMIT }}" >> cache.txt
echo "libusbmuxd: ${{ env.LIBUSBMUXD_COMMIT }}" >> cache.txt
echo "cc: $($(xcrun --find cc) --version)" >> cache.txt
echo "CACHE_TXT_CHECKSUM=sysroot-$(shasum -a 512 cache.txt | cut -d' ' -f1)" >> $GITHUB_ENV
- name: Download cached sysroot
id: sysroot_cache
uses: actions/cache@v3
with:
path: sysroot-${{ env.CACHE_TXT_CHECKSUM }}.txz
key: sysroot-${{ env.CACHE_TXT_CHECKSUM }}
- name: Extract cached sysroot
if: steps.sysroot_cache.outputs.cache-hit == 'true'
run: |
xz -dcT0 sysroot-${{ env.CACHE_TXT_CHECKSUM }}.txz | tar -x
- name: Setup sysroot
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: |
mkdir -p $(pwd)/sysroot/usr/local/lib
ln -sf $(pwd)/sysroot/usr/local/lib{,64}
- name: Download dependencies (source code)
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: |
curl -LOOOOOO \
https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v${{ env.MBEDTLS_VERSION }}.tar.gz \
https://mirror-hk.koddos.net/gnu/readline/readline-${{ env.READLINE_VERSION }}.tar.gz
tar -xf v${{ env.MBEDTLS_VERSION }}.tar.gz
tar -xf readline-${{ env.READLINE_VERSION }}.tar.gz
git clone --depth=1 https://github.com/libimobiledevice/libplist
git clone --depth=1 https://github.com/libimobiledevice/libimobiledevice-glue
git clone --depth=1 https://github.com/libimobiledevice/libirecovery
git clone --depth=1 https://github.com/libimobiledevice/libusbmuxd
git clone --depth=1 https://github.com/libimobiledevice/libimobiledevice
cd libplist && git fetch origin ${{ env.LIBPLIST_COMMIT }} && git reset --hard ${{ env.LIBPLIST_COMMIT }} && cd ..
cd libirecovery && git fetch origin ${{ env.LIBIRECOVERY_COMMIT }} && git reset --hard ${{ env.LIBIRECOVERY_COMMIT }} && cd ..
cd libimobiledevice-glue && git fetch origin ${{ env.LIBIMOBILEDEVICE_GLUE_COMMIT }} && git reset --hard ${{ env.LIBIMOBILEDEVICE_GLUE_COMMIT }} && cd ..
cd libimobiledevice && git fetch origin ${{ env.LIBIMOBILEDEVICE_COMMIT }} && git reset --hard ${{ env.LIBIMOBILEDEVICE_COMMIT }} && cd ..
cd libusbmuxd && git fetch origin ${{ env.LIBUSBMUXD_COMMIT }} && git reset --hard ${{ env.LIBUSBMUXD_COMMIT }} && cd ..
- name: Build Mbed TLS - name: Build Mbed TLS
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: | run: |
cd mbedtls-${{ env.MBEDTLS_VERSION }} cd mbedtls-${{ env.MBEDTLS_VERSION }}
cat ../patches/mbedtls/0001-Allow-empty-x509-cert-issuer.patch | patch -sN -d . -p1 cat ../patches/mbedtls/0001-Allow-empty-x509-cert-issuer.patch | patch -sN -d . -p1
@@ -198,6 +239,7 @@ jobs:
cd .. cd ..
- name: Build readline - name: Build readline
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: | run: |
cd readline-${{ env.READLINE_VERSION }} cd readline-${{ env.READLINE_VERSION }}
CC=clang CXX=clang++ ./configure ${{ env.CONFIGURE_ARGS }} ac_cv_type_sig_atomic_t=no CC=clang CXX=clang++ ./configure ${{ env.CONFIGURE_ARGS }} ac_cv_type_sig_atomic_t=no
@@ -206,6 +248,7 @@ jobs:
cd .. cd ..
- name: Build libplist - name: Build libplist
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: | run: |
cd libplist cd libplist
autoreconf -fiv autoreconf -fiv
@@ -215,6 +258,7 @@ jobs:
cd .. cd ..
- name: Build libimobiledevice-glue - name: Build libimobiledevice-glue
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: | run: |
cd libimobiledevice-glue cd libimobiledevice-glue
autoreconf -fiv autoreconf -fiv
@@ -224,6 +268,7 @@ jobs:
cd .. cd ..
- name: Build libirecovery - name: Build libirecovery
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: | run: |
sudo cp -a sysroot/usr/local/* /usr/local sudo cp -a sysroot/usr/local/* /usr/local
cd libirecovery cd libirecovery
@@ -239,6 +284,7 @@ jobs:
cd .. cd ..
- name: Build libusbmuxd - name: Build libusbmuxd
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: | run: |
cd libusbmuxd cd libusbmuxd
autoreconf -fiv autoreconf -fiv
@@ -248,10 +294,11 @@ jobs:
cd .. cd ..
- name: Build libimobiledevice - name: Build libimobiledevice
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: | run: |
cd libimobiledevice cd libimobiledevice
autoreconf -fiv autoreconf -fiv
./configure ${{ env.CONFIGURE_ARGS }} --with-mbedtls --enable-debug ./configure ${{ env.CONFIGURE_ARGS }} --with-mbedtls --disable-debug --disable-wireless-pairing
echo -e 'all:\ninstall:' > tools/Makefile echo -e 'all:\ninstall:' > tools/Makefile
gmake -j$(sysctl -n hw.ncpu) gmake -j$(sysctl -n hw.ncpu)
gmake -j$(sysctl -n hw.ncpu) install DESTDIR=${{ env.DESTDIR }} gmake -j$(sysctl -n hw.ncpu) install DESTDIR=${{ env.DESTDIR }}
@@ -262,15 +309,15 @@ jobs:
cp -a sysroot/${{ env.PREFIX }}/{include,lib} dep_root cp -a sysroot/${{ env.PREFIX }}/{include,lib} dep_root
find dep_root -name '*.dylib' -delete find dep_root -name '*.dylib' -delete
find dep_root -name '*.la' -delete find dep_root -name '*.la' -delete
gmake -j$(sysctl -n hw.ncpu) TUI=1 gmake -j$(sysctl -n hw.ncpu) ROOTFUL=1
cp src/palera1n palera1n-${{ matrix.os }}-${{ matrix.arch }} cp src/palera1n palera1n-${{ matrix.os }}-${{ matrix.arch }}
dsymutil palera1n-${{ matrix.os }}-${{ matrix.arch }} dsymutil palera1n-${{ matrix.os }}-${{ matrix.arch }}
strip palera1n-${{ matrix.os }}-${{ matrix.arch }} strip palera1n-${{ matrix.os }}-${{ matrix.arch }}
- name: Build palera1n (Development) - name: Build palera1n (Development)
run: | run: |
CC="${{ matrix.triple }}-gcc" gmake -j$(sysctl -n hw.ncpu) clean gmake -j$(sysctl -n hw.ncpu) clean
CC="${{ matrix.triple }}-gcc" gmake -j$(sysctl -n hw.ncpu) DEV_BUILD=1 TUI=1 ROOTFUL=1 gmake -j$(sysctl -n hw.ncpu) DEV_BUILD=1 TUI=1 ROOTFUL=1
cp src/palera1n palera1n-${{ matrix.os }}-${{ matrix.arch }}.development cp src/palera1n palera1n-${{ matrix.os }}-${{ matrix.arch }}.development
- name: Prepare artifact - name: Prepare artifact
@@ -324,7 +371,12 @@ jobs:
name: palera1n-${{ matrix.os }}-${{ matrix.arch }}.dSYM name: palera1n-${{ matrix.os }}-${{ matrix.arch }}.dSYM
path: palera1n-${{ matrix.os }}-${{ matrix.arch }}.dSYM path: palera1n-${{ matrix.os }}-${{ matrix.arch }}.dSYM
retention-days: 1 retention-days: 1
- name: Generate cached sysroot archive
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: |
tar -c sysroot | xz -zce9T 0 > sysroot-${{ env.CACHE_TXT_CHECKSUM }}.txz
darwin-dist: darwin-dist:
if: ${{ github.event_name != 'pull_request' }} if: ${{ github.event_name != 'pull_request' }}
runs-on: macos-latest runs-on: macos-latest
@@ -481,6 +533,12 @@ jobs:
LIBUSB_VERSION: 1.0.27 LIBUSB_VERSION: 1.0.27
READLINE_VERSION: 8.2 READLINE_VERSION: 8.2
GPM_VERSION: 1.20.7 GPM_VERSION: 1.20.7
LIBIMOBILEDEVICE_COMMIT: ed0d66d0341562731bb19928dfe48155509fa7a7
LIBIRECOVERY_COMMIT: 7ce02c347b7c26e59498e6af31c9da51018d0fa1
LIBIMOBILEDEVICE_GLUE_COMMIT: 362f7848ac89b74d9dd113b38b51ecb601f76094
USBMUXD_COMMIT: bc0b91ca856811f4393318dc83db6dc3c1ac326d
LIBPLIST_COMMIT: 2117b8fdb6b4096455bd2041a63e59a028120136
LIBUSBMUXD_COMMIT: a7f0543fb1ecb20ac7121c0fd77297200e0e43fc
steps: steps:
- name: Checkout - name: Checkout
@@ -543,10 +601,41 @@ jobs:
echo "PREFIX=/usr/local" >> $GITHUB_ENV echo "PREFIX=/usr/local" >> $GITHUB_ENV
echo "CONFIGURE_ARGS=--build=x86_64-linux-gnu --host=${{ matrix.triple }} --prefix=/usr/local --disable-shared --enable-static" >> $GITHUB_ENV echo "CONFIGURE_ARGS=--build=x86_64-linux-gnu --host=${{ matrix.triple }} --prefix=/usr/local --disable-shared --enable-static" >> $GITHUB_ENV
echo "CROSS_COMPILE=${{ matrix.triple }}-" >> $GITHUB_ENV echo "CROSS_COMPILE=${{ matrix.triple }}-" >> $GITHUB_ENV
- name: Check dependencies cache
run: |
echo "target: ${{ matrix.triple }}" > cache.txt
echo "mbedtls ${{ env.MBEDTLS_VERSION }}" >> cache.txt
echo "readline: ${{ env.READLINE_VERSION }}" >> cache.txt
echo "libimobiledevice: ${{ env.LIBIMOBILEDEVICE_COMMIT }}" >> cache.txt
echo "libirecovery: ${{ env.LIBIRECOVERY_COMMIT }}" >> cache.txt
echo "libimobiledevice-glue: ${{ env.LIBIMOBILEDEVICE_GLUE_COMMIT }}" >> cache.txt
echo "libplist: ${{ env.LIBPLIST_COMMIT }}" >> cache.txt
echo "libusbmuxd: ${{ env.LIBUSBMUXD_COMMIT }}" >> cache.txt
echo "usbmuxd: ${{ env.USBMUXD_COMMIT }}" >> cache.txt
echo "cc: $(${{ env.CROSS_COMPILE }}gcc --version)" >> cache.txt
echo "CACHE_TXT_CHECKSUM=sysroot-$(sha512sum cache.txt | cut -d' ' -f1)" >> $GITHUB_ENV
- name: Download cached sysroot
id: sysroot_cache
uses: actions/cache@v3
with:
path: sysroot-${{ env.CACHE_TXT_CHECKSUM }}.txz
key: sysroot-${{ env.CACHE_TXT_CHECKSUM }}
- name: Extract cached sysroot
if: steps.sysroot_cache.outputs.cache-hit == 'true'
run: |
xz -dcT0 sysroot-${{ env.CACHE_TXT_CHECKSUM }}.txz | tar -x
- name: Setup sysroot
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: |
mkdir -p $(pwd)/sysroot/usr/local/lib mkdir -p $(pwd)/sysroot/usr/local/lib
ln -sf $(pwd)/sysroot/usr/local/lib{,64} ln -sf $(pwd)/sysroot/usr/local/lib{,64}
- name: Download dependencies (source code) - name: Download dependencies (source code)
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: | run: |
curl -LOOOOOOO \ curl -LOOOOOOO \
https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v${{ env.MBEDTLS_VERSION }}.tar.gz \ https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v${{ env.MBEDTLS_VERSION }}.tar.gz \
@@ -564,8 +653,15 @@ jobs:
git clone --depth=1 https://github.com/libimobiledevice/libusbmuxd git clone --depth=1 https://github.com/libimobiledevice/libusbmuxd
git clone --depth=1 https://github.com/libimobiledevice/libimobiledevice git clone --depth=1 https://github.com/libimobiledevice/libimobiledevice
git clone --depth=1 https://github.com/libimobiledevice/usbmuxd git clone --depth=1 https://github.com/libimobiledevice/usbmuxd
cd libplist && git fetch origin ${{ env.LIBPLIST_COMMIT }} && git reset --hard ${{ env.LIBPLIST_COMMIT }} && cd ..
cd libirecovery && git fetch origin ${{ env.LIBIRECOVERY_COMMIT }} && git reset --hard ${{ env.LIBIRECOVERY_COMMIT }} && cd ..
cd libimobiledevice-glue && git fetch origin ${{ env.LIBIMOBILEDEVICE_GLUE_COMMIT }} && git reset --hard ${{ env.LIBIMOBILEDEVICE_GLUE_COMMIT }} && cd ..
cd usbmuxd && git fetch origin ${{ env.USBMUXD_COMMIT }} && git reset --hard ${{ env.USBMUXD_COMMIT }} && cd ..
cd libimobiledevice && git fetch origin ${{ env.LIBIMOBILEDEVICE_COMMIT }} && git reset --hard ${{ env.LIBIMOBILEDEVICE_COMMIT }} && cd ..
cd libusbmuxd && git fetch origin ${{ env.LIBUSBMUXD_COMMIT }} && git reset --hard ${{ env.LIBUSBMUXD_COMMIT }} && cd ..
- name: Build Mbed TLS - name: Build Mbed TLS
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: | run: |
cd mbedtls-${{ env.MBEDTLS_VERSION }} cd mbedtls-${{ env.MBEDTLS_VERSION }}
cat ../patches/mbedtls/0001-Allow-empty-x509-cert-issuer.patch | patch -sN -d . -p1 cat ../patches/mbedtls/0001-Allow-empty-x509-cert-issuer.patch | patch -sN -d . -p1
@@ -590,6 +686,7 @@ jobs:
cd .. cd ..
- name: Build libusb - name: Build libusb
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: | run: |
cd libusb-${{ env.LIBUSB_VERSION }} cd libusb-${{ env.LIBUSB_VERSION }}
./configure ${{ env.CONFIGURE_ARGS }} --disable-udev ./configure ${{ env.CONFIGURE_ARGS }} --disable-udev
@@ -598,6 +695,7 @@ jobs:
cd .. cd ..
- name: Build readline - name: Build readline
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: | run: |
cd readline-${{ env.READLINE_VERSION }} cd readline-${{ env.READLINE_VERSION }}
./configure ${{ env.CONFIGURE_ARGS }} ./configure ${{ env.CONFIGURE_ARGS }}
@@ -606,6 +704,7 @@ jobs:
cd .. cd ..
- name: Build GPM - name: Build GPM
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: | run: |
cd gpm-${{ env.GPM_VERSION }} cd gpm-${{ env.GPM_VERSION }}
cat ../patches/gpm/*.patch | patch -sN -d . -p1 cat ../patches/gpm/*.patch | patch -sN -d . -p1
@@ -617,6 +716,7 @@ jobs:
cd .. cd ..
- name: Build libplist - name: Build libplist
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: | run: |
cd libplist cd libplist
autoreconf -fiv autoreconf -fiv
@@ -626,6 +726,7 @@ jobs:
cd .. cd ..
- name: Build libimobiledevice-glue - name: Build libimobiledevice-glue
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: | run: |
cd libimobiledevice-glue cd libimobiledevice-glue
autoreconf -fiv autoreconf -fiv
@@ -635,6 +736,7 @@ jobs:
cd .. cd ..
- name: Build libirecovery (sorta) - name: Build libirecovery (sorta)
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: | run: |
sudo mv /usr/local /usr/local.bak sudo mv /usr/local /usr/local.bak
sudo ln -s ${{ env.DESTDIR }}${{ env.PREFIX }} /usr/local sudo ln -s ${{ env.DESTDIR }}${{ env.PREFIX }} /usr/local
@@ -648,6 +750,7 @@ jobs:
cd .. cd ..
- name: Build libusbmuxd - name: Build libusbmuxd
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: | run: |
cd libusbmuxd cd libusbmuxd
autoreconf -fiv autoreconf -fiv
@@ -657,10 +760,11 @@ jobs:
cd .. cd ..
- name: Build libimobiledevice - name: Build libimobiledevice
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: | run: |
cd libimobiledevice cd libimobiledevice
autoreconf -fiv autoreconf -fiv
./configure ${{ env.CONFIGURE_ARGS }} --with-mbedtls --enable-debug ./configure ${{ env.CONFIGURE_ARGS }} --with-mbedtls --disable-debug --disable-wireless-pairing
echo -e 'all:\ninstall:' > tools/Makefile echo -e 'all:\ninstall:' > tools/Makefile
make -j$(nproc) make -j$(nproc)
make -j$(nproc) install DESTDIR=${{ env.DESTDIR }} make -j$(nproc) install DESTDIR=${{ env.DESTDIR }}
@@ -669,6 +773,7 @@ jobs:
sudo mv /usr/local.bak /usr/local sudo mv /usr/local.bak /usr/local
- name: Build usbmuxd - name: Build usbmuxd
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: | run: |
cd usbmuxd cd usbmuxd
autoreconf -fiv autoreconf -fiv
@@ -689,7 +794,7 @@ jobs:
cp -a ${{ env.DESTDIR }}/${{ env.PREFIX }}/{include,lib} dep_root cp -a ${{ env.DESTDIR }}/${{ env.PREFIX }}/{include,lib} dep_root
find dep_root -name '*.so' -delete find dep_root -name '*.so' -delete
find dep_root -name '*.la' -delete find dep_root -name '*.la' -delete
CC="${{ matrix.triple }}-gcc" make -j$(nproc) TUI=1 CC="${{ matrix.triple }}-gcc" make -j$(nproc) ROOTFUL=1
cp src/palera1n palera1n.release cp src/palera1n palera1n.release
- name: Seperate debug symbols - name: Seperate debug symbols
@@ -702,7 +807,7 @@ jobs:
- name: Build palera1n (Development) - name: Build palera1n (Development)
run: | run: |
CC="${{ matrix.triple }}-gcc" make -j$(nproc) clean CC="${{ matrix.triple }}-gcc" make -j$(nproc) clean
CC="${{ matrix.triple }}-gcc" make -j$(nproc) DEV_BUILD=1 TUI=1 ROOTFUL=1 CC="${{ matrix.triple }}-gcc" make -j$(nproc) DEV_BUILD=1 ROOTFUL=1
cp src/palera1n palera1n.development cp src/palera1n palera1n.development
- name: Prepare artifact - name: Prepare artifact
@@ -767,6 +872,11 @@ jobs:
localDir: 'usbmuxd-static/' localDir: 'usbmuxd-static/'
remoteDir: "/palera1n/artifacts/usbmuxd-static" remoteDir: "/palera1n/artifacts/usbmuxd-static"
- name: Generate cached sysroot archive
if: steps.sysroot_cache.outputs.cache-hit != 'true'
run: |
tar -c sysroot | xz -zce9T 0 > sysroot-${{ env.CACHE_TXT_CHECKSUM }}.txz
finish-build: finish-build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: ${{ github.event_name != 'pull_request' }} if: ${{ github.event_name != 'pull_request' }}
+1
View File
@@ -4,6 +4,7 @@ dep_root/**
!contrib/.keep !contrib/.keep
contrib/ contrib/
*.o *.o
dep_root*.tgz
.vscode .vscode
checkra1n* checkra1n*
payload.c payload.c
+2 -5
View File
@@ -3,7 +3,7 @@ DEP = $(SRC)/dep_root
STRIP = strip STRIP = strip
CC ?= cc CC ?= cc
CFLAGS += -isystem $(DEP)/include -I$(SRC)/include -I$(SRC) -D_XOPEN_SOURCE=500 CFLAGS += -isystem $(DEP)/include -I$(SRC)/include -I$(SRC) -D_XOPEN_SOURCE=500
CFLAGS += -Wall -Wextra -Wno-unused-parameter -DPALERAIN_VERSION=\"2.0\" -DHAVE_LIBIMOBILEDEVICE CFLAGS += -Wall -Wextra -Wno-unused-parameter -DPALERAIN_VERSION=\"2.0.1\" -DHAVE_LIBIMOBILEDEVICE
CFLAGS += -Wno-unused-variable -I$(SRC)/src -std=c99 -pedantic-errors -D_C99_SOURCE -D_POSIX_C_SOURCE=200112L CFLAGS += -Wno-unused-variable -I$(SRC)/src -std=c99 -pedantic-errors -D_C99_SOURCE -D_POSIX_C_SOURCE=200112L
LIBS += $(DEP)/lib/libimobiledevice-1.0.a $(DEP)/lib/libirecovery-1.0.a $(DEP)/lib/libusbmuxd-2.0.a LIBS += $(DEP)/lib/libimobiledevice-1.0.a $(DEP)/lib/libirecovery-1.0.a $(DEP)/lib/libusbmuxd-2.0.a
LIBS += $(DEP)/lib/libimobiledevice-glue-1.0.a $(DEP)/lib/libplist-2.0.a -pthread -lm LIBS += $(DEP)/lib/libimobiledevice-glue-1.0.a $(DEP)/lib/libplist-2.0.a -pthread -lm
@@ -59,15 +59,12 @@ ifneq ($(BAKERAIN_DEVELOPE_R),)
CFLAGS += -DBAKERAIN_DEVELOPE_R="\"$(BAKERAIN_DEVELOPE_R)\"" CFLAGS += -DBAKERAIN_DEVELOPE_R="\"$(BAKERAIN_DEVELOPE_R)\""
endif endif
BUILD_DATE := $(shell LANG=C date)
BUILD_NUMBER := $(shell git rev-list --count HEAD) BUILD_NUMBER := $(shell git rev-list --count HEAD)
BUILD_TAG := $(shell git describe --dirty --tags --abbrev=7) BUILD_TAG := $(shell git describe --dirty --tags --abbrev=7)
BUILD_WHOAMI := $(shell whoami)
BUILD_BRANCH := $(shell git rev-parse --abbrev-ref HEAD) BUILD_BRANCH := $(shell git rev-parse --abbrev-ref HEAD)
BUILD_COMMIT := $(shell git rev-parse HEAD) BUILD_COMMIT := $(shell git rev-parse HEAD)
CFLAGS += -DBUILD_STYLE="\"$(BUILD_STYLE)\"" -DBUILD_DATE="\"$(BUILD_DATE)\"" CFLAGS += -DBUILD_STYLE="\"$(BUILD_STYLE)\"" -DBUILD_TAG="\"$(BUILD_TAG)\""
CFLAGS += -DBUILD_WHOAMI="\"$(BUILD_WHOAMI)\"" -DBUILD_TAG="\"$(BUILD_TAG)\""
CFLAGS += -DBUILD_NUMBER="\"$(BUILD_NUMBER)\"" -DBUILD_BRANCH="\"$(BUILD_BRANCH)\"" CFLAGS += -DBUILD_NUMBER="\"$(BUILD_NUMBER)\"" -DBUILD_BRANCH="\"$(BUILD_BRANCH)\""
CFLAGS += -DBUILD_COMMIT="\"$(BUILD_COMMIT)\"" CFLAGS += -DBUILD_COMMIT="\"$(BUILD_COMMIT)\""
+41 -1
View File
@@ -30,6 +30,8 @@ Jailbreak for A8 through A11, T2 devices, on iOS/iPadOS/tvOS 15.0, bridgeOS 5.0
| iPhone 8 | iPad Pro (12.9") (1st generation) | | | | iPhone 8 | iPad Pro (12.9") (1st generation) | | |
| iPhone 8 Plus | iPad Pro (10.5") | | | | iPhone 8 Plus | iPad Pro (10.5") | | |
| iPhone X | iPad Pro (12.9") (2nd generation) | | | | iPhone X | iPad Pro (12.9") (2nd generation) | | |
| | iPad Air 2 | | |
> Note that on `A11` (iPhone X, 8, 8 Plus), **you must disable your passcode while in the jailbroken state** (on iOS 16, you need to **reset your device** before proceeding with palera1n). > Note that on `A11` (iPhone X, 8, 8 Plus), **you must disable your passcode while in the jailbroken state** (on iOS 16, you need to **reset your device** before proceeding with palera1n).
@@ -76,12 +78,44 @@ Jailbreak for A8 through A11, T2 devices, on iOS/iPadOS/tvOS 15.0, bridgeOS 5.0
> USB-C port on Apple Silicon Macs *may* require manual unplugging and replugging of the lightning cable after checkm8 exploit. This problem may be solved by connecting via USB hub, though extensions can vary. > USB-C port on Apple Silicon Macs *may* require manual unplugging and replugging of the lightning cable after checkm8 exploit. This problem may be solved by connecting via USB hub, though extensions can vary.
## Usage
```
Usage: palera1n [-DEhpvVdsSLRnPI] [-e boot arguments] [-k Pongo image] [-o overlay file] [-r ramdisk file] [-K KPF file] [-i checkra1n file]
--version Print version
--force-revert Remove jailbreak
-d, --demote Demote
-D, --dfuhelper Exit after entering DFU
-e, --boot-args <boot arguments> XNU boot arguments
-E, --enter-recovery Enter recovery mode
-h, --help Show this help
-i, --override-checkra1n <file> Override checkra1n
-k, --override-pongo <file> Override Pongo image
-K, --override-kpf <file> Override kernel patchfinder
-L, --jbinit-log-to-file Make jbinit log to /cores/jbinit.log (can be read from sandbox while jailbroken)
-n, --exit-recovery Exit recovery mode
-I, --device-info Print info about the connected device
-o, --override-overlay <file> Override overlay
-p, --pongo-shell Boots to PongoOS shell
-P, --pongo-full Boots to a PongoOS shell with default images already uploaded
-r, --override-ramdisk <file> Override ramdisk
-R, --reboot-device Reboot connected device in normal mode
-s, --safe-mode Enter safe mode
-S, --no-colors Disable colors on the command line
-v, --debug-logging Enable debug logging
This option can be repeated for extra verbosity.
-V, --verbose-boot Verbose boot
Environmental variables:
TMPDIR temporary diretory (path the built-in checkra1n will be extracted to)
```
## Installing ## Installing
Visit https://palera.in Visit https://palera.in
## Disclaimers ## Disclaimers
We are **NOT** responsible for any data loss, or the result of a device being bricked. When using palera1n, the user should accept responsibility if anything happens to their device during the process. We are **NOT** responsible for any data loss, or the result of a device being bricked. When using palera1n, the user should accept responsibility if anything happens to their device during the process.
- If your device is stuck in recovery, please run futurerestore `--exit-recovery`, or use `irecovery -n`. - If your device is stuck in recovery, please run futurerestore `--exit-recovery`, or use `irecovery -n`, or `palera1n -n`.
- If you're unable to get out of recovery via these methods please restore with iTunes or Finder. - If you're unable to get out of recovery via these methods please restore with iTunes or Finder.
- palera1n **will not work** in VirtualBox, VMware or any virtual machine that doesn't support PCI passthrough. - palera1n **will not work** in VirtualBox, VMware or any virtual machine that doesn't support PCI passthrough.
@@ -94,3 +128,9 @@ Make sure you're following the guides provided [here](https://palera.in), also w
- Panic logs, if panicked then send latest `panic-full` log from your device. - Panic logs, if panicked then send latest `panic-full` log from your device.
Create an issue here: https://github.com/palera1n/palera1n/issues/new/choose Create an issue here: https://github.com/palera1n/palera1n/issues/new/choose
## Credits
[All credits for palera1n can be found here](https://palera.in/)
If proper credit isn't shown please message us or create an issue.
+10 -21
View File
@@ -2,11 +2,11 @@
.\" Copyright (c) 2024 Nick Chan .\" Copyright (c) 2024 Nick Chan
.\" SPDX-License-Identifier: MIT .\" SPDX-License-Identifier: MIT
.\" .\"
.Dd "30 March 2024" .Dd "24 July 2024"
.Dt palera1n 1 .Dt palera1n 1
.Sh NAME .Sh NAME
.Nm palera1n .Nm palera1n
.Nd arm64 iOS/iPadOS/tvOS 15.0-17.5, bridgeOS 5.0-8.3 jailbreaking tool .Nd arm64 iOS/iPadOS/tvOS 15.0-18.0, bridgeOS 5.0-9.0 jailbreaking tool
.Sh SYNOPSIS .Sh SYNOPSIS
.Nm .Nm
.Op Fl cCdDEfhIlLnpRsSTvV .Op Fl cCdDEfhIlLnpRsSTvV
@@ -20,7 +20,7 @@
.Op Fl -force-revert .Op Fl -force-revert
.Sh DESCRIPTION .Sh DESCRIPTION
.Nm .Nm
jailbreaks an iOS/iPadOS/tvOS 15.0-17.5, bridgeOS 6.0-8.3 device with an arm64 (arm64e excluded) on iOS 15.0-17.5, jailbreaks an arm64 (arm64e excluded) iOS/iPadOS/tvOS 15.0-18.0, bridgeOS 5.0-9.0 device,
utilizing the utilizing the
.Em checkm8 .Em checkm8
bootROM exploit. bootROM exploit.
@@ -57,7 +57,7 @@ In the remainder of this document, the term "iOS" and "iPadOS" will be used inte
as the difference is negligible as far as the jailbreak is concerened. as the difference is negligible as far as the jailbreak is concerened.
.Pp .Pp
.Sh SUPPORTED DEVICES .Sh SUPPORTED DEVICES
As described above, arm64 iOS 15.0-17.5 devices are supported, here is an explicit As described above, arm64 iOS 15.0-18.0 devices are supported, here is an explicit
list of supported devicecs: list of supported devicecs:
.Bl -tag -compact .Bl -tag -compact
@@ -155,18 +155,13 @@ Set the effective production fuse to 0, so as to enable hardware debugging featu
Execute the DFU helper to guide the user into putting the device into DFU mode Execute the DFU helper to guide the user into putting the device into DFU mode
then exit. then exit.
.It Fl e , -boot-args Ar boot arguments .It Fl e , -boot-args Ar boot arguments
Specify custom XNU kernel command line. The Specify custom XNU kernel command line. Additionally, the
.Em rootdev=md0
argument is used by
.Nm
and cannot be overriden. Additionally, the
.Em wdt=-1 .Em wdt=-1
argument is used during fakefs setup. argument is used during fakefs setup.
.It Fl E , -enter-recovery .It Fl E , -enter-recovery
Exit after entering recovery mode. Exit after entering recovery mode.
.It Fl f , -fakefs .It Fl f , -fakefs
Proceed in rootful mode. This applies to both full, partial fakefs, as well as realfs. Proceed in rootful mode. Despite its name, this applies to both full, partial fakefs, as well as realfs, and it still applies even when trying to force revert.
This option is not supported on iOS/iPadOS 17.
.It Fl h , -help .It Fl h , -help
Prints help text. Prints help text.
.It Fl i , -checkra1n-file Ar checkra1n file .It Fl i , -checkra1n-file Ar checkra1n file
@@ -184,10 +179,6 @@ command. If in doubt, use
iOS15 branch or your own fork of it. iOS15 branch or your own fork of it.
.It Fl l , -rootless .It Fl l , -rootless
Proceed in rootless mode. This option is only supported on iOS/iPadOS. Proceed in rootless mode. This option is only supported on iOS/iPadOS.
.It Fl L , -jbinit-log-to-file
This option is not currently supported and is a no-operation in this version of
.Nm
\[char46]
.It Fl n , -exit-recovery .It Fl n , -exit-recovery
Exit recovery mode and exit. Exit recovery mode and exit.
.It Fl o , -override-overlay Ar overlay file .It Fl o , -override-overlay Ar overlay file
@@ -242,13 +233,13 @@ is extracted and executed here. When not set, /tmp is used.
.Sh EXAMPLES .Sh EXAMPLES
To (re-)jailbreak in rootless mode: To (re-)jailbreak in rootless mode:
.Pp .Pp
.Dl "palera1n" .Dl "palera1n -l"
.Pp .Pp
To setup fakefs for rootful mode: To setup fakefs for rootful mode:
.Pp .Pp
.Dl "palera1n -fc" .Dl "palera1n -fc"
.Pp .Pp
After the device has rebooted, follow the following example. After the device has rebooted into recovery mode, follow the following example.
.Pp .Pp
To re-jailbreak in rootful mode: To re-jailbreak in rootful mode:
.Pp .Pp
@@ -305,7 +296,7 @@ option might cause some versions for tvOS to crash and not boot.
Offical Apple USB-C cables as well as some other USB-C cables cannot be used to enter DFU mode. Offical Apple USB-C cables as well as some other USB-C cables cannot be used to enter DFU mode.
USB-A cable with male USB-C to female USB-A adapter works fine. USB-A cable with male USB-C to female USB-A adapter works fine.
.Sh POST INSTALLATION (iOS/iPadOS) .Sh POST INSTALLATION (iOS/iPadOS)
The palera1n loader app will take up to 30 seconds to appear on the homescreen after the The palera1n loader app will take up to 1 minute to appear on the homescreen after the
device has booted. If it does not appear, you can try using the shortcut: device has booted. If it does not appear, you can try using the shortcut:
.Pp .Pp
.Lk https://www.icloud.com/shortcuts/8cd5f489c8854ee0ab9ee38f2e62f87d .Lk https://www.icloud.com/shortcuts/8cd5f489c8854ee0ab9ee38f2e62f87d
@@ -333,7 +324,7 @@ loader app to install additional jailbreak files.
.Bl -tag -width "/var/jb/Library/LaunchDaemons" .Bl -tag -width "/var/jb/Library/LaunchDaemons"
.It Pa /cores .It Pa /cores
The location of the temporary filesystem where jailbreak files are stash during boot. The location of the temporary filesystem where jailbreak files are stashed during boot.
.It Pa /Library/LaunchDaemons .It Pa /Library/LaunchDaemons
The directory where jailbreak-specific The directory where jailbreak-specific
.Xr launchd.plist 5 .Xr launchd.plist 5
@@ -359,8 +350,6 @@ may crash if the machine it is running on:
.Pp .Pp
The exploit may also work less reliably on some hosts, like AMD desktops, or some MediaTek devices. The exploit may also work less reliably on some hosts, like AMD desktops, or some MediaTek devices.
.Pp .Pp
The device may randomly crash and reboot due to launchd using too much memory.
.Pp
The built-in SSH server might be not accessible with password after bootstrapping rootful, The built-in SSH server might be not accessible with password after bootstrapping rootful,
since the bootstrap uses a custom crypt() function that is not supported since the bootstrap uses a custom crypt() function that is not supported
by the built-in SSH server. by the built-in SSH server.
+1 -1
View File
@@ -72,7 +72,7 @@ usb_ret_t USBBulkUpload(usb_device_handle_t handle, void *data, uint32_t len);
#endif #endif
#ifndef PALERAIN_VERSION #ifndef PALERAIN_VERSION
#define PALERAIN_VERSION "2.0" #define PALERAIN_VERSION "2.0.1"
#endif #endif
#if defined(__APPLE__) #if defined(__APPLE__)
+4 -9
View File
@@ -57,8 +57,8 @@ static struct option longopts[] = {
#endif #endif
#ifdef TUI #ifdef TUI
{"tui", no_argument, NULL, 't'}, {"tui", no_argument, NULL, 't'},
{"cli", no_argument, NULL, palerain_option_case_cli},
#endif #endif
{"cli", no_argument, NULL, palerain_option_case_cli},
{NULL, 0, NULL, 0} {NULL, 0, NULL, 0}
}; };
@@ -78,7 +78,7 @@ static int usage(int e, char* prog_name)
#endif #endif
"] [-e boot arguments] [-k Pongo image] [-o overlay file] [-r ramdisk file] [-K KPF file] [-i checkra1n file]\n" "] [-e boot arguments] [-k Pongo image] [-o overlay file] [-r ramdisk file] [-K KPF file] [-i checkra1n file]\n"
"Copyright (C) 2024, palera1n team, All Rights Reserved.\n\n" "Copyright (C) 2024, palera1n team, All Rights Reserved.\n\n"
"iOS/iPadOS/tvOS 15.0-17.5, bridgeOS 5.0-8.3 arm64 jailbreaking tool\n\n" "iOS/iPadOS/tvOS 15.0-18.0, bridgeOS 5.0-9.0 arm64 jailbreaking tool\n\n"
"\t--version\t\t\t\tPrint version\n" "\t--version\t\t\t\tPrint version\n"
"\t--force-revert\t\t\t\tRemove jailbreak\n" "\t--force-revert\t\t\t\tRemove jailbreak\n"
#ifdef DEV_BUILD #ifdef DEV_BUILD
@@ -181,10 +181,7 @@ int optparse(int argc, char* argv[]) {
#endif #endif
break; break;
case 'e': case 'e':
if (strstr(optarg, "rootdev=") != NULL) { if (strlen(optarg) > (sizeof(xargs_cmd) - 0x20)) {
LOG(LOG_FATAL, "The boot arg rootdev= is already used by palera1n and cannot be overriden");
return -1;
} else if (strlen(optarg) > (sizeof(xargs_cmd) - 0x20)) {
LOG(LOG_FATAL, "Boot arguments too long"); LOG(LOG_FATAL, "Boot arguments too long");
return -1; return -1;
} }
@@ -313,10 +310,10 @@ int optparse(int argc, char* argv[]) {
case 't': case 't':
palerain_flags |= palerain_option_tui; palerain_flags |= palerain_option_tui;
break; break;
#endif
case palerain_option_case_cli: case palerain_option_case_cli:
palerain_flags |= palerain_option_cli; palerain_flags |= palerain_option_cli;
break; break;
#endif
#ifdef DEV_BUILD #ifdef DEV_BUILD
case '1': case '1':
palerain_flags |= palerain_option_test1; palerain_flags |= palerain_option_test1;
@@ -351,10 +348,8 @@ int optparse(int argc, char* argv[]) {
printf( printf(
"palera1n " PALERAIN_VERSION "\n" "palera1n " PALERAIN_VERSION "\n"
BUILD_COMMIT " " BUILD_NUMBER " (" BUILD_BRANCH ")\n\n" BUILD_COMMIT " " BUILD_NUMBER " (" BUILD_BRANCH ")\n\n"
"Build date: " BUILD_DATE "\n"
"Build style: " BUILD_STYLE "\n" "Build style: " BUILD_STYLE "\n"
"Build tag: " BUILD_TAG "\n" "Build tag: " BUILD_TAG "\n"
"Built by: " BUILD_WHOAMI "\n"
#ifdef USE_LIBUSB #ifdef USE_LIBUSB
"USB backend: libusb\n" "USB backend: libusb\n"
#else #else
+2 -2
View File
@@ -114,10 +114,10 @@ void *pongo_usb_callback(stuff_t *arg) {
#ifdef ROOTFUL #ifdef ROOTFUL
if ((palerain_flags & palerain_option_setup_partial_root)) { if ((palerain_flags & palerain_option_setup_partial_root)) {
LOG(LOG_INFO, "Please wait up to 5 minutes for the bindfs to be created."); LOG(LOG_INFO, "Please wait up to 5 minutes for the bindfs to be created.");
LOG(LOG_INFO, "Once the device boots up to iOS, run again without the -B (Create BindFS) option to jailbreak."); LOG(LOG_INFO, "Once the device reboots into recovery mode, run again without the -B (Create BindFS) option to jailbreak.");
} else if ((palerain_flags & palerain_option_setup_rootful)) { } else if ((palerain_flags & palerain_option_setup_rootful)) {
LOG(LOG_INFO, "Please wait up to 10 minutes for the fakefs to be created."); LOG(LOG_INFO, "Please wait up to 10 minutes for the fakefs to be created.");
LOG(LOG_INFO, "Once the device boots up to iOS, run again without the -c (Create FakeFS) option to jailbreak."); LOG(LOG_INFO, "Once the device reboots into recovery mode, run again without the -c (Create FakeFS) option to jailbreak.");
} }
#endif #endif
if (dfuhelper_thr_running) { if (dfuhelper_thr_running) {