A workaround
… for use where eRecovery and / or secondary images are not available.
Attribution
I believe this method was first seen on the forum OnePlus - 9 Pro - lemonadep - Documentation Suggestions - #8 by bofh666 and I believe was requoted in Week 41, 2023: Development and Testing Updates and Week 42, 2023: Development and Testing Updates.
The method is run in Linux. A different Release is available for Windows, please check the Windows README.
Downloads action
(The code boxes show both the command lines starting with a $
the following lines are the output on the terminal.)
$ mkdir test
$ cd test
Download to test
folder from https://github.com/ssut/payload-dumper-go/releases … a choice
I have an Intel 64bit laptop and select linux_amd64
that is
payload-dumper-go_1.2.2_linux_amd64.tar.gz
Download to test
folder from https://images.ecloud.global/ the full ROM for your device, for example:
e-1.15-t-20230919331436-dev-instantnoodlep.zip
Extract payload-dumper-go
$ tar xzvf payload-dumper-go_1.2.2_linux_amd64.tar.gz payload-dumper-go
payload-dumper-go
$ ls
e-1.15-t-20230919331436-dev-instantnoodlep.zip
payload-dumper-go
payload-dumper-go_1.2.2_linux_amd64.tar.gz
Check for the usage instructions
$ ./payload-dumper-go --help
Usage of ./payload-dumper-go:
-c int Number of multiple workers to extract (shorthand) (default 4)
-l Show list of partitions in payload.bin (shorthand)
-o string Set output directory (shorthand)
-p string Dump only selected partitions (comma-separated) (shorthand)
Select the arguments to use and start to build the command
-o string
# Define an output folder to be created
-o OutputFolder
-p string
# Define the partitions to be created, no spaces.
-p dtbo,vbmeta,recovery
./payload-dumper-go -o OutputFolder -p dtbo,vbmeta,recovery
Complete the command with your /e/ ROM filename.zip
e-1.15-t-20230919331436-dev-instantnoodlep.zip
Run payload-dumper-go
$ ./payload-dumper-go -o OutputFolder -p dtbo,vbmeta,recovery e-1.15-t-20230919331436-dev-instantnoodlep.zip
Please wait while extracting payload.bin from the archive.
payload.bin: /tmp/payload_185369925.bin
Payload Version: 2
Payload Manifest Length: 115665
Payload Manifest Signature Length: 267
Found partitions:
abl (225 kB), aop (205 kB), bluetooth (455 kB), boot (101 MB), cmnlib (401 kB), cmnlib64 (520 kB), devcfg (57 kB), dsp (67 MB), dtbo (25 MB), featenabler (90 kB), hyp (451 kB), imagefv (1.2 MB), keymaster (266 kB), logo (9.6 MB), modem (193 MB), multiimgoem (16 kB), odm (375 MB), product (450 MB), qupfw (57 kB), recovery (101 MB), storsec (25 kB), system (1.5 GB), system_ext (371 MB), tz (3.2 MB), uefisecapp (127 kB), vbmeta (8.2 kB), vbmeta_system (4.1 kB), vendor (901 MB), xbl (4.0 MB), xbl_config (94 kB)
Number of workers: 4
recovery (101 MB) [=============================================================================================================================================] 100 %
vbmeta (8.2 kB) [=============================================================================================================================================] 100 %
dtbo (25 MB) [=============================================================================================================================================] 100 %
$ ls -R
e-1.15-t-20230919331436-dev-instantnoodlep.zip
OutputFolder
payload-dumper-go
payload-dumper-go_1.2.2_linux_amd64.tar.gz
./OutputFolder:
dtbo.img recovery.img vbmeta.img
Samsung S9 starlte
payload-dumper-go
did not work on e-1.15-r-20230915330641-stable-starlte.zip
Terminal output
$ sha256sum e-1.15-r-20230915330641-stable-starlte.zip
f103f21e0df498d71c9e592074ac84c5bba4993ba43e7b27fe4696bd6eb33023 e-1.15-r-20230915330641-stable-starlte.zip
$ cat e-1.15-r-20230915330641-stable-starlte.zip.sha256sum
f103f21e0df498d71c9e592074ac84c5bba4993ba43e7b27fe4696bd6eb33023 e-1.15-r-20230915330641-stable-starlte.zip
$ ./payload-dumper-go -l e-1.15-r-20230915330641-stable-starlte.zip
Please wait while extracting payload.bin from the archive.
2023/10/17 17:44:38 Failed to extract payload.bin from the archive```
A simple unzip command (or “Extract here” by GUI method)
$ unzip e-1.15-r-20230915330641-stable-starlte.zip
Within the extracted e-1.15-r-20230914330641-stable-starlte/
(among other files) is:
boot.img
firmware-update/
vendor.img
recovery.img