mirror of
https://github.com/EchoStretch/kstuff.git
synced 2026-10-22 11:42:27 -05:00
linux loader: split 1gb/3gb payloads
Note: the submodule points to the 7.02 branch of ps4-kexec. To build Linux payload for 6.72, switch the branches manually.
This commit is contained in:
1 parent
a067e8a948
commit
1916c756e1
3 files changed
+23
-5
No files matched your search
+16
-2
@@ -1,7 +1,7 @@
|
||||
all: payload.bin payload-702.bin
|
||||
all: payload.bin payload-702.bin payload-3gb.bin payload-702-3gb.bin
|
||||
|
||||
clean:
|
||||
rm payload.elf payload.bin
|
||||
rm -f payload.elf payload.bin payload-702.elf payload-702.bin payload-3gb.elf payload-3gb.bin payload-702-3gb.elf payload-702-3gb.bin
|
||||
|
||||
../lib/lib.a:
|
||||
cd ../lib; make
|
||||
@@ -20,5 +20,19 @@ payload-702.bin: payload-702.elf
|
||||
objcopy payload-702.elf --only-section .text --only-section .data --only-section .bss --only-section .rodata -O binary payload-702.bin
|
||||
file payload-702.bin | fgrep -q 'payload-702.bin: DOS executable (COM)'
|
||||
|
||||
payload-3gb.elf: ../lib/lib.a main.c ps4-kexec/kexec.bin
|
||||
gcc -isystem ../../8cc/freebsd-headers -nostdinc -nostdlib -static ../lib/lib.a -DVRAM_GB=3 main.c -Wl,-gc-sections -o payload-3gb.elf
|
||||
|
||||
payload-3gb.bin: payload-3gb.elf
|
||||
objcopy payload-3gb.elf --only-section .text --only-section .data --only-section .bss --only-section .rodata -O binary payload-3gb.bin
|
||||
file payload-3gb.bin | fgrep -q 'payload-3gb.bin: DOS executable (COM)'
|
||||
|
||||
payload-702-3gb.elf: ../lib/lib.a main.c ps4-kexec/kexec.bin
|
||||
gcc -isystem ../../8cc/freebsd-headers -nostdinc -nostdlib -static ../lib/lib.a -D__7_02__ -DVRAM_GB=3 main.c -Wl,-gc-sections -o payload-702-3gb.elf
|
||||
|
||||
payload-702-3gb.bin: payload-702-3gb.elf
|
||||
objcopy payload-702-3gb.elf --only-section .text --only-section .data --only-section .bss --only-section .rodata -O binary payload-702-3gb.bin
|
||||
file payload-702-3gb.bin | fgrep -q 'payload-702-3gb.bin: DOS executable (COM)'
|
||||
|
||||
ps4-kexec/kexec.bin:
|
||||
cd ps4-kexec; make
|
||||
+6
-2
@@ -48,7 +48,7 @@ void kernel_main()
|
||||
|
||||
asm("kexec_load:\nmov %rcx, %r10\nmov $153, %rax\nsyscall\nret");
|
||||
|
||||
int kexec_load(char* kernel, unsigned long long kernel_size, char* initrd, unsigned long long initrd_size, char* cmdline);
|
||||
int kexec_load(char* kernel, unsigned long long kernel_size, char* initrd, unsigned long long initrd_size, char* cmdline, int vram_gb);
|
||||
|
||||
int read_file(char* path, char** ptr, unsigned long long* sz)
|
||||
{
|
||||
@@ -99,6 +99,10 @@ void alert(const char* msg)
|
||||
sceSysUtilSendSystemNotificationWithText(222, msg);
|
||||
}
|
||||
|
||||
#ifndef VRAM_GB
|
||||
#define VRAM_GB 1
|
||||
#endif
|
||||
|
||||
int main()
|
||||
{
|
||||
struct sigaction sa = {
|
||||
@@ -141,6 +145,6 @@ int main()
|
||||
.rtp = NULL
|
||||
};
|
||||
thr_new(&thr, sizeof(thr));
|
||||
kexec_load(kernel, kernel_size, initrd, initrd_size, cmdline);
|
||||
kexec_load(kernel, kernel_size, initrd, initrd_size, cmdline, VRAM_GB);
|
||||
for(;;);
|
||||
}
|
||||
Submodule src/payloads/linux/ps4-kexec updated: e157ffd144...4d8f7efe96.
Reference in new issue
Block a user