ratcoded / fastboot-patcher

A bash script that utilizes avbtool & magiskboot to patch recovery images of dynamic samsung devices with android 10 and above to enable fastbootd.
MIT License
20 stars 118 forks source link

Getting binary invalid on stock S20 FE recovery.img #2

Open privacyguy123 opened 3 months ago

privacyguy123 commented 3 months ago

Any ideas?

ratcoded commented 3 months ago

Hey. Would it be possible for you to describe the process you took, so I can rule out user mistakes and get to possible script issues?

privacyguy123 commented 3 months ago

Clone repo, run ./patcher on recovery.img and recovery.img.lz4 to test. Both output broken tar.md5s Odin complains are invalid. If I flash just the .img inside a .tar Odin refuses to flash also with FAIL.

ratcoded commented 3 months ago

Yeah, I've thought this would only happen to me but it seems that both the script inherently corrupts the image and the md5 command is incorrect.

Will test and troubleshoot as soon as I can.

privacyguy123 commented 3 months ago

Yeah, I've thought this would only happen to me but it seems that both the script inherently corrupts the image and the md5 command is incorrect.

Will test and troubleshoot as soon as I can.

Is there some manual way I could get it working temporarily?

ratcoded commented 3 months ago

If I can figure out what the root of the issue is, then I can probably give you a quick fix before I update the script - but that is the exact thing that is time consuming right now.

I'll be honest here; I don't actually know what this is for, I never really changed anything important in commands, just revamped the scripts, so this is not really my field of work...

ratcoded commented 3 months ago

I can't currently freely test this, so can you give the patcher script a try again, and I've unsilenced 2 commands so you should see more output in the "patching" process, can you show me the output of the script?

