I was poking around recovery-util a while back and might have discovered a novel method of downgrading the firmware version used by a (jailbroken) device. recovery-util mounts the rootfs early in the boot process and when a update is found and processed by this program, the build number seems to be checked against the build number in the file /etc/version.txt.
This file looks something like this:
As previously established by NiLuJe and others, the important parts here are the first and last parts of the first line - 380729 is the major component of the version number and 060 is the minor component. In this case, the build number corresponds to that of 5.14.2 on PW5 (3807290060).
It appears to be possible to trick the updater in recovery-util into applying an unmodified update binary by changing the build number used in the file above to the build number of the update before the update you wish to install (the build numbers can be found as part of the filename of the source tarballs found here).
Note that I've only tested this a couple of times and on devices where you can actually access the serial port; you may or may not run the risk of bricking your device if you attempt to downgrade using this method.
This file looks something like this:
Code:
System Software Version: 060-juno_1402_malbec_bellatrix-380729
Tue Feb 1 08:37:30 UTC 2022
com.lab126.eink.malbec.os
It appears to be possible to trick the updater in recovery-util into applying an unmodified update binary by changing the build number used in the file above to the build number of the update before the update you wish to install (the build numbers can be found as part of the filename of the source tarballs found here).
Note that I've only tested this a couple of times and on devices where you can actually access the serial port; you may or may not run the risk of bricking your device if you attempt to downgrade using this method.