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

Still not resolved that couldn't download the kernelcache by updating libgrabkernel2 #39

Open
TWNFFW opened this issue Sep 27, 2024 · 6 comments

Comments

@TWNFFW
Copy link

TWNFFW commented Sep 27, 2024

Running on an ipad8.10(A12Z) on ios 15.7.2 ----- The kernel was successfully downloaded
Running on an iphone11.2(A12) on ios 15.7.2 ----- got “Downloading kernel”
img

@alfiecg24
Copy link
Owner

Does Dopamine work if you sideload it normally?

@TWNFFW
Copy link
Author

TWNFFW commented Sep 27, 2024

如果你正常旁加载多巴胺,它起作用吗?

No Dopamine, but I have successfully installed TrollStore by TrollRestore

@cdK1337
Copy link

cdK1337 commented Sep 29, 2024

I'm from issue 21, this one is the same

I've made a small research (probably wrong) and that's what I've found out:
According to appledb.dev, iPhone11,2 and iPhone12,8 never had iOS 15.7.2.
iPad8,10 had 15.7.2 officially.
To my mind, https://api.appledb.dev/ios/main.json.xz is fetching kinda the same info in json format, but as there are no iPhone11,2 and iPhone 12,8 with iOS 15.7.2 in this file - we got errors.
According to https://api.appledb.dev/ios/main.json:
Devices map for 15.7.2: "iPhone8,1", "iPhone8,2", "iPhone8,4","iPhone9,1", "iPhone9,2", "iPhone9,3","iPhone9,4", "iPod9,1"
For iPhone 12,8 + 15.7.2 (only for RC version, I have stable version) I could find only one line in this json:
"iPhone12,8": {
"ota": "https://updates.cdn-apple.com/2022FallFCS/patches/012-91580/C89641F0-BBAB-4547-86E3-EBEB5EB08544/com_apple_MobileAsset_SoftwareUpdate/151bb9a8ea9fc62aab330be0772beece7d3eec38.zip"
}
I think, that if my iPhone 12,8 will use firmware url from 15.7.2 RC, it should work fine (I don't know, how can I do it manually).

@TWNFFW
Copy link
Author

TWNFFW commented Sep 30, 2024

I'm from issue 21, this one is the same

I've made a small research (probably wrong) and that's what I've found out: According to appledb.dev, iPhone11,2 and iPhone12,8 never had iOS 15.7.2. iPad8,10 had 15.7.2 officially. To my mind, https://api.appledb.dev/ios/main.json.xz is fetching kinda the same info in json format, but as there are no iPhone11,2 and iPhone 12,8 with iOS 15.7.2 in this file - we got errors. According to https://api.appledb.dev/ios/main.json: Devices map for 15.7.2: "iPhone8,1", "iPhone8,2", "iPhone8,4","iPhone9,1", "iPhone9,2", "iPhone9,3","iPhone9,4", "iPod9,1" For iPhone 12,8 + 15.7.2 (only for RC version, I have stable version) I could find only one line in this json: "iPhone12,8": { "ota": "https://updates.cdn-apple.com/2022FallFCS/patches/012-91580/C89641F0-BBAB-4547-86E3-EBEB5EB08544/com_apple_MobileAsset_SoftwareUpdate/151bb9a8ea9fc62aab330be0772beece7d3eec38.zip" } I think, that if my iPhone 12,8 will use firmware url from 15.7.2 RC, it should work fine (I don't know, how can I do it manually).

I think you're right, Manual mode should solve the problem.

@cdK1337
Copy link

cdK1337 commented Sep 30, 2024

I think you're right, Manual mode should solve the problem.

I have done it, and it works!

  1. Forked libgrabkernel2
  2. In src/appledb.m I hardcoded firmware link for my iPhone. I used a link for 15.7.2 beta
  3. Code for appledb. Please, don't use it for other models/firmware, you will brick your iOS device, this is just my example, but you can modify hardcode link
//  appledb.m
#import <Foundation/Foundation.h>
#import <sys/utsname.h>
#if !TARGET_OS_OSX
#import <UIKit/UIKit.h>
#endif
#import <sys/sysctl.h>
#import "utils.h"

// Change const with my url
#define FIXED_FIRMWARE_URL @"https://updates.cdn-apple.com/2022FallFCS/patches/012-91580/C89641F0-BBAB-4547-86E3-EBEB5EB08544/com_apple_MobileAsset_SoftwareUpdate/151bb9a8ea9fc62aab330be0772beece7d3eec38.zip"

NSString *getFirmwareURL(bool *isOTA) {
    *isOTA = YES; // If it is not OTA, use "NO"
    return FIXED_FIRMWARE_URL;
}
  1. Git clone libgrabkernel2 in MacOS. Type "Make" in terminal - copy files libgrabkernel2.h and libgrabkernel2.a from output folder
  2. Download trollinstallerx Source code (zip)
  3. In TrollInstallerX-1.0.3\TrollInstallerX\External\lib change libgrabkernel2.a and in TrollInstallerX-1.0.3\TrollInstallerX\External\include\libgrabkernel2 change libgrabkernel2.h
  4. sh build.sh in terminal
  5. install trollinstallerX
  6. Trollstored the device
    May be there is another easier way, but this is the method, how I solved it

@TWNFFW
Copy link
Author

TWNFFW commented Sep 30, 2024

I think you're right, Manual mode should solve the problem.

I have done it, and it works!

  1. Forked libgrabkernel2
  2. In src/appledb.m I hardcoded firmware link for my iPhone. I used a link for 15.7.2 beta
  3. Code for appledb. Please, don't use it for other models/firmware, you will brick your iOS device, this is just my example, but you can modify hardcode link
//  appledb.m
#import <Foundation/Foundation.h>
#import <sys/utsname.h>
#if !TARGET_OS_OSX
#import <UIKit/UIKit.h>
#endif
#import <sys/sysctl.h>
#import "utils.h"

// Change const with my url
#define FIXED_FIRMWARE_URL @"https://updates.cdn-apple.com/2022FallFCS/patches/012-91580/C89641F0-BBAB-4547-86E3-EBEB5EB08544/com_apple_MobileAsset_SoftwareUpdate/151bb9a8ea9fc62aab330be0772beece7d3eec38.zip"

NSString *getFirmwareURL(bool *isOTA) {
    *isOTA = YES; // If it is not OTA, use "NO"
    return FIXED_FIRMWARE_URL;
}
  1. Git clone libgrabkernel2 in MacOS. Type "Make" in terminal - copy files libgrabkernel2.h and libgrabkernel2.a from output folder
  2. Download trollinstallerx Source code (zip)
  3. In TrollInstallerX-1.0.3\TrollInstallerX\External\lib change libgrabkernel2.a and in TrollInstallerX-1.0.3\TrollInstallerX\External\include\libgrabkernel2 change libgrabkernel2.h
  4. sh build.sh in terminal
  5. install trollinstallerX
  6. Trollstored the device
    May be there is another easier way, but this is the method, how I solved it

Thanks for guidance, This has greatly advanced my progress, I will try it on holiday.

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

No branches or pull requests

3 participants