coolstar / electra

Electra iOS 11.0 - 11.1.2 jailbreak toolkit based on async_awake

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Electra setting up the JB as 32bit and give me Cy+arm64 dependence error

CodeyMoore opened this issue · comments

AOU_ on reddit helped me fix this issue but Im not sure how though. AOU_ said that Electra was setting up the jailbreak as 32bit (iPod 6th gen's are 64bit)

This issue as to be fixed after rejailbreaking

AOU_'s reddit - https://www.reddit.com/user/AOU_

  • iOS version: 11.1.2
  • iDevice model: iPod Touch 6th
  • electra version: 1.0.4

Edit: I think I fixed it
I added the following lines to status located in "/var/lib/dpkg"

"
Package: cy+cpu.arm64
Essential: yes
Status: install ok installed
Priority: required
Section: System
Installed-Size: 0
Maintainer: Jay Freeman (saurik) saurik@saurik.com
Architecture: iphoneos-arm
Version: 11.1.2
Description: virtual CPU dependency
Tag: role::cydia
"

Edit 2:
Those lines are there any more 🤔🤔.
I don't know Cydia is working now, I'm not complaining

Edit 3:
I have to add those lines every time I rejailbreak

How were you able to edit those lines w/o something like Filza? Cydia says I'm missing the package outright.

sshing

I finally figured out how to fix this and not have to manually enter it everytime you jailbreak. There is a script called firmware.sh that automatically builds this dependency file everytime you jailbreak by pulling your iPhone architecture. However, I found that the script is outdated/or something got updated elsewhere causing the script to use an old command to pull your architecture info from your phone.

First off, the firmware.sh script is located in /usr/libexec/cydia/firmware.sh

**I have been experimenting with a variety of jailbreaks so I actually found the firmware.sh script in 3 different locations...
/usr/libexec/cydia/firmware.sh (Used by original Cydia)
/usr/libexec/cydia2/firmware.sh (Used by Cydia from Chimera)
/usr/libexec/zebra/firmware.sh (Used by Zebra)

Use Filza to open this file with Text Editor, or use your choice of CLI text editor (nano, vi, etc) if you choose not to use Filza.

About 5 lines from the top you will see..

cpu=$(uname -p)

Change this to:

cpu=$(arch)

Save this change. I updated all 3 locations with this change just to be safe but you might only have it in one location.

Now you can either run this script in Filza (change it back to open with Default (not text editor)) and then just click on it (firmware.sh) to run it. Or from bash CLI just enter the path to filename to run it.

You can also test this first by opening a terminal (NewTerm2, mTerminal, etc) and running the old command 'uname -p' which will result in “arm” (which is the architecture for 32 bit devices)

if you enter the command 'arch' it will result in “arm64” (which is the correct architecture for 64 bit devices).

Basically the script was pulling architecture using a command that only pulls 32 bit results, so as the remainder of the script ran it would build the incorrect dependency file. Using “arch” it should now build the cy+cpu.arm64 file as expected instead of just cy+cpu.arm

Confirmed this works everytime I reboot and re-jailbreak as well.