Remove forced verbose boot

This commit is contained in:
Nick Chan 2024-11-14 13:37:55 +08:00
parent 28a434084c
commit eb5e7060cc
4 changed files with 9 additions and 15 deletions

View File

@ -3,7 +3,7 @@ DEP = $(SRC)/dep_root
STRIP = strip STRIP = strip
CC ?= cc CC ?= cc
CFLAGS += -isystem $(DEP)/include -I$(SRC)/include -I$(SRC) -D_XOPEN_SOURCE=500 CFLAGS += -isystem $(DEP)/include -I$(SRC)/include -I$(SRC) -D_XOPEN_SOURCE=500
CFLAGS += -Wall -Wextra -Wno-unused-parameter -DPALERAIN_VERSION=\"2.0.2\" -DHAVE_LIBIMOBILEDEVICE CFLAGS += -Wall -Wextra -Wno-unused-parameter -DPALERAIN_VERSION=\"2.1\" -DHAVE_LIBIMOBILEDEVICE
CFLAGS += -Wno-unused-variable -I$(SRC)/src -std=c99 -pedantic-errors -D_C99_SOURCE -D_POSIX_C_SOURCE=200112L CFLAGS += -Wno-unused-variable -I$(SRC)/src -std=c99 -pedantic-errors -D_C99_SOURCE -D_POSIX_C_SOURCE=200112L
LIBS += $(DEP)/lib/libimobiledevice-1.0.a $(DEP)/lib/libirecovery-1.0.a $(DEP)/lib/libusbmuxd-2.0.a LIBS += $(DEP)/lib/libimobiledevice-1.0.a $(DEP)/lib/libirecovery-1.0.a $(DEP)/lib/libusbmuxd-2.0.a
LIBS += $(DEP)/lib/libimobiledevice-glue-1.0.a $(DEP)/lib/libplist-2.0.a -pthread -lm LIBS += $(DEP)/lib/libimobiledevice-glue-1.0.a $(DEP)/lib/libplist-2.0.a -pthread -lm

View File

@ -6,7 +6,7 @@
.Dt palera1n 1 .Dt palera1n 1
.Sh NAME .Sh NAME
.Nm palera1n .Nm palera1n
.Nd arm64 iOS/iPadOS/tvOS 15.0-18.1, bridgeOS 5.0-9.1 jailbreaking tool .Nd arm64 iOS/iPadOS/tvOS 15.0-18.2, bridgeOS 5.0-9.2 jailbreaking tool
.Sh SYNOPSIS .Sh SYNOPSIS
.Nm .Nm
.Op Fl cCdDEfhIlLnpRsSTvV .Op Fl cCdDEfhIlLnpRsSTvV
@ -20,14 +20,14 @@
.Op Fl -force-revert .Op Fl -force-revert
.Sh DESCRIPTION .Sh DESCRIPTION
.Nm .Nm
jailbreaks an arm64 (arm64e excluded) iOS/iPadOS/tvOS 15.0-18.0, bridgeOS 5.0-9.0 device, jailbreaks an arm64 (arm64e excluded) iOS/iPadOS/tvOS 15.0-18.2, bridgeOS 5.0-9.2 device,
utilizing the utilizing the
.Em checkm8 .Em checkm8
bootROM exploit. bootROM exploit.
.Pp .Pp
.Nm .Nm
provides rootful and rootless jailbreak modes. provides rootful and rootless jailbreak modes.
On iOS/iPadOS, On iOS/iPadOS 15.0 and later and on tvOS 18.2 or later,
.Nm .Nm
is able to jailbreak the device in fakefs-rootful mode, where / is able to jailbreak the device in fakefs-rootful mode, where /
is writable, as well as rootless mode, where / cannot be written to. is writable, as well as rootless mode, where / cannot be written to.
@ -139,12 +139,14 @@ Like
but the size of the created fakefs is smaller at the expense of having unwritable but the size of the created fakefs is smaller at the expense of having unwritable
parts in rarely-written paths. When jailbreaking 16 GB devices, this option must be used parts in rarely-written paths. When jailbreaking 16 GB devices, this option must be used
when setting up fakefs for rootful, as they do not have enough storage for full fakefs. when setting up fakefs for rootful, as they do not have enough storage for full fakefs.
This flag is only supported on iOS/iPadOS. This flag is supported on iOS/iPadOS 15.0 or later and tvOS 18.2 or later, as they
require fakefs for rootful.
.It Fl c , -setup-fakefs .It Fl c , -setup-fakefs
When used with When used with
.Fl f , -fakefs , .Fl f , -fakefs ,
creates the new APFS volume required for rootful. Will fail if one already exists. creates the new APFS volume required for rootful. Will fail if one already exists.
This flag is only supported on iOS/iPadOS. This flag is supported on iOS/iPadOS 15.0 or later and tvOS 18.2 or later, as they
require fakefs for rootful.
.It Fl C , -clean-fakefs .It Fl C , -clean-fakefs
This option is not currently supported and is a no-operation in this version of This option is not currently supported and is a no-operation in this version of
.Nm .Nm

