It's easy, just hold the volume up button... Just kidding.
adb reboot recovery works fine for me, maybe you killed recovery?
Usually, hopefully if you try to boot to a bad image it will go to fastboot.
The /misc partition is used to signal to go to recovery. You can write to that.
I've been working on stuff and bopping between EDL, recovery and normal.
I've probably got a bigger safety margin than you because I can always get into EDL easily.
Do you have EDL working at all? You could use EDL and pull a copy of recovery to check against stock.
Of course you can do that with dd too.
Code:
# dd if=/dev/block/mmcblk0p9 of=/sdcard/p9 count=37552
# md5sum /sdcard/p9
4f9373bdba1dae632ff0f80ec40e96a8
If it looks good, you can force it to recovery with /misc.
You could also just fastboot boot what you just copied.
Use EDL to pull a block off /misc or just dd /dev/zero to get 512 zeroes
Code:
dd if=/dev/zero of=/sdcard/misc-rec count=1
Then text/hex edit it to be "boot-recovery" for the first 13 chars.
Code:
# dd if=/sdcard/misc-rec of=/dev/block/by-name/misc
# reboot
Or you can edl /w it (if you're in edl).
This will keep on bringing you back to recovery, so you'll need to:
Code:
# dd if=/dev/zero of=/dev/block/by-name/misc
# reboot
(You'll get an error that it can't write more or something.)
The reason my head is so stuck in edl right now is that I'm bopping between enforcing and permissive on a Magisk-less system and edl is the only way to get out.
I was trying to draw a diagram to make things clearer. Mmm, not sure that it did.