More updates

- rename from libimobiledevice_macos to just libimobiledevice
- update saved/pkg to saved/lib
- some message updates
- update baseband saved location
- add 21.04 hirsute in advance
- add message that 16.04 is eol and no longer supported
This commit is contained in:
LukeZGD 2021-03-25 10:29:47 +08:00
parent 9ba9be6b41
commit 418cc3c091
2 changed files with 33 additions and 29 deletions

View File

@ -75,14 +75,12 @@
6. Follow instructions 6. Follow instructions
## Supported OS versions/distros: ## Supported OS versions/distros:
- Ubuntu [20.04](http://releases.ubuntu.com/focal/) and [20.10](https://releases.ubuntu.com/groovy/); and Ubuntu-based distros like [Linux Mint](https://www.linuxmint.com/) - **Ubuntu** [18.04](https://releases.ubuntu.com/bionic/), [20.04](https://releases.ubuntu.com/focal/), [20.10](https://releases.ubuntu.com/groovy/), [21.04](https://releases.ubuntu.com/hirsute/); and Ubuntu-based distros like [Linux Mint](https://www.linuxmint.com/)
- Ubuntu [16.04](http://releases.ubuntu.com/xenial/) and [18.04](http://releases.ubuntu.com/bionic/) - [**Arch Linux**](https://www.archlinux.org/) and Arch-based distros like [EndeavourOS](https://endeavouros.com/)
- Use 20.04 and newer as older versions are untested - [**Fedora** 32 to 33](https://getfedora.org/)
- [Arch Linux](https://www.archlinux.org/) and Arch-based distros like [EndeavourOS](https://endeavouros.com/) - **openSUSE** [Tumbleweed](https://software.opensuse.org/distributions/tumbleweed), [Leap 15.2](https://software.opensuse.org/distributions/leap)
- [Fedora 32 to 33](https://getfedora.org/) - [**Debian** Buster, Bullseye, Sid](https://www.debian.org/); and Debian-based distros like [MX Linux](https://mxlinux.org/)
- openSUSE [Tumbleweed](https://software.opensuse.org/distributions/tumbleweed), [Leap 15.2](https://software.opensuse.org/distributions/leap) - **macOS** 10.12 to 11
- [Debian Buster, Bullseye, Sid](https://www.debian.org/); and Debian-based distros like [MX Linux](https://mxlinux.org/)
- macOS 10.12 to 11
## Other notes: ## Other notes:
- If something in the process does not work for you, try switching USB ports and/or cables (also try using a USB 2.0 port) - If something in the process does not work for you, try switching USB ports and/or cables (also try using a USB 2.0 port)
@ -104,7 +102,7 @@
- This script can work on virtual machines, but I won't provide support for them - This script can work on virtual machines, but I won't provide support for them
- If you want to use manually saved blobs for 6.1.3/8.4.1, create a folder named `saved`, then within it create another folder named after your ProductType (example: `iPad2,1`). You can then put your blob inside that folder. - If you want to use manually saved blobs for 6.1.3/8.4.1, create a folder named `saved`, then within it create another folder named after your ProductType (example: `iPad2,1`). You can then put your blob inside that folder.
- The naming should be: `(ECID in Decimal)_(ProductType)_(Version)-(BuildVer).shsh(2)` - The naming should be: `(ECID in Decimal)_(ProductType)_(Version)-(BuildVer).shsh(2)`
- Example: `123456789012_iPad2,1_8.4.1_12H321.shsh` - Example: `123456789012_iPad2,1_8.4.1-12H321.shsh`
- For jailbreak option: - For jailbreak option:
- If you have problems with Cydia, remove the ultrasn0w repo and close Cydia using the app switcher, then try opening Cydia again - If you have problems with Cydia, remove the ultrasn0w repo and close Cydia using the app switcher, then try opening Cydia again
- If you can't find Cydia in your home screen, try accessing Cydia through Safari with `cydia://` and install "Jailbreak App Icons Fix" package ([Cydia repo](https://lukezgd.github.io/repo/)) - If you can't find Cydia in your home screen, try accessing Cydia through Safari with `cydia://` and install "Jailbreak App Icons Fix" package ([Cydia repo](https://lukezgd.github.io/repo/))

View File

@ -68,13 +68,13 @@ function Main {
macver=${1:-$(sw_vers -productVersion)} macver=${1:-$(sw_vers -productVersion)}
platform="macos" platform="macos"
bspatch="resources/tools/bspatch_macos" bspatch="resources/tools/bspatch_macos"
ideviceenterrecovery="resources/libimobiledevice_macos/ideviceenterrecovery" ideviceenterrecovery="resources/libimobiledevice/ideviceenterrecovery"
ideviceinfo="resources/libimobiledevice_macos/ideviceinfo" ideviceinfo="resources/libimobiledevice/ideviceinfo"
idevicerestore="resources/tools/idevicerestore_macos" idevicerestore="resources/tools/idevicerestore_macos"
iproxy="resources/libimobiledevice_macos/iproxy" iproxy="resources/libimobiledevice/iproxy"
ipsw="tools/ipsw_macos" ipsw="tools/ipsw_macos"
ipwnder32="resources/tools/ipwnder32_macos" ipwnder32="resources/tools/ipwnder32_macos"
irecovery="resources/libimobiledevice_macos/irecovery" irecovery="resources/libimobiledevice/irecovery"
irecoverychk=$irecovery irecoverychk=$irecovery
partialzip="resources/tools/partialzip_macos" partialzip="resources/tools/partialzip_macos"
python="python" python="python"
@ -112,7 +112,7 @@ function Main {
[ ! $ProductType ] && read -p "[Input] Enter ProductType (eg. iPad2,1): " ProductType [ ! $ProductType ] && read -p "[Input] Enter ProductType (eg. iPad2,1): " ProductType
UniqueChipID=$((16#$(echo $($irecovery -q | grep 'ECID' | cut -c 7-) | cut -c 3-))) UniqueChipID=$((16#$(echo $($irecovery -q | grep 'ECID' | cut -c 7-) | cut -c 3-)))
ProductVer='Unknown' ProductVer='Unknown'
[[ $RecoveryDevice == 1 ]] && Echo "* Your $ProductType is currently in recovery mode. To exit recovery, select Downgrade device, then select N to exit recovery" [[ $RecoveryDevice == 1 ]] && Echo "* Your $ProductType is currently in recovery mode. If you want to exit recovery, select Downgrade device, then select N to exit recovery"
else else
ProductType=$(echo "$ideviceinfo2" | grep 'ProductType' | cut -c 14-) ProductType=$(echo "$ideviceinfo2" | grep 'ProductType' | cut -c 14-)
[ ! $ProductType ] && ProductType=$($ideviceinfo | grep 'ProductType' | cut -c 14-) [ ! $ProductType ] && ProductType=$($ideviceinfo | grep 'ProductType' | cut -c 14-)
@ -566,17 +566,18 @@ function Downgrade {
if [[ $A7Device == 1 ]]; then if [[ $A7Device == 1 ]]; then
cp $IPSW/Firmware/$Baseband . cp $IPSW/Firmware/$Baseband .
elif [ $ProductType == iPhone5,1 ] && [[ $Baseband5 != 0 ]]; then elif [ $ProductType == iPhone5,1 ] && [[ $Baseband5 != 0 ]]; then
[ ! -e saved/$ProductType/$Baseband ] && unzip -o -j $IPSW.ipsw Firmware/$Baseband -d saved/$ProductType unzip -o -j $IPSW.ipsw Firmware/$Baseband -d .
cp saved/$ProductType/$Baseband .
cp $BuildManifest BuildManifest.plist cp $BuildManifest BuildManifest.plist
elif [ ! -e saved/$ProductType/$Baseband ]; then elif [ ! -e saved/baseband/$Baseband ]; then
Log "Downloading baseband..." Log "Downloading baseband..."
$partialzip $BasebandURL Firmware/$Baseband $Baseband $partialzip $BasebandURL Firmware/$Baseband $Baseband
$partialzip $BasebandURL BuildManifest.plist BuildManifest.plist $partialzip $BasebandURL BuildManifest.plist BuildManifest.plist
mkdir -p saved/$ProductType 2>/dev/null mkdir -p saved/$ProductType 2>/dev/null
cp $Baseband BuildManifest.plist saved/$ProductType mkdir -p saved/baseband 2>/dev/null
cp $Baseband saved/baseband
cp BuildManifest.plist saved/$ProductType
else else
cp saved/$ProductType/$Baseband saved/$ProductType/BuildManifest.plist . cp saved/baseband/$Baseband saved/$ProductType/BuildManifest.plist .
fi fi
BasebandSHA1L=$(shasum $Baseband | awk '{print $1}') BasebandSHA1L=$(shasum $Baseband | awk '{print $1}')
Log "Proceeding to futurerestore..." Log "Proceeding to futurerestore..."
@ -607,7 +608,7 @@ function Downgrade {
function InstallDependencies { function InstallDependencies {
mkdir tmp 2>/dev/null mkdir tmp 2>/dev/null
cd resources cd resources
rm -rf firmware ipwndfu lib/* libimobiledevice_$platform libirecovery rm -rf firmware ipwndfu lib/* libimobiledevice* libirecovery
cd ../tmp cd ../tmp
Log "Installing dependencies..." Log "Installing dependencies..."
@ -618,8 +619,9 @@ function InstallDependencies {
ln -sf /usr/lib/libzip.so.5 ../resources/lib/libzip.so.4 ln -sf /usr/lib/libzip.so.5 ../resources/lib/libzip.so.4
elif [[ $UBUNTU_CODENAME == "xenial" ]] || [[ $UBUNTU_CODENAME == "bionic" ]] || elif [[ $UBUNTU_CODENAME == "xenial" ]] || [[ $UBUNTU_CODENAME == "bionic" ]] ||
[[ $UBUNTU_CODENAME == "focal" ]] || [[ $UBUNTU_CODENAME == "groovy" ]] || [[ $UBUNTU_CODENAME == "focal" ]] || [[ $VERSION == "10 (buster)" ]] ||
[[ $VERSION == "10 (buster)" ]] || [[ $PRETTY_NAME == "Debian GNU/Linux bullseye/sid" ]]; then [[ $UBUNTU_CODENAME == "groovy" ]] || [[ $UBUNTU_CODENAME == "hirsute" ]] ||
[[ $PRETTY_NAME == "Debian GNU/Linux bullseye/sid" ]]; then
# Ubuntu, Debian # Ubuntu, Debian
[[ ! -z $UBUNTU_CODENAME ]] && sudo add-apt-repository universe [[ ! -z $UBUNTU_CODENAME ]] && sudo add-apt-repository universe
sudo apt update sudo apt update
@ -632,6 +634,10 @@ function InstallDependencies {
SaveFile https://github.com/LukeZGD/iOS-OTA-Downgrader-Keys/releases/download/tools/tools_linux_bionic.zip tools_linux_bionic.zip 959abbafacfdaddf87dd07683127da1dab6c835f SaveFile https://github.com/LukeZGD/iOS-OTA-Downgrader-Keys/releases/download/tools/tools_linux_bionic.zip tools_linux_bionic.zip 959abbafacfdaddf87dd07683127da1dab6c835f
unzip tools_linux_bionic.zip -d ../resources/tools unzip tools_linux_bionic.zip -d ../resources/tools
elif [[ $UBUNTU_CODENAME == "xenial" ]]; then elif [[ $UBUNTU_CODENAME == "xenial" ]]; then
Echo "* Ubuntu 16.04 (Xenial) is no longer supported and is at End-of-Life."
Echo "* You can still continue, but you will not get any help/support from me when errors occur"
Input "Press ENTER to continue anyway (or press Ctrl+C to cancel)"
read -s
sudo apt install -y libcurl3 libzip4 python libpng12-0 sudo apt install -y libcurl3 libzip4 python libpng12-0
SaveFile https://github.com/LukeZGD/iOS-OTA-Downgrader-Keys/releases/download/tools/tools_linux_xenial.zip tools_linux_xenial.zip b74861fd87511a92e36e27bf2ec3e1e83b6e8200 SaveFile https://github.com/LukeZGD/iOS-OTA-Downgrader-Keys/releases/download/tools/tools_linux_xenial.zip tools_linux_xenial.zip b74861fd87511a92e36e27bf2ec3e1e83b6e8200
unzip tools_linux_xenial.zip -d ../resources/tools unzip tools_linux_xenial.zip -d ../resources/tools
@ -688,9 +694,9 @@ function InstallDependencies {
ln -sf ../libirecovery/lib/libirecovery.so.3 ../resources/lib/libirecovery-1.0.so.3 ln -sf ../libirecovery/lib/libirecovery.so.3 ../resources/lib/libirecovery-1.0.so.3
ln -sf ../libirecovery/lib/libirecovery.so.3 ../resources/lib/libirecovery.so.3 ln -sf ../libirecovery/lib/libirecovery.so.3 ../resources/lib/libirecovery.so.3
else else
mkdir ../resources/libimobiledevice_$platform mkdir ../resources/libimobiledevice
unzip libimobiledevice.zip -d ../resources/libimobiledevice_$platform unzip libimobiledevice.zip -d ../resources/libimobiledevice
chmod +x ../resources/libimobiledevice_$platform/* chmod +x ../resources/libimobiledevice/*
fi fi
Log "Install script done! Please run the script again to proceed" Log "Install script done! Please run the script again to proceed"
@ -736,13 +742,13 @@ function SaveFile {
} }
function SavePkg { function SavePkg {
if [[ ! -d ../saved/pkg ]]; then if [[ ! -d ../saved/lib ]]; then
Log "Downloading packages..." Log "Downloading packages..."
SaveFile https://github.com/LukeZGD/iOS-OTA-Downgrader-Keys/releases/download/tools/depends2_linux.zip depends_linux.zip 38cf1db21c9aba88f0de95a1a7959ac2ac53c464 SaveFile https://github.com/LukeZGD/iOS-OTA-Downgrader-Keys/releases/download/tools/depends2_linux.zip depends_linux.zip 38cf1db21c9aba88f0de95a1a7959ac2ac53c464
mkdir -p ../saved/pkg mkdir -p ../saved/lib
unzip depends_linux.zip -d ../saved/pkg unzip depends_linux.zip -d ../saved/lib
fi fi
cp ../saved/pkg/* . cp ../saved/lib/* .
} }
function BasebandDetect { function BasebandDetect {