View File

@ -72,7 +72,7 @@ usb_ret_t USBBulkUpload(usb_device_handle_t handle, void *data, uint32_t len);
#endif #endif
#ifndef PALERAIN_VERSION #ifndef PALERAIN_VERSION
#define PALERAIN_VERSION "2.0.2" #define PALERAIN_VERSION "2.1"
#endif #endif
#if defined(__APPLE__) #if defined(__APPLE__)

View File

@ -19,7 +19,6 @@
#endif #endif
uint64_t* palerain_flags_p = &palerain_flags; uint64_t* palerain_flags_p = &palerain_flags;
static bool force_use_verbose_boot = false;
char* gOverrideLibcheckra1nHelper = NULL; char* gOverrideLibcheckra1nHelper = NULL;
static struct option longopts[] = { static struct option longopts[] = {
@ -148,11 +147,9 @@ int optparse(int argc, char* argv[]) {
case 'B': case 'B':
palerain_flags |= palerain_option_setup_partial_root; palerain_flags |= palerain_option_setup_partial_root;
palerain_flags |= palerain_option_setup_rootful; palerain_flags |= palerain_option_setup_rootful;
palerain_flags |= palerain_option_verbose_boot;
break; break;
case 'c': case 'c':
palerain_flags |= palerain_option_setup_rootful; palerain_flags |= palerain_option_setup_rootful;
palerain_flags |= palerain_option_verbose_boot;
break; break;
case 'C': case 'C':
palerain_flags |= palerain_option_clean_fakefs; palerain_flags |= palerain_option_clean_fakefs;
@ -175,7 +172,6 @@ int optparse(int argc, char* argv[]) {
break; break;
case 'V': case 'V':
palerain_flags |= palerain_option_verbose_boot; palerain_flags |= palerain_option_verbose_boot;
force_use_verbose_boot = true;
#ifdef TUI #ifdef TUI
tui_options_verbose_boot = true; tui_options_verbose_boot = true;
#endif #endif
@ -364,10 +360,6 @@ int optparse(int argc, char* argv[]) {
LOG(LOG_WARNING, "telnetd is enabled, this is a security hole"); LOG(LOG_WARNING, "telnetd is enabled, this is a security hole");
} }
if ((strstr(xargs_cmd, "serial=") != NULL) && !force_use_verbose_boot && (palerain_flags & palerain_option_setup_rootful)) {
palerain_flags &= ~palerain_option_verbose_boot;
}
if ((palerain_flags & (palerain_option_tui)) && (palerain_flags & (palerain_option_cli))) { if ((palerain_flags & (palerain_option_tui)) && (palerain_flags & (palerain_option_cli))) {
LOG(LOG_FATAL, "cannot specify both --tui and --cli"); LOG(LOG_FATAL, "cannot specify both --tui and --cli");
return -1; return -1;