From 7f08c0694392ede38ebbb6bd835757f2b3c3c477 Mon Sep 17 00:00:00 2001 From: topjohnwu Date: Thu, 7 Mar 2019 18:07:23 -0500 Subject: [PATCH] Remove unnecessary '--' from magiskboot actions --- native/jni/magiskboot/main.cpp | 43 ++++++++++++++++++++-------------- scripts/boot_patch.sh | 24 +++++++++---------- scripts/flash_script.sh | 6 ++--- scripts/util_functions.sh | 2 +- 4 files changed, 41 insertions(+), 34 deletions(-) diff --git a/native/jni/magiskboot/main.cpp b/native/jni/magiskboot/main.cpp index 08ed56a5a..b517b1eea 100644 --- a/native/jni/magiskboot/main.cpp +++ b/native/jni/magiskboot/main.cpp @@ -18,22 +18,22 @@ static void usage(char *arg0) { "Usage: %s [args...]\n" "\n" "Supported actions:\n" - " --unpack \n" + " unpack \n" " Unpack to, if available, kernel, ramdisk.cpio, \n" " second, dtb, extra, and recovery_dtbo into current directory.\n" " Return values:\n" " 0:valid 1:error 2:chromeos 3:ELF32 4:ELF64\n" "\n" - " --repack [outbootimg]\n" + " repack [outbootimg]\n" " Repack boot image components from current directory\n" " to [outbootimg], or new-boot.img if not specified.\n" " It will compress ramdisk.cpio and kernel with the same method in\n" " if the file provided is not already compressed.\n" "\n" - " --hexpatch \n" + " hexpatch \n" " Search in , and replace with \n" "\n" - " --cpio [commands...]\n" + " cpio [commands...]\n" " Do cpio commands to (modifications are done directly)\n" " Each command is a single argument, use quotes if necessary\n" " Supported commands:\n" @@ -64,7 +64,7 @@ static void usage(char *arg0) { " sha1\n" " Print stock boot SHA1 if previously backed up in ramdisk\n" "\n" - " --dtb- \n" + " dtb- \n" " Do dtb related cmds to (modifications are done directly)\n" " Supported commands:\n" " dump\n" @@ -76,7 +76,7 @@ static void usage(char *arg0) { " patch\n" " Search for fstab and remove verity/avb\n" "\n" - " --compress[=method] [outfile]\n" + " compress[=method] [outfile]\n" " Compress with [method] (default: gzip), optionally to [outfile]\n" " /[outfile] can be '-' to be STDIN/STDOUT\n" " Supported methods: " @@ -85,7 +85,7 @@ static void usage(char *arg0) { fprintf(stderr, "%s ", it.first.data()); fprintf(stderr, "\n\n" - " --decompress [outfile]\n" + " decompress [outfile]\n" " Detect method and decompress , optionally to [outfile]\n" " /[outfile] can be '-' to be STDIN/STDOUT\n" " Supported methods: "); @@ -93,10 +93,10 @@ static void usage(char *arg0) { fprintf(stderr, "%s ", it.first.data()); fprintf(stderr, "\n\n" - " --sha1 \n" + " sha1 \n" " Print the SHA1 checksum for \n" "\n" - " --cleanup\n" + " cleanup\n" " Cleanup the current working directory\n" "\n"); @@ -107,7 +107,14 @@ int main(int argc, char *argv[]) { cmdline_logging(); umask(0); - if (argc > 1 && strcmp(argv[1], "--cleanup") == 0) { + if (argc < 2) + usage(argv[0]); + + // Skip '--' for backwards compatibility + if (strncmp(argv[1], "--", 2) == 0) + argv[1] += 2; + + if (strcmp(argv[1], "cleanup") == 0) { fprintf(stderr, "Cleaning up...\n"); unlink(KERNEL_FILE); unlink(RAMDISK_FILE); @@ -115,7 +122,7 @@ int main(int argc, char *argv[]) { unlink(DTB_FILE); unlink(EXTRA_FILE); unlink(RECV_DTBO_FILE); - } else if (argc > 2 && strcmp(argv[1], "--sha1") == 0) { + } else if (argc > 2 && strcmp(argv[1], "sha1") == 0) { uint8_t sha1[SHA_DIGEST_SIZE]; void *buf; size_t size; @@ -125,19 +132,19 @@ int main(int argc, char *argv[]) { printf("%02x", i); printf("\n"); munmap(buf, size); - } else if (argc > 2 && strcmp(argv[1], "--unpack") == 0) { + } else if (argc > 2 && strcmp(argv[1], "unpack") == 0) { return unpack(argv[2]); - } else if (argc > 2 && strcmp(argv[1], "--repack") == 0) { + } else if (argc > 2 && strcmp(argv[1], "repack") == 0) { repack(argv[2], argv[3] ? argv[3] : NEW_BOOT); - } else if (argc > 2 && strcmp(argv[1], "--decompress") == 0) { + } else if (argc > 2 && strcmp(argv[1], "decompress") == 0) { decompress(argv[2], argv[3]); - } else if (argc > 2 && strncmp(argv[1], "--compress", 10) == 0) { + } else if (argc > 2 && strncmp(argv[1], "compress", 10) == 0) { compress(argv[1][10] == '=' ? &argv[1][11] : "gzip", argv[2], argv[3]); - } else if (argc > 4 && strcmp(argv[1], "--hexpatch") == 0) { + } else if (argc > 4 && strcmp(argv[1], "hexpatch") == 0) { hexpatch(argv[2], argv[3], argv[4]); - } else if (argc > 2 && strcmp(argv[1], "--cpio") == 0) { + } else if (argc > 2 && strcmp(argv[1], "cpio") == 0) { if (cpio_commands(argc - 2, argv + 2)) usage(argv[0]); - } else if (argc > 2 && strncmp(argv[1], "--dtb", 5) == 0) { + } else if (argc > 2 && strncmp(argv[1], "dtb", 5) == 0) { if (argv[1][5] != '-') usage(argv[0]); if (dtb_commands(&argv[1][6], argc - 2, argv + 2)) diff --git a/scripts/boot_patch.sh b/scripts/boot_patch.sh index 1d35757a9..cc042f9e0 100644 --- a/scripts/boot_patch.sh +++ b/scripts/boot_patch.sh @@ -71,7 +71,7 @@ chmod -R 755 . CHROMEOS=false ui_print "- Unpacking boot image" -./magiskboot --unpack "$BOOTIMAGE" +./magiskboot unpack "$BOOTIMAGE" case $? in 1 ) @@ -90,7 +90,7 @@ esac # Test patch status and do restore ui_print "- Checking ramdisk status" if [ -e ramdisk.cpio ]; then - ./magiskboot --cpio ramdisk.cpio test + ./magiskboot cpio ramdisk.cpio test STATUS=$? else # Stock A only system-as-root @@ -102,15 +102,15 @@ case $((STATUS & 3)) in ui_print "- Backing up stock boot image" SHA1=`./magiskboot --sha1 "$BOOTIMAGE" 2>/dev/null` STOCKDUMP=stock_boot_${SHA1}.img.gz - ./magiskboot --compress "$BOOTIMAGE" $STOCKDUMP + ./magiskboot compress "$BOOTIMAGE" $STOCKDUMP cp -af ramdisk.cpio ramdisk.cpio.orig 2>/dev/null ;; 1 ) # Magisk patched ui_print "- Magisk patched boot image detected" # Find SHA1 of stock boot image [ -z $SHA1 ] && SHA1=`./magiskboot --cpio ramdisk.cpio sha1 2>/dev/null` - ./magiskboot --cpio ramdisk.cpio restore - if ./magiskboot --cpio ramdisk.cpio "exists init.rc"; then + ./magiskboot cpio ramdisk.cpio restore + if ./magiskboot cpio ramdisk.cpio "exists init.rc"; then # Normal boot image cp -af ramdisk.cpio ramdisk.cpio.orig else @@ -134,7 +134,7 @@ echo "KEEPVERITY=$KEEPVERITY" > config echo "KEEPFORCEENCRYPT=$KEEPFORCEENCRYPT" >> config [ ! -z $SHA1 ] && echo "SHA1=$SHA1" >> config -./magiskboot --cpio ramdisk.cpio \ +./magiskboot cpio ramdisk.cpio \ "add 750 init magiskinit" \ "patch $KEEPVERITY $KEEPFORCEENCRYPT" \ "backup ramdisk.cpio.orig" \ @@ -153,24 +153,24 @@ rm -f ramdisk.cpio.orig config ########################################################################################## if ! $KEEPVERITY; then - [ -f dtb ] && ./magiskboot --dtb-patch dtb && ui_print "- Removing dm(avb)-verity in dtb" - [ -f extra ] && ./magiskboot --dtb-patch extra && ui_print "- Removing dm(avb)-verity in extra-dtb" + [ -f dtb ] && ./magiskboot dtb-patch dtb && ui_print "- Removing dm(avb)-verity in dtb" + [ -f extra ] && ./magiskboot dtb-patch extra && ui_print "- Removing dm(avb)-verity in extra-dtb" fi if [ -f kernel ]; then # Remove Samsung RKP - ./magiskboot --hexpatch kernel \ + ./magiskboot hexpatch kernel \ 49010054011440B93FA00F71E9000054010840B93FA00F7189000054001840B91FA00F7188010054 \ A1020054011440B93FA00F7140020054010840B93FA00F71E0010054001840B91FA00F7181010054 # Remove Samsung defex # Before: [mov w2, #-221] (-__NR_execve) # After: [mov w2, #-32768] - ./magiskboot --hexpatch kernel 821B8012 E2FF8F12 + ./magiskboot hexpatch kernel 821B8012 E2FF8F12 # Force kernel to load rootfs # skip_initramfs -> want_initramfs - ./magiskboot --hexpatch kernel \ + ./magiskboot hexpatch kernel \ 736B69705F696E697472616D667300 \ 77616E745F696E697472616D667300 fi @@ -180,7 +180,7 @@ fi ########################################################################################## ui_print "- Repacking boot image" -./magiskboot --repack "$BOOTIMAGE" || abort "! Unable to repack boot image!" +./magiskboot repack "$BOOTIMAGE" || abort "! Unable to repack boot image!" # Sign chromeos boot $CHROMEOS && sign_chromeos diff --git a/scripts/flash_script.sh b/scripts/flash_script.sh index 21cb83273..f8056f6a7 100644 --- a/scripts/flash_script.sh +++ b/scripts/flash_script.sh @@ -109,12 +109,12 @@ ui_print "- Flashing new boot image" if ! flash_image new-boot.img "$BOOTIMAGE"; then ui_print "- Compressing ramdisk to fit in partition" - ./magiskboot --cpio ramdisk.cpio compress - ./magiskboot --repack "$BOOTIMAGE" + ./magiskboot cpio ramdisk.cpio compress + ./magiskboot repack "$BOOTIMAGE" flash_image new-boot.img "$BOOTIMAGE" || abort "! Insufficient partition size" fi -./magiskboot --cleanup +./magiskboot cleanup rm -f new-boot.img if [ -f stock_boot* ]; then diff --git a/scripts/util_functions.sh b/scripts/util_functions.sh index 1bd7e5dd5..f0ab2f00a 100644 --- a/scripts/util_functions.sh +++ b/scripts/util_functions.sh @@ -247,7 +247,7 @@ flash_image() { # Make sure all blocks are writable $MAGISKBIN/magisk --unlock-blocks 2>/dev/null case "$1" in - *.gz) CMD1="$MAGISKBIN/magiskboot --decompress '$1' - 2>/dev/null";; + *.gz) CMD1="$MAGISKBIN/magiskboot decompress '$1' - 2>/dev/null";; *) CMD1="cat '$1'";; esac if $BOOTSIGNED; then