diff --git a/README.md b/README.md
index 1e0e02d..376f0d8 100644
--- a/README.md
+++ b/README.md
@@ -76,10 +76,9 @@
- iPod touch 6
- Restoring with powdersn0w is supported on the following devices:
- iPhone 4 GSM - targets iOS 4.3 to 7.1.1
- - iPhone 4 CDMA - targets iOS 4.2.6 to 7.1.1 (4.2.x is untested)
+ - iPhone 4 CDMA - targets iOS 5.0 to 7.1.1
- iPhone 4S, 5, 5C, iPad 2 Rev A, iPad 4, iPod touch 5 - targets iOS 5.0 to 9.3.5
- - iPad 1 - targets iOS 4.3.1 to 5.1
- - iPod touch 3 - targets iOS 4.3 to 5.1
+ - iPad 1, iPod touch 3 - targets iOS 4.3 to 5.1
- Using powdersn0w requires iOS 7.1.x blobs for your device
- For iPhone 5 and 5C, both 7.0.x and 7.1.x blobs can be used
- For iPad 4, only 7.0.x blobs can be used
diff --git a/restore.sh b/restore.sh
index 9d62891..e35067a 100755
--- a/restore.sh
+++ b/restore.sh
@@ -1570,11 +1570,14 @@ ipsw_preference_set() {
fi
# target version check
case $device_target_vers in
- 9.3.[1234] | 9.3 | 9.2* | 9.1 | 8* | 7* | 6* | 5* ) ipsw_canjailbreak=1;;
+ 9.3.[1234] | 9.3 | 9.2* | 9.1 | 8* | 7* | 6* | 5* | 4.1 ) ipsw_canjailbreak=1;;
esac
if [[ $device_target_powder == 1 ]] ||
+ [[ $device_type == "iPhone2,1" && $device_target_vers == "4"* && $device_target_other != 1 ]] ||
[[ $device_type == "iPhone3,1" && $device_target_vers == "4"* && $device_target_vers != "4.2.1" ]]; then
ipsw_canjailbreak=1
+ elif [[ $device_type == "iPhone3,1" && $device_target_vers == "4.2.1" ]]; then
+ :
elif [[ $device_target_other == 1 && $ipsw_canjailbreak != 1 ]]; then
return
fi
@@ -1582,7 +1585,7 @@ ipsw_preference_set() {
if [[ $device_target_vers == "3.1.3" && $device_proc != 1 ]]; then
#log "Jailbreak Option is always enabled for $device_target_vers"
ipsw_jailbreak=1
- elif [[ -z $ipsw_jailbreak ]]; then
+ elif [[ -z $ipsw_jailbreak && $ipsw_canjailbreak == 1 ]]; then
input "Jailbreak Option"
print "* When this option is enabled, your device will be jailbroken on restore."
print "* I recommend to enable this option to have the jailbreak and Cydia pre-installed."
@@ -2115,7 +2118,8 @@ ipsw_prepare_bundle() {
echo -e "RootFilesystemKey$(echo "$key" | $jq -j '.keys[] | select(.image == "RootFS") | .key')" >> $NewPlist
echo -e "RootFilesystemSize$RootSize" >> $NewPlist
printf "RamdiskOptionsPath/usr/local/share/restore/options" >> $NewPlist
- if [[ $device_target_vers != "3"* && $device_target_vers != "4"* ]]; then
+ if [[ $device_target_vers != "3"* && $device_target_vers != "4"* ]] ||
+ [[ $device_type == "iPad1,1" && $device_target_vers == "4"* ]]; then
printf ".%s" "$device_model" >> $NewPlist
fi
echo -e ".plist" >> $NewPlist
@@ -4059,25 +4063,19 @@ menu_ipsw() {
print "* Selected Target IPSW: $ipsw_path.ipsw"
print "* Target Version: $device_target_vers-$device_target_build"
case $device_target_build in
- "8E"* )
- warn "iOS 4.2.x for iPhone3,3 is untested, proceed at your own risk.";;
- "7"* | "8A"* | "8B"* | "8C"* )
+ "7"* | "8A"* | "8B"* | "8C"* | "8E"* )
warn "Selected target version is not supported and will most likely fail.";;
esac
- if [[ $device_type == "iPad1,1" && $device_target_vers == "4.3" ]]; then
- warn "Selected target version is not supported and will most likely fail."
- fi
else
print "* Select Target IPSW to continue"
case $device_type in
iPhone3,1 ) print "* Any iOS version from 4.3 to 7.1.1 is supported";;
- iPhone3,3 ) print "* Any iOS version from 4.2.6 to 7.1.1 is supported";;
+ iPhone3,3 ) print "* Any iOS version from 5.0 to 7.1.1 is supported";;
iPhone4,1 | iPad2,[123] ) print "* Any iOS version from 5.0 to 9.3.5 is supported";;
iPad2,4 | iPad3,[123] ) print "* Any iOS version from 5.1 to 9.3.5 is supported";;
iPhone5,[12] | iPad3,[456] ) print "* Any iOS version from 6.0 to 9.3.5 is supported";;
iPhone5,[34] ) print "* Any iOS version from 7.0 to 9.3.5 is supported";;
- iPad1,1 ) print "* Any iOS version from 4.3.1 to 5.1 is supported";;
- iPod3,1 ) print "* Any iOS version from 4.3 to 5.1 is supported";;
+ iPad1,1 | iPod3,1 ) print "* Any iOS version from 4.3 to 5.1 is supported";;
esac
fi
if [[ $device_type == "iPad1,1" || $device_type == "iPod3,1" ]]; then
@@ -4547,7 +4545,7 @@ device_jailbreakrd() {
return
fi
case $device_vers in
- 9* | 8* | 7* | 6* | 5* | 4* | 3.2.2 | 3.1.3 ) :;;
+ 9.3.[1234] | 9.3 | 9.2* | 9.1 | 8* | 7* | 6* | 5* | 4* | 3.2.2 | 3.1.3 ) :;;
* )
warn "This version ($device_vers) is not supported for jailbreaking with SSHRD."
print "* Supported versions are: 3.1.3 to 9.3.4 (excluding 9.0.x)"