privacyguy123 commented 3 months ago
[patcher.sh](success) -> [found unzipped image!]
[patcher.sh](info) -> [editing image...]
18005+0 records in
18005+0 records out
73748480 bytes (74 MB, 70 MiB) copied, 0.0729905 s, 1.0 GB/s
[patcher.sh](success) -> [made edit to image!]
[patcher.sh](info) -> [making keyfile...]
[patcher.sh](success) -> [made phh.pem]
[patcher.sh](warning) => {fragmenting image for patching!}
Parsing boot image: [/home/laptop/fastboot-patcher/header.img]
HEADER_VER      [2]
KERNEL_SZ       [53477388]
RAMDISK_SZ      [14149030]
SECOND_SZ       [0]
RECOV_DTBO_SZ   [4530027]
DTB_SZ          [1580275]
OS_VERSION      [11.0.0]
OS_PATCH_LEVEL  [2024-02]
PAGESIZE        [4096]
NAME            [SRPTG02C009]
CMDLINE         [console=null androidboot.hardware=qcom androidboot.memcg=1 lpm_levels.sleep_disabled=1 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 service_locator.enable=1 androidboot.usbcontroller=a600000.dwc3 swiotlb=2048 printk.devkmsg=on firmware_class.path=/vendor/firmware_mnt/image loop.max_part=7]
CHECKSUM        [d5075a185824d848a295a916aa37f8322b782632000000000000000000000000]
KERNEL_FMT      [raw]
RAMDISK_FMT     [gzip]
Loading cpio: [ramdisk.cpio]
Extracting entry [acct] to [acct]
Extracting entry [apex] to [apex]
Extracting entry [audit_filter_table] to [audit_filter_table]
Extracting entry [bin] to [bin]
Extracting entry [bugreports] to [bugreports]
Extracting entry [carrier] to [carrier]
Extracting entry [config] to [config]
Extracting entry [d] to [d]
Extracting entry [data] to [data]
Extracting entry [data_mirror] to [data_mirror]
Extracting entry [debug_ramdisk] to [debug_ramdisk]
Extracting entry [default.prop] to [default.prop]
Extracting entry [dev] to [dev]
Extracting entry [dpolicy] to [dpolicy]
Extracting entry [efs] to [efs]
Extracting entry [etc] to [etc]
Extracting entry [init] to [init]
Extracting entry [init.recovery.qcom.rc] to [init.recovery.qcom.rc]
Extracting entry [init.recovery.samsung.rc] to [init.recovery.samsung.rc]
Extracting entry [keydata] to [keydata]
Extracting entry [keyrefuge] to [keyrefuge]
Extracting entry [linkerconfig] to [linkerconfig]
Extracting entry [metadata] to [metadata]
Extracting entry [mnt] to [mnt]
Extracting entry [odm] to [odm]
Extracting entry [odm/app] to [odm/app]
Extracting entry [odm/bin] to [odm/bin]
Extracting entry [odm/etc] to [odm/etc]
Extracting entry [odm/firmware] to [odm/firmware]
Extracting entry [odm/framework] to [odm/framework]
Extracting entry [odm/lib] to [odm/lib]
Extracting entry [odm/lib64] to [odm/lib64]
Extracting entry [odm/overlay] to [odm/overlay]
Extracting entry [odm/priv-app] to [odm/priv-app]
Extracting entry [odm/usr] to [odm/usr]
Extracting entry [odm_file_contexts] to [odm_file_contexts]
Extracting entry [odm_property_contexts] to [odm_property_contexts]
Extracting entry [oem] to [oem]
Extracting entry [omr] to [omr]
Extracting entry [optics] to [optics]
Extracting entry [plat_file_contexts] to [plat_file_contexts]
Extracting entry [plat_property_contexts] to [plat_property_contexts]
Extracting entry [prism] to [prism]
Extracting entry [proc] to [proc]
Extracting entry [product] to [product]
Extracting entry [product_file_contexts] to [product_file_contexts]
Extracting entry [product_property_contexts] to [product_property_contexts]
Extracting entry [prop.default] to [prop.default]
Extracting entry [publiccert.pem] to [publiccert.pem]
Extracting entry [res] to [res]
Extracting entry [res/images] to [res/images]
Extracting entry [res/images/cancel_wipe_data_text.png] to [res/images/cancel_wipe_data_text.png]
Extracting entry [res/images/erasing_text.png] to [res/images/erasing_text.png]
Extracting entry [res/images/error_text.png] to [res/images/error_text.png]
Extracting entry [res/images/factory_data_reset_text.png] to [res/images/factory_data_reset_text.png]
Extracting entry [res/images/fastbootd.png] to [res/images/fastbootd.png]
Extracting entry [res/images/font.png] to [res/images/font.png]
Extracting entry [res/images/font_percentage.png] to [res/images/font_percentage.png]
Extracting entry [res/images/icon_error.png] to [res/images/icon_error.png]
Extracting entry [res/images/installing_security_text.png] to [res/images/installing_security_text.png]
Extracting entry [res/images/installing_text.png] to [res/images/installing_text.png]
Extracting entry [res/images/loop00000.png] to [res/images/loop00000.png]
Extracting entry [res/images/loop00001.png] to [res/images/loop00001.png]
Extracting entry [res/images/loop00002.png] to [res/images/loop00002.png]
Extracting entry [res/images/loop00003.png] to [res/images/loop00003.png]
Extracting entry [res/images/loop00004.png] to [res/images/loop00004.png]
Extracting entry [res/images/loop00005.png] to [res/images/loop00005.png]
Extracting entry [res/images/loop00006.png] to [res/images/loop00006.png]
Extracting entry [res/images/loop00007.png] to [res/images/loop00007.png]
Extracting entry [res/images/loop00008.png] to [res/images/loop00008.png]
Extracting entry [res/images/loop00009.png] to [res/images/loop00009.png]
Extracting entry [res/images/loop00010.png] to [res/images/loop00010.png]
Extracting entry [res/images/loop00011.png] to [res/images/loop00011.png]
Extracting entry [res/images/loop00012.png] to [res/images/loop00012.png]
Extracting entry [res/images/loop00013.png] to [res/images/loop00013.png]
Extracting entry [res/images/loop00014.png] to [res/images/loop00014.png]
Extracting entry [res/images/loop00015.png] to [res/images/loop00015.png]
Extracting entry [res/images/loop00016.png] to [res/images/loop00016.png]
Extracting entry [res/images/loop00017.png] to [res/images/loop00017.png]
Extracting entry [res/images/loop00018.png] to [res/images/loop00018.png]
Extracting entry [res/images/loop00019.png] to [res/images/loop00019.png]
Extracting entry [res/images/loop00020.png] to [res/images/loop00020.png]
Extracting entry [res/images/loop00021.png] to [res/images/loop00021.png]
Extracting entry [res/images/loop00022.png] to [res/images/loop00022.png]
Extracting entry [res/images/loop00023.png] to [res/images/loop00023.png]
Extracting entry [res/images/loop00024.png] to [res/images/loop00024.png]
Extracting entry [res/images/loop00025.png] to [res/images/loop00025.png]
Extracting entry [res/images/loop00026.png] to [res/images/loop00026.png]
Extracting entry [res/images/loop00027.png] to [res/images/loop00027.png]
Extracting entry [res/images/loop00028.png] to [res/images/loop00028.png]
Extracting entry [res/images/loop00029.png] to [res/images/loop00029.png]
Extracting entry [res/images/loop00030.png] to [res/images/loop00030.png]
Extracting entry [res/images/loop00031.png] to [res/images/loop00031.png]
Extracting entry [res/images/loop00032.png] to [res/images/loop00032.png]
Extracting entry [res/images/loop00033.png] to [res/images/loop00033.png]
Extracting entry [res/images/loop00034.png] to [res/images/loop00034.png]
Extracting entry [res/images/loop00035.png] to [res/images/loop00035.png]
Extracting entry [res/images/loop00036.png] to [res/images/loop00036.png]
Extracting entry [res/images/loop00037.png] to [res/images/loop00037.png]
Extracting entry [res/images/loop00038.png] to [res/images/loop00038.png]
Extracting entry [res/images/loop00039.png] to [res/images/loop00039.png]
Extracting entry [res/images/loop00040.png] to [res/images/loop00040.png]
Extracting entry [res/images/loop00041.png] to [res/images/loop00041.png]
Extracting entry [res/images/loop00042.png] to [res/images/loop00042.png]
Extracting entry [res/images/loop00043.png] to [res/images/loop00043.png]
Extracting entry [res/images/loop00044.png] to [res/images/loop00044.png]
Extracting entry [res/images/loop00045.png] to [res/images/loop00045.png]
Extracting entry [res/images/loop00046.png] to [res/images/loop00046.png]
Extracting entry [res/images/loop00047.png] to [res/images/loop00047.png]
Extracting entry [res/images/loop00048.png] to [res/images/loop00048.png]
Extracting entry [res/images/loop00049.png] to [res/images/loop00049.png]
Extracting entry [res/images/loop00050.png] to [res/images/loop00050.png]
Extracting entry [res/images/loop00051.png] to [res/images/loop00051.png]
Extracting entry [res/images/loop00052.png] to [res/images/loop00052.png]
Extracting entry [res/images/loop00053.png] to [res/images/loop00053.png]
Extracting entry [res/images/loop00054.png] to [res/images/loop00054.png]
Extracting entry [res/images/loop00055.png] to [res/images/loop00055.png]
Extracting entry [res/images/loop00056.png] to [res/images/loop00056.png]
Extracting entry [res/images/loop00057.png] to [res/images/loop00057.png]
Extracting entry [res/images/loop00058.png] to [res/images/loop00058.png]
Extracting entry [res/images/loop00059.png] to [res/images/loop00059.png]
Extracting entry [res/images/no_command_text.png] to [res/images/no_command_text.png]
Extracting entry [res/images/progress_empty.png] to [res/images/progress_empty.png]
Extracting entry [res/images/progress_fill.png] to [res/images/progress_fill.png]
Extracting entry [res/images/res_info] to [res/images/res_info]
Extracting entry [res/images/stage_empty.png] to [res/images/stage_empty.png]
Extracting entry [res/images/stage_fill.png] to [res/images/stage_fill.png]
Extracting entry [res/images/try_again_text.png] to [res/images/try_again_text.png]
Extracting entry [res/images/wipe_data_confirmation_text.png] to [res/images/wipe_data_confirmation_text.png]
Extracting entry [res/images/wipe_data_sdcard_warning_text.png] to [res/images/wipe_data_sdcard_warning_text.png]
Extracting entry [sdcard] to [sdcard]
Extracting entry [sepolicy] to [sepolicy]
Extracting entry [sepolicy_version] to [sepolicy_version]
Extracting entry [spu] to [spu]
Extracting entry [storage] to [storage]
Extracting entry [sys] to [sys]
Extracting entry [system] to [system]
Extracting entry [system/bin] to [system/bin]
Extracting entry [system/bin/acpi] to [system/bin/acpi]
Extracting entry [system/bin/adbd] to [system/bin/adbd]
Extracting entry [system/bin/base64] to [system/bin/base64]
Extracting entry [system/bin/basename] to [system/bin/basename]
Extracting entry [system/bin/blockdev] to [system/bin/blockdev]
Extracting entry [system/bin/cal] to [system/bin/cal]
Extracting entry [system/bin/cat] to [system/bin/cat]
Extracting entry [system/bin/chattr] to [system/bin/chattr]
Extracting entry [system/bin/chcon] to [system/bin/chcon]
Extracting entry [system/bin/chgrp] to [system/bin/chgrp]
Extracting entry [system/bin/chmod] to [system/bin/chmod]
Extracting entry [system/bin/chown] to [system/bin/chown]
Extracting entry [system/bin/chroot] to [system/bin/chroot]
Extracting entry [system/bin/chrt] to [system/bin/chrt]
Extracting entry [system/bin/cksum] to [system/bin/cksum]
Extracting entry [system/bin/clear] to [system/bin/clear]
Extracting entry [system/bin/cmp] to [system/bin/cmp]
Extracting entry [system/bin/comm] to [system/bin/comm]
Extracting entry [system/bin/cp] to [system/bin/cp]
Extracting entry [system/bin/cpio] to [system/bin/cpio]
Extracting entry [system/bin/cut] to [system/bin/cut]
Extracting entry [system/bin/date] to [system/bin/date]
Extracting entry [system/bin/dd] to [system/bin/dd]
Extracting entry [system/bin/defrag.f2fs] to [system/bin/defrag.f2fs]
Extracting entry [system/bin/devmem] to [system/bin/devmem]
Extracting entry [system/bin/df] to [system/bin/df]
Extracting entry [system/bin/diff] to [system/bin/diff]
Extracting entry [system/bin/dirname] to [system/bin/dirname]
Extracting entry [system/bin/dmesg] to [system/bin/dmesg]
Extracting entry [system/bin/dos2unix] to [system/bin/dos2unix]
Extracting entry [system/bin/dsms] to [system/bin/dsms]
Extracting entry [system/bin/du] to [system/bin/du]
Extracting entry [system/bin/dump.f2fs] to [system/bin/dump.f2fs]
Extracting entry [system/bin/e2fsck] to [system/bin/e2fsck]
Extracting entry [system/bin/e2fsdroid] to [system/bin/e2fsdroid]
Extracting entry [system/bin/echo] to [system/bin/echo]
Extracting entry [system/bin/egrep] to [system/bin/egrep]
Extracting entry [system/bin/env] to [system/bin/env]
Extracting entry [system/bin/expand] to [system/bin/expand]
Extracting entry [system/bin/expr] to [system/bin/expr]
Extracting entry [system/bin/fallocate] to [system/bin/fallocate]
Extracting entry [system/bin/false] to [system/bin/false]
Extracting entry [system/bin/fastbootd] to [system/bin/fastbootd]
Extracting entry [system/bin/fgrep] to [system/bin/fgrep]
Extracting entry [system/bin/file] to [system/bin/file]
Extracting entry [system/bin/find] to [system/bin/find]
Extracting entry [system/bin/flock] to [system/bin/flock]
Extracting entry [system/bin/fmt] to [system/bin/fmt]
Extracting entry [system/bin/free] to [system/bin/free]
Extracting entry [system/bin/fsck.f2fs] to [system/bin/fsck.f2fs]
Extracting entry [system/bin/fsync] to [system/bin/fsync]
Extracting entry [system/bin/getconf] to [system/bin/getconf]
Extracting entry [system/bin/getenforce] to [system/bin/getenforce]
Extracting entry [system/bin/getevent] to [system/bin/getevent]
Extracting entry [system/bin/getprop] to [system/bin/getprop]
Extracting entry [system/bin/grep] to [system/bin/grep]
Extracting entry [system/bin/groups] to [system/bin/groups]
Extracting entry [system/bin/gunzip] to [system/bin/gunzip]
Extracting entry [system/bin/gzip] to [system/bin/gzip]
Extracting entry [system/bin/head] to [system/bin/head]
Extracting entry [system/bin/hostname] to [system/bin/hostname]
Extracting entry [system/bin/hwclock] to [system/bin/hwclock]
Extracting entry [system/bin/i2cdetect] to [system/bin/i2cdetect]
Extracting entry [system/bin/i2cdump] to [system/bin/i2cdump]
Extracting entry [system/bin/i2cget] to [system/bin/i2cget]
Extracting entry [system/bin/i2cset] to [system/bin/i2cset]
Extracting entry [system/bin/iconv] to [system/bin/iconv]
Extracting entry [system/bin/id] to [system/bin/id]
Extracting entry [system/bin/ifconfig] to [system/bin/ifconfig]
Extracting entry [system/bin/init] to [system/bin/init]
Extracting entry [system/bin/inotifyd] to [system/bin/inotifyd]
Extracting entry [system/bin/insmod] to [system/bin/insmod]
Extracting entry [system/bin/install] to [system/bin/install]
Extracting entry [system/bin/ionice] to [system/bin/ionice]
Extracting entry [system/bin/iorenice] to [system/bin/iorenice]
Extracting entry [system/bin/kill] to [system/bin/kill]
Extracting entry [system/bin/killall] to [system/bin/killall]
Extracting entry [system/bin/linker64] to [system/bin/linker64]
Extracting entry [system/bin/linker_asan64] to [system/bin/linker_asan64]
Extracting entry [system/bin/ln] to [system/bin/ln]
Extracting entry [system/bin/load_policy] to [system/bin/load_policy]
Extracting entry [system/bin/log] to [system/bin/log]
Extracting entry [system/bin/logname] to [system/bin/logname]
Extracting entry [system/bin/losetup] to [system/bin/losetup]
Extracting entry [system/bin/ls] to [system/bin/ls]
Extracting entry [system/bin/lsattr] to [system/bin/lsattr]
Extracting entry [system/bin/lsmod] to [system/bin/lsmod]
Extracting entry [system/bin/lsof] to [system/bin/lsof]
Extracting entry [system/bin/lspci] to [system/bin/lspci]
Extracting entry [system/bin/lsusb] to [system/bin/lsusb]
Extracting entry [system/bin/make_f2fs] to [system/bin/make_f2fs]
Extracting entry [system/bin/md5sum] to [system/bin/md5sum]
Extracting entry [system/bin/microcom] to [system/bin/microcom]
Extracting entry [system/bin/minadbd] to [system/bin/minadbd]
Extracting entry [system/bin/mkdir] to [system/bin/mkdir]
Extracting entry [system/bin/mke2fs] to [system/bin/mke2fs]
Extracting entry [system/bin/mkfifo] to [system/bin/mkfifo]
Extracting entry [system/bin/mkfs.ext2] to [system/bin/mkfs.ext2]
Extracting entry [system/bin/mkfs.ext3] to [system/bin/mkfs.ext3]
Extracting entry [system/bin/mkfs.ext4] to [system/bin/mkfs.ext4]
Extracting entry [system/bin/mknod] to [system/bin/mknod]
Extracting entry [system/bin/mkswap] to [system/bin/mkswap]
Extracting entry [system/bin/mktemp] to [system/bin/mktemp]
Extracting entry [system/bin/modinfo] to [system/bin/modinfo]
Extracting entry [system/bin/modprobe] to [system/bin/modprobe]
Extracting entry [system/bin/more] to [system/bin/more]
Extracting entry [system/bin/mount] to [system/bin/mount]
Extracting entry [system/bin/mountpoint] to [system/bin/mountpoint]
Extracting entry [system/bin/mv] to [system/bin/mv]
Extracting entry [system/bin/nc] to [system/bin/nc]
Extracting entry [system/bin/netcat] to [system/bin/netcat]
Extracting entry [system/bin/netstat] to [system/bin/netstat]
Extracting entry [system/bin/nice] to [system/bin/nice]
Extracting entry [system/bin/nl] to [system/bin/nl]
Extracting entry [system/bin/nohup] to [system/bin/nohup]
Extracting entry [system/bin/nproc] to [system/bin/nproc]
Extracting entry [system/bin/nsenter] to [system/bin/nsenter]
Extracting entry [system/bin/od] to [system/bin/od]
Extracting entry [system/bin/paste] to [system/bin/paste]
Extracting entry [system/bin/patch] to [system/bin/patch]
Extracting entry [system/bin/pgrep] to [system/bin/pgrep]
Extracting entry [system/bin/pidof] to [system/bin/pidof]
Extracting entry [system/bin/pkill] to [system/bin/pkill]
Extracting entry [system/bin/pmap] to [system/bin/pmap]
Extracting entry [system/bin/printenv] to [system/bin/printenv]
Extracting entry [system/bin/printf] to [system/bin/printf]
Extracting entry [system/bin/ps] to [system/bin/ps]
Extracting entry [system/bin/pwd] to [system/bin/pwd]
Extracting entry [system/bin/readelf] to [system/bin/readelf]
Extracting entry [system/bin/readlink] to [system/bin/readlink]
Extracting entry [system/bin/realpath] to [system/bin/realpath]
Extracting entry [system/bin/reboot] to [system/bin/reboot]
Extracting entry [system/bin/recovery] to [system/bin/recovery]
Extracting entry [system/bin/renice] to [system/bin/renice]
Extracting entry [system/bin/resize.f2fs] to [system/bin/resize.f2fs]
Extracting entry [system/bin/resize2fs] to [system/bin/resize2fs]
Extracting entry [system/bin/restorecon] to [system/bin/restorecon]
Extracting entry [system/bin/rm] to [system/bin/rm]
Extracting entry [system/bin/rmdir] to [system/bin/rmdir]
Extracting entry [system/bin/rmmod] to [system/bin/rmmod]
Extracting entry [system/bin/runcon] to [system/bin/runcon]
Extracting entry [system/bin/sed] to [system/bin/sed]
Extracting entry [system/bin/sendevent] to [system/bin/sendevent]
Extracting entry [system/bin/seq] to [system/bin/seq]
Extracting entry [system/bin/setenforce] to [system/bin/setenforce]
Extracting entry [system/bin/setprop] to [system/bin/setprop]
Extracting entry [system/bin/setsid] to [system/bin/setsid]
Extracting entry [system/bin/sh] to [system/bin/sh]
Extracting entry [system/bin/sha1sum] to [system/bin/sha1sum]
Extracting entry [system/bin/sha224sum] to [system/bin/sha224sum]
Extracting entry [system/bin/sha256sum] to [system/bin/sha256sum]
Extracting entry [system/bin/sha384sum] to [system/bin/sha384sum]
Extracting entry [system/bin/sha512sum] to [system/bin/sha512sum]
Extracting entry [system/bin/sleep] to [system/bin/sleep]
Extracting entry [system/bin/sload_f2fs] to [system/bin/sload_f2fs]
Extracting entry [system/bin/sort] to [system/bin/sort]
Extracting entry [system/bin/split] to [system/bin/split]
Extracting entry [system/bin/start] to [system/bin/start]
Extracting entry [system/bin/stat] to [system/bin/stat]
Extracting entry [system/bin/stop] to [system/bin/stop]
Extracting entry [system/bin/strings] to [system/bin/strings]
Extracting entry [system/bin/stty] to [system/bin/stty]
Extracting entry [system/bin/swapoff] to [system/bin/swapoff]
Extracting entry [system/bin/swapon] to [system/bin/swapon]
Extracting entry [system/bin/sync] to [system/bin/sync]
Extracting entry [system/bin/sysctl] to [system/bin/sysctl]
Extracting entry [system/bin/tac] to [system/bin/tac]
Extracting entry [system/bin/tail] to [system/bin/tail]
Extracting entry [system/bin/tar] to [system/bin/tar]
Extracting entry [system/bin/taskset] to [system/bin/taskset]
Extracting entry [system/bin/tee] to [system/bin/tee]
Extracting entry [system/bin/test] to [system/bin/test]
Extracting entry [system/bin/time] to [system/bin/time]
Extracting entry [system/bin/timeout] to [system/bin/timeout]
Extracting entry [system/bin/toolbox] to [system/bin/toolbox]
Extracting entry [system/bin/top] to [system/bin/top]
Extracting entry [system/bin/touch] to [system/bin/touch]
Extracting entry [system/bin/toybox] to [system/bin/toybox]
Extracting entry [system/bin/tr] to [system/bin/tr]
Extracting entry [system/bin/true] to [system/bin/true]
Extracting entry [system/bin/truncate] to [system/bin/truncate]
Extracting entry [system/bin/tty] to [system/bin/tty]
Extracting entry [system/bin/ueventd] to [system/bin/ueventd]
Extracting entry [system/bin/ulimit] to [system/bin/ulimit]
Extracting entry [system/bin/umount] to [system/bin/umount]
Extracting entry [system/bin/uname] to [system/bin/uname]
Extracting entry [system/bin/uniq] to [system/bin/uniq]
Extracting entry [system/bin/unix2dos] to [system/bin/unix2dos]
Extracting entry [system/bin/unlink] to [system/bin/unlink]
Extracting entry [system/bin/unshare] to [system/bin/unshare]
Extracting entry [system/bin/uptime] to [system/bin/uptime]
Extracting entry [system/bin/usleep] to [system/bin/usleep]
Extracting entry [system/bin/uudecode] to [system/bin/uudecode]
Extracting entry [system/bin/uuencode] to [system/bin/uuencode]
Extracting entry [system/bin/uuidgen] to [system/bin/uuidgen]
Extracting entry [system/bin/vmstat] to [system/bin/vmstat]
Extracting entry [system/bin/watch] to [system/bin/watch]
Extracting entry [system/bin/watchdogd] to [system/bin/watchdogd]
Extracting entry [system/bin/wc] to [system/bin/wc]
Extracting entry [system/bin/which] to [system/bin/which]
Extracting entry [system/bin/whoami] to [system/bin/whoami]
Extracting entry [system/bin/xargs] to [system/bin/xargs]
Extracting entry [system/bin/xxd] to [system/bin/xxd]
Extracting entry [system/bin/yes] to [system/bin/yes]
Extracting entry [system/bin/zcat] to [system/bin/zcat]
Extracting entry [system/etc] to [system/etc]
Extracting entry [system/etc/cgroups.json] to [system/etc/cgroups.json]
Extracting entry [system/etc/init] to [system/etc/init]
Extracting entry [system/etc/init/hw] to [system/etc/init/hw]
Extracting entry [system/etc/init/hw/init.rc] to [system/etc/init/hw/init.rc]
Extracting entry [system/etc/ld.config.txt] to [system/etc/ld.config.txt]
Extracting entry [system/etc/mke2fs.conf] to [system/etc/mke2fs.conf]
Extracting entry [system/etc/recovery.fstab] to [system/etc/recovery.fstab]
Extracting entry [system/etc/security] to [system/etc/security]
Extracting entry [system/etc/security/otacerts.zip] to [system/etc/security/otacerts.zip]
Extracting entry [system/etc/ueventd.rc] to [system/etc/ueventd.rc]
Extracting entry [system/lib64] to [system/lib64]
Extracting entry [system/lib64/android.hardware.boot@1.0.so] to [system/lib64/android.hardware.boot@1.0.so]
Extracting entry [system/lib64/android.hardware.boot@1.1.so] to [system/lib64/android.hardware.boot@1.1.so]
Extracting entry [system/lib64/android.hardware.fastboot@1.0.so] to [system/lib64/android.hardware.fastboot@1.0.so]
Extracting entry [system/lib64/android.hardware.health@1.0.so] to [system/lib64/android.hardware.health@1.0.so]
Extracting entry [system/lib64/android.hardware.health@2.0.so] to [system/lib64/android.hardware.health@2.0.so]
Extracting entry [system/lib64/hw] to [system/lib64/hw]
Extracting entry [system/lib64/hw/android.hardware.fastboot@1.0-impl-mock.so] to [system/lib64/hw/android.hardware.fastboot@1.0-impl-mock.so]
Extracting entry [system/lib64/hw/android.hardware.health@2.0-impl-default.so] to [system/lib64/hw/android.hardware.health@2.0-impl-default.so]
Extracting entry [system/lib64/ld-android.so] to [system/lib64/ld-android.so]
Extracting entry [system/lib64/libadb_protos.so] to [system/lib64/libadb_protos.so]
Extracting entry [system/lib64/libadbd_auth.so] to [system/lib64/libadbd_auth.so]
Extracting entry [system/lib64/libadbd_fs.so] to [system/lib64/libadbd_fs.so]
Extracting entry [system/lib64/libasyncio.so] to [system/lib64/libasyncio.so]
Extracting entry [system/lib64/libbacktrace.so] to [system/lib64/libbacktrace.so]
Extracting entry [system/lib64/libbase.so] to [system/lib64/libbase.so]
Extracting entry [system/lib64/libbootloader_message.so] to [system/lib64/libbootloader_message.so]
Extracting entry [system/lib64/libc++.so] to [system/lib64/libc++.so]
Extracting entry [system/lib64/libc.so] to [system/lib64/libc.so]
Extracting entry [system/lib64/libcgrouprc.so] to [system/lib64/libcgrouprc.so]
Extracting entry [system/lib64/libcrypto.so] to [system/lib64/libcrypto.so]
Extracting entry [system/lib64/libcrypto_utils.so] to [system/lib64/libcrypto_utils.so]
Extracting entry [system/lib64/libcutils.so] to [system/lib64/libcutils.so]
Extracting entry [system/lib64/libdl.so] to [system/lib64/libdl.so]
Extracting entry [system/lib64/libdsms.so] to [system/lib64/libdsms.so]
Extracting entry [system/lib64/libengmode2lite_recovery.so] to [system/lib64/libengmode2lite_recovery.so]
Extracting entry [system/lib64/libext2_blkid.so] to [system/lib64/libext2_blkid.so]
Extracting entry [system/lib64/libext2_com_err.so] to [system/lib64/libext2_com_err.so]
Extracting entry [system/lib64/libext2_e2p.so] to [system/lib64/libext2_e2p.so]
Extracting entry [system/lib64/libext2_misc.so] to [system/lib64/libext2_misc.so]
Extracting entry [system/lib64/libext2_quota.so] to [system/lib64/libext2_quota.so]
Extracting entry [system/lib64/libext2_uuid.so] to [system/lib64/libext2_uuid.so]
Extracting entry [system/lib64/libext2fs.so] to [system/lib64/libext2fs.so]
Extracting entry [system/lib64/libext4_utils.so] to [system/lib64/libext4_utils.so]
Extracting entry [system/lib64/libfec.so] to [system/lib64/libfec.so]
Extracting entry [system/lib64/libfs_mgr.so] to [system/lib64/libfs_mgr.so]
Extracting entry [system/lib64/libfusesideload.so] to [system/lib64/libfusesideload.so]
Extracting entry [system/lib64/libgsi.so] to [system/lib64/libgsi.so]
Extracting entry [system/lib64/libhidl-gen-utils.so] to [system/lib64/libhidl-gen-utils.so]
Extracting entry [system/lib64/libhidlbase.so] to [system/lib64/libhidlbase.so]
Extracting entry [system/lib64/libjsoncpp.so] to [system/lib64/libjsoncpp.so]
Extracting entry [system/lib64/libkeyutils.so] to [system/lib64/libkeyutils.so]
Extracting entry [system/lib64/libknoxchanger_r.so] to [system/lib64/libknoxchanger_r.so]
Extracting entry [system/lib64/liblog.so] to [system/lib64/liblog.so]
Extracting entry [system/lib64/liblogwrap.so] to [system/lib64/liblogwrap.so]
Extracting entry [system/lib64/liblp.so] to [system/lib64/liblp.so]
Extracting entry [system/lib64/liblz4.so] to [system/lib64/liblz4.so]
Extracting entry [system/lib64/liblzma.so] to [system/lib64/liblzma.so]
Extracting entry [system/lib64/libm.so] to [system/lib64/libm.so]
Extracting entry [system/lib64/libpackagelistparser.so] to [system/lib64/libpackagelistparser.so]
Extracting entry [system/lib64/libpcre2.so] to [system/lib64/libpcre2.so]
Extracting entry [system/lib64/libpng.so] to [system/lib64/libpng.so]
Extracting entry [system/lib64/libprocessgroup.so] to [system/lib64/libprocessgroup.so]
Extracting entry [system/lib64/libprocessgroup_setup.so] to [system/lib64/libprocessgroup_setup.so]
Extracting entry [system/lib64/libprotobuf-cpp-lite.so] to [system/lib64/libprotobuf-cpp-lite.so]
Extracting entry [system/lib64/librecovery_ui.so] to [system/lib64/librecovery_ui.so]
Extracting entry [system/lib64/librecovery_ui_ext.so] to [system/lib64/librecovery_ui_ext.so]
Extracting entry [system/lib64/libselinux.so] to [system/lib64/libselinux.so]
Extracting entry [system/lib64/libselinux_ext.so] to [system/lib64/libselinux_ext.so]
Extracting entry [system/lib64/libsparse.so] to [system/lib64/libsparse.so]
Extracting entry [system/lib64/libsquashfs_utils.so] to [system/lib64/libsquashfs_utils.so]
Extracting entry [system/lib64/libtinyxml2.so] to [system/lib64/libtinyxml2.so]
Extracting entry [system/lib64/libunwindstack.so] to [system/lib64/libunwindstack.so]
Extracting entry [system/lib64/libutils.so] to [system/lib64/libutils.so]
Extracting entry [system/lib64/libz.so] to [system/lib64/libz.so]
Extracting entry [system/lib64/libziparchive.so] to [system/lib64/libziparchive.so]
Extracting entry [system_ext] to [system_ext]
Extracting entry [system_ext_file_contexts] to [system_ext_file_contexts]
Extracting entry [system_ext_property_contexts] to [system_ext_property_contexts]
Extracting entry [tmp] to [tmp]
Extracting entry [vendor] to [vendor]
Extracting entry [vendor_file_contexts] to [vendor_file_contexts]
Extracting entry [vendor_property_contexts] to [vendor_property_contexts]
Dumping cpio: [ramdisk.cpio]
[patcher.sh](success) -> [successfully]
[patcher.sh](warning) => {patching fragments (16)}
Patch @ 0x0004BA30 [080109aae80000b4] -> [080109aae80000b5]
[patcher.sh](success) -> [finished (5)]
Loading cpio: [ramdisk.cpio]
Add file [system/bin/recovery] (100755)
Dumping cpio: [ramdisk.cpio]
[patcher.sh](success) -> [finished (16)]
[patcher.sh](success) -> [successfully finished patch to fragmented image!]
[patcher.sh](warning) => {attempting to defragment image! if your image is corrupted, this may not end well...}
Parsing boot image: [/home/laptop/fastboot-patcher/header.img]
HEADER_VER      [2]
KERNEL_SZ       [53477388]
RAMDISK_SZ      [14149030]
SECOND_SZ       [0]
RECOV_DTBO_SZ   [4530027]
DTB_SZ          [1580275]
OS_VERSION      [11.0.0]
OS_PATCH_LEVEL  [2024-02]
PAGESIZE        [4096]
NAME            [SRPTG02C009]
CMDLINE         [console=null androidboot.hardware=qcom androidboot.memcg=1 lpm_levels.sleep_disabled=1 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 service_locator.enable=1 androidboot.usbcontroller=a600000.dwc3 swiotlb=2048 printk.devkmsg=on firmware_class.path=/vendor/firmware_mnt/image loop.max_part=7]
CHECKSUM        [d5075a185824d848a295a916aa37f8322b782632000000000000000000000000]
KERNEL_FMT      [raw]
RAMDISK_FMT     [gzip]
Repack to boot image: [/home/laptop/fastboot-patcher/output.img]
HEADER_VER      [2]
KERNEL_SZ       [53477388]
RAMDISK_SZ      [14115250]
SECOND_SZ       [0]
RECOV_DTBO_SZ   [4530027]
DTB_SZ          [1580275]
OS_VERSION      [11.0.0]
OS_PATCH_LEVEL  [2024-02]
PAGESIZE        [4096]
NAME            [SRPTG02C009]
CMDLINE         [console=null androidboot.hardware=qcom androidboot.memcg=1 lpm_levels.sleep_disabled=1 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 service_locator.enable=1 androidboot.usbcontroller=a600000.dwc3 swiotlb=2048 printk.devkmsg=on firmware_class.path=/vendor/firmware_mnt/image loop.max_part=7]
CHECKSUM        [2f00fc642009388db7c4bd6f890dc1b8f45f98c7000000000000000000000000]
[patcher.sh](success) -> [assembled output.img!]
[patcher.sh](info) -> [extracting public key to phh.pub.bin...]
[patcher.sh](info) -> [signing patched image with key...]
[patcher.sh](success) -> [signed image successfully!]
[patcher.sh](info) -> [packaging image for odin...]
tar: Removing leading `/' from member names
/home/laptop/fastboot-patcher/output.img
[patcher.sh](success) -> [successfully packaged output.img -> output.tar]
[patcher.sh](warning) => {cleaning up the directory...}
[sudo] password for laptop:
[patcher.sh](success) -> [enjoy! hope what you're trying to do works.]

Still creates an invalid .tar.md5 at least ...

ratcoded commented 3 months ago

I assume this file also odin says FAIL on? Also, I modified the script to skip the whole .md5 stuff, so it's just a .tar file.

Seeing as there are no obvious errors or warnings, I'm not quite sure what to do here. May have to ask someone else.

Sean-svg244 commented 3 months ago

hello i am getting the exact same issue on my galaxy m02s normal boot img throws failed and md5 file is invalid.

ratcoded commented 3 months ago

Unfortunately, I can't see myself having the time to investigate this vague issue, so if someone doesn't create a magical pull request in a few days, I will probably have to archive the repository for the time being.