mirror of
https://github.com/palera1n/palera1n.git
synced 2026-10-21 01:37:02 +02:00
Compressed ramdisk support
This commit is contained in:
1 parent
f2ac3ae8d7
commit
6f30ad8314
8 files changed
+30
-14
No files matched your search
@@ -11,6 +11,7 @@ src/palera1n
|
||||
!xxd-embedded.h
|
||||
src/binpack.dmg
|
||||
src/ramdisk.dmg
|
||||
src/ramdisk.dmg.lzma
|
||||
src/xxd-*.c
|
||||
.DS_Store
|
||||
!palera1n.1
|
||||
|
||||
@@ -62,7 +62,7 @@ CFLAGS += -DBUILD_WHOAMI="\"$(BUILD_WHOAMI)\"" -DBUILD_TAG="\"$(BUILD_TAG)\""
|
||||
CFLAGS += -DBUILD_NUMBER="\"$(BUILD_NUMBER)\"" -DBUILD_BRANCH="\"$(BUILD_BRANCH)\""
|
||||
CFLAGS += -DBUILD_COMMIT="\"$(BUILD_COMMIT)\""
|
||||
|
||||
export SRC DEP CC CFLAGS LDFLAGS LIBS TARGET_OS DEV_BUILD BUILD_DATE BUILD_TAG BUILD_WHOAMI BUILD_STYLE BUILD_NUMBER BUILD_BRANCH
|
||||
export SRC DEP CC CFLAGS LDFLAGS LIBS SHELL TARGET_OS DEV_BUILD BUILD_DATE BUILD_TAG BUILD_WHOAMI BUILD_STYLE BUILD_NUMBER BUILD_BRANCH
|
||||
|
||||
all: palera1n
|
||||
|
||||
|
||||
@@ -11,8 +11,8 @@ extern unsigned int checkra1n_len;
|
||||
extern unsigned char checkra1n_kpf_pongo[];
|
||||
extern unsigned int checkra1n_kpf_pongo_len;
|
||||
|
||||
extern unsigned char ramdisk_dmg[];
|
||||
extern unsigned int ramdisk_dmg_len;
|
||||
extern unsigned char ramdisk_dmg_lzma[];
|
||||
extern unsigned int ramdisk_dmg_lzma_len;
|
||||
|
||||
extern unsigned char binpack_dmg[];
|
||||
extern unsigned int binpack_dmg_len;
|
||||
|
||||
+14
-3
@@ -18,9 +18,9 @@ BUILD_OPTIONS += FORCE_HELPER
|
||||
endif
|
||||
|
||||
ifneq ($(NO_RAMDISK),1)
|
||||
OBJECTS += xxd-ramdisk.dmg.o
|
||||
OBJECTS += xxd-ramdisk.dmg.lzma.o
|
||||
else
|
||||
CFLAGS += -DNO_RAMDISK
|
||||
CFLAGS += -DNO_RAMDISK -DRAMDISK_COMPRESSED_SIZE=\"0\"
|
||||
BUILD_OPTIONS += NO_RAMDISK
|
||||
endif
|
||||
ifneq ($(NO_KPF),1)
|
||||
@@ -122,6 +122,14 @@ endif
|
||||
xxd-%.c: %
|
||||
xxd -iC $< > $@
|
||||
|
||||
ifneq ($(NO_RAMDISK),1)
|
||||
pongo_helper.o: pongo_helper.c $(wildcard ../include/*.h) ramdisk.dmg
|
||||
$(CC) -c $(CFLAGS) -DRAMDISK_UNCOMPRESSED_SIZE="\"$$(wc -c < ramdisk.dmg | tr -d ' ')\"" $<
|
||||
else
|
||||
pongo_helper.o: pongo_helper.c $(wildcard ../include/*.h)
|
||||
$(CC) -c $(CFLAGS) $<
|
||||
endif
|
||||
|
||||
%.o: %.c $(wildcard ../include/*.h)
|
||||
$(CC) -c $(CFLAGS) $<
|
||||
|
||||
@@ -139,6 +147,9 @@ libcheckra1nhelper.dylib: chkstk.S
|
||||
checkra1n-kpf-pongo:
|
||||
curl -LO https://cdn.nickchan.lol/palera1n/artifacts/kpf/iOS15/checkra1n-kpf-pongo
|
||||
|
||||
ramdisk.dmg.lzma: ramdisk.dmg
|
||||
xz --format=lzma -vf6ekT 0 ramdisk.dmg
|
||||
|
||||
ramdisk.dmg:
|
||||
curl -LO https://cdn.nickchan.lol/palera1n/c-rewrite/deps/ramdisk.dmg
|
||||
|
||||
@@ -149,6 +160,6 @@ Pongo.bin:
|
||||
curl -LO https://cdn.nickchan.lol/palera1n/artifacts/kpf/iOS15/Pongo.bin
|
||||
|
||||
clean:
|
||||
rm -rf *.o palera1n checkra1n checkra1n.c palera1n.dSYM libcheckra1nhelper.dylib
|
||||
rm -rf *.o palera1n checkra1n checkra1n.c palera1n.dSYM ramdisk.dmg.lzma libcheckra1nhelper.dylib
|
||||
|
||||
.PHONY: all clean
|
||||
+2
-2
@@ -6,8 +6,8 @@ unsigned int checkra1n_kpf_pongo_len = 0;
|
||||
#endif
|
||||
|
||||
#ifdef NO_RAMDISK
|
||||
unsigned char* ramdisk_dmg = NULL;
|
||||
unsigned int ramdisk_dmg_len = 0;
|
||||
unsigned char* ramdisk_dmg_lzma = NULL;
|
||||
unsigned int ramdisk_dmg_lzma_len = 0;
|
||||
#endif
|
||||
|
||||
#ifdef NO_CHECKRAIN
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ char xargs_cmd[0x270] = "xargs ", palerain_flags_cmd[0x30] = "deadbeef";
|
||||
extern char** environ;
|
||||
|
||||
niarelap_file_t* kpf_to_upload_1 = &checkra1n_kpf_pongo;
|
||||
niarelap_file_t* ramdisk_to_upload_1 = &ramdisk_dmg;
|
||||
niarelap_file_t* ramdisk_to_upload_1 = &ramdisk_dmg_lzma;
|
||||
niarelap_file_t* overlay_to_upload_1 = &binpack_dmg;
|
||||
|
||||
niarelap_file_t** kpf_to_upload = &kpf_to_upload_1;
|
||||
|
||||
+2
-2
@@ -207,7 +207,7 @@ int optparse(int argc, char* argv[]) {
|
||||
return 1;
|
||||
break;
|
||||
case 'r':
|
||||
if (override_file(&override_ramdisk, ramdisk_to_upload, &ramdisk_dmg_len, optarg))
|
||||
if (override_file(&override_ramdisk, ramdisk_to_upload, &ramdisk_dmg_lzma_len, optarg))
|
||||
return 1;
|
||||
break;
|
||||
case 'K':
|
||||
@@ -331,7 +331,7 @@ int optparse(int argc, char* argv[]) {
|
||||
LOG(LOG_VERBOSE4, "kpf override ptr %p -> %p", override_kpf.orig_ptr, **kpf_to_upload);
|
||||
}
|
||||
if (override_ramdisk.magic == OVERRIDE_MAGIC) {
|
||||
LOG(LOG_VERBOSE4, "ramdisk override length %u -> %u", override_ramdisk.orig_len, ramdisk_dmg_len);
|
||||
LOG(LOG_VERBOSE4, "ramdisk override length %u -> %u", override_ramdisk.orig_len, ramdisk_dmg_lzma_len);
|
||||
LOG(LOG_VERBOSE4, "ramdisk override ptr %p -> %p", override_ramdisk.orig_ptr, **ramdisk_to_upload);
|
||||
}
|
||||
if (override_overlay.magic == OVERRIDE_MAGIC) {
|
||||
|
||||
+7
-3
@@ -49,12 +49,16 @@ void *pongo_usb_callback(stuff_t *arg) {
|
||||
issue_pongo_command(handle, "rootfs");
|
||||
}
|
||||
#ifdef NO_RAMDISK
|
||||
if (ramdisk_dmg_len != 0)
|
||||
if (ramdisk_dmg_lzma_len != 0)
|
||||
#endif
|
||||
{
|
||||
strncat(xargs_cmd, " rootdev=md0", 0x270 - strlen(xargs_cmd) - 1);
|
||||
upload_pongo_file(handle, **ramdisk_to_upload, ramdisk_dmg_len);
|
||||
issue_pongo_command(handle, "ramdisk");
|
||||
upload_pongo_file(handle, **ramdisk_to_upload, ramdisk_dmg_lzma_len);
|
||||
if (&(**ramdisk_to_upload) == &ramdisk_dmg_lzma)
|
||||
issue_pongo_command(handle, "ramdisk " RAMDISK_UNCOMPRESSED_SIZE);
|
||||
else {
|
||||
issue_pongo_command(handle, "ramdisk");
|
||||
}
|
||||
}
|
||||
#ifdef NO_OVERLAY
|
||||
if (binpack_dmg_len != 0)
|
||||
|
||||
Reference in new issue
Block a user