Skip to content
This repository was archived by the owner on Oct 30, 2026. It is now read-only.

Stop checkra1n when a RAM boot abandons palera1n - #10

Merged
henrikklee merged 1 commit into
OrchardLinux:mainfrom
dl-alexandre:ram-run-palera1n-group
Oct 29, 2026
Merged

henrikklee merged 1 commit into
OrchardLinux:mainfrom
dl-alexandre:ram-run-palera1n-group

Conversation

@dl-alexandre

Copy link
Copy Markdown
Contributor

#8 moved the install/launch Pongo bootstrap (apple/boot.py) to run_process_group, so a timeout kills palera1n's spawned checkra1n too. orchard run has its own palera1n call in boot.py that still used subprocess.run(..., timeout=120), so a RAM boot leaves the same orphan behind.

Seen today on a J71b RAM test of current main. The cable replug came too late, the device fell back to iPadOS, and orchard run stopped with:

Command '[…/palera1n', '-p', '-k', '…/out/pongo.bin']' timed out after 120 seconds
Stopped. Inspect device state before any new boot attempt.

/tmp/checkra1n.kFIaNG -Ep -k …/out/pongo.bin was still running afterwards, ready to exploit the next DFU entry.

Change

boot_ram calls run_process_group from apple.boot with the same arguments. test_mismatched_dfu_boot_tracks_actual_device_through_pongo now mocks it instead of subprocess.run.

Testing

  • tests.test_ram passes.
  • With this change, the next orchard run on the same J71b booted normally, and no checkra1n was left over afterwards.

🤖 Generated with Claude Code

OrchardLinux#8 ran the install/launch Pongo bootstrap in its own process group, but
`orchard run` has a separate palera1n call that still used
subprocess.run. When it timed out, checkra1n kept running and would
exploit the next DFU entry. Use run_process_group there too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@henrikklee
henrikklee merged commit 29d39c3 into OrchardLinux:main Oct 29, 2026
3 of 4 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants