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

how to load Linux #190

Open
UnCor3 opened this issue Aug 23, 2024 · 4 comments
Open

how to load Linux #190

UnCor3 opened this issue Aug 23, 2024 · 4 comments

Comments

@UnCor3
Copy link

UnCor3 commented Aug 23, 2024

Hey I've been able to boot to pongoOS on my iPhone 6s. Using the makefile located in scripts I built pongoterm and it works fine I was able to communicate with the device. Then I wanted to load Linux , created a venv and installed pyusb then I got the stable Linux kernel from here (lmk if I need a specific kernel) finally I did python3 load_linux.py -k /path/to/extracted/kernel but I got this error no dbtpack specified I do not have any knowledge about dbtpack can you help ?

image

@UnCor3
Copy link
Author

UnCor3 commented Aug 23, 2024

Update, tried these steps but didn't work

@intervade
Copy link

Those steps are exactly what you need. You need to follow that whole guide. The kernel must be compiled from that guy's repo since nothing mainline supports the 6s enough to boot. You should also use his pongo fork. For linux boot with pongo you need to supply it the kernel, device tree blob, and an arm64 ramdisk.

@Siguza
Copy link
Member

Siguza commented Aug 28, 2024

Linux support in upstream PongoOS hasn't been touched in quite a while. I know other people have experimented with forks, but I don't know what the last status of that is.

I know @konradybcio had a fork of PongoOS 2.5.x but porting that to 2.6.x ran into some memory corruption issues.

And I think @asdfugil has been working on getting m1n1 working?

@asdfugil
Copy link

asdfugil commented Aug 28, 2024

Load linux in checkra1n/PongoOS is really only for loading sandcastle, but it never worked in pongo 2.6.

The part of the linux code in pongoOS that is actively being used is the lzma decompression code, for unrelated purposes in palera1n/PongoOS to allow pongoOS to receive LZMA compressed files (reduces jailbreak executable size).

Loading linux from m1n1 is being worked on and only works properly on A9-A10(X). A7-A8(X) has some data abort issues as well as legacy console [tty0] enabled (didn't actually enable) and A11 is very weird, it could have the same problem as A7-A8(X) sometimes, have problems with secondary CPUs instead, or works with no clear reason as to why.

Loading m1n1 is enter at highest exception level, disable SRAM, and jump to 0x800 into the image, x0 = pointer to BootArgs struct.
https://github.com/asdfugil/pongoOS/tree/mini

It is unlikely that loading linux from PongoOS will be considered anymore, since it does not support handling secondary CPUs. Plus given that porting linux now is basically hacking on asahi linux to work here it is probably a wise idea to stay close to that bootchain.

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

4 participants