Skip to content

Implement SlingKicker tool - #662

Open
ilikesn0w wants to merge 1 commit into
acidanthera:masterfrom
ilikesn0w:SlingKicker
Open

ilikesn0w wants to merge 1 commit into
acidanthera:masterfrom
ilikesn0w:SlingKicker

Conversation

@ilikesn0w

@ilikesn0w ilikesn0w commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

Implemented SlingKicker tool to launch internet recovery and internet diagnostics on Macs. I think that would be a cool feature.

SlingShot supports 4 modes that should be received by it as LoadOption:

RecoveryModeDisk - Equivalent to CMD+R
RecoveryModeNetwork - Equivalent to CMD+OPT+(SHIFT)+R
DiagsModeDisk - Equivalent to D
DiagsModeNetwork - Equivalent to OPT+D

For recovery mode internet-recovery-type variable should be set to:

default - Download the first or the nearest compatible macOS version for the machine.
latest - Download the latest compatible macOS version for the machine.

We can also customize the server address from which the OS image will be downloaded by setting AppleOTARecoveryServerAddress variable.

SlingKicker supports 6 modes that should be received by it as arguments:
RecDisk - Equivalent to CMD+R + internet-recovery-type=default
RecDiskLatest - Equivalent to CMD+R + internet-recovery-type=latest
RecNet - Equivalent to CMD+OPT+SHIFT+R
RecNetLatest - Equivalent to CMD+OPT+R
DiagDisk - Equivalent to D
DiagNet - Equivalent to OPT+D

I think SlingShot has a fallback to Internet Recovery in case the startup via CMD+R fails. Therefore, for RecDisk and RecDiskLatest, the internet-recovery-type variable is set.

As far as I understand internet-recovery-type should be set only in case of recovery.

Some code was taken from BootKicker.

@ilikesn0w
ilikesn0w force-pushed the SlingKicker branch 3 times, most recently from a4fa9f4 to 476a809 Compare November 14, 2026 10:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant