From 6ac9bab94456da37380725feeab2cf105a4d5c68 Mon Sep 17 00:00:00 2001 From: buzzer-re <22428720+buzzer-re@users.noreply.github.com> Date: Wed, 29 Apr 2026 23:53:05 -0300 Subject: [PATCH] Add direct "x86_64-linux-gnu-*" if running on ARM64 Linux machines --- README.md | 9 +++++++++ shellcode_hypervisor/Makefile | 11 +++++++++-- shellcode_kernel/Makefile | 11 +++++++++-- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 749979c..119e7eb 100644 --- a/README.md +++ b/README.md @@ -156,6 +156,14 @@ git clone https://github.com/ps5-linux/ps5-linux-loader cd ps5-linux-loader make ``` +## Compiling on ARM64 Linux + +Install the x86-64 cross-compilation tools before: + +```bash +sudo apt install gcc-x86-64-linux-gnu binutils-x86-64-linux-gnu +``` + Find your PS5 IP at `Settings → Network → View Connection Status`. @@ -172,6 +180,7 @@ If the LED is white, but you still have a blackscreen then: If none of this helps, please report the issue in our [Discord server](https://discord.gg/PeMGVB7BAm) and provide your EDID information. + ## First Boot Configure your system and memorize your login password. diff --git a/shellcode_hypervisor/Makefile b/shellcode_hypervisor/Makefile index 3d6fc1e..6640141 100644 --- a/shellcode_hypervisor/Makefile +++ b/shellcode_hypervisor/Makefile @@ -3,9 +3,16 @@ ifndef PS5_PAYLOAD_SDK endif # 1. Variables +ifeq ($(shell uname -m),aarch64) +CC = x86_64-linux-gnu-gcc +LD = x86_64-linux-gnu-ld +OBJCOPY = x86_64-linux-gnu-objcopy +else CC = gcc LD = ld -CFLAGS = -O2 -fno-stack-protector -ffreestanding -nostdlib -fcf-protection=none -I$(PS5_PAYLOAD_SDK)/target/include +OBJCOPY = objcopy +endif +CFLAGS = -O2 -fno-stack-protector -ffreestanding -nostdlib -fcf-protection=none -m64 -I$(PS5_PAYLOAD_SDK)/target/include LDFLAGS = -T linker.ld TARGET = shellcode_hypervisor.elf TEXT_BIN = shellcode_hypervisor.bin @@ -23,7 +30,7 @@ $(TARGET): $(OBJ) $(CC) $(CFLAGS) -c $< -o $@ $(TEXT_BIN): $(TARGET) - objcopy -O binary -j .shell_code $(TARGET) $(TEXT_BIN) + $(OBJCOPY) -O binary -j .shell_code $(TARGET) $(TEXT_BIN) clean: rm -f $(OBJ) $(TARGET) $(TEXT_BIN) $(dump) diff --git a/shellcode_kernel/Makefile b/shellcode_kernel/Makefile index 8b8fdb0..828c588 100644 --- a/shellcode_kernel/Makefile +++ b/shellcode_kernel/Makefile @@ -3,9 +3,16 @@ ifndef PS5_PAYLOAD_SDK endif +ifeq ($(shell uname -m),aarch64) +CC = x86_64-linux-gnu-gcc +LD = x86_64-linux-gnu-ld +OBJCOPY = x86_64-linux-gnu-objcopy +else CC = gcc LD = ld -CFLAGS = -O2 -fno-stack-protector -ffreestanding -nostdlib -I$(PS5_PAYLOAD_SDK)/target/include +OBJCOPY = objcopy +endif +CFLAGS = -O2 -fno-stack-protector -ffreestanding -nostdlib -m64 -I$(PS5_PAYLOAD_SDK)/target/include LDFLAGS = -T linker.ld TARGET = shellcode_kernel.elf TEXT_BIN = shellcode_text.bin @@ -24,7 +31,7 @@ $(TARGET): $(OBJ) $(CC) $(CFLAGS) -c $< -o $@ $(TEXT_BIN): $(TARGET) - objcopy -O binary -j .text $(TARGET) $(TEXT_BIN) + $(OBJCOPY) -O binary -j .text $(TARGET) $(TEXT_BIN) clean: rm -f $(OBJ) $(TARGET) $(TEXT_BIN) $(dump)