Cant unzip recovery file to get files for flashing partitions

I think there is some confusion of language going on here. We don’t want to be extracting anything from e-recovery.img; a file with that name is a complete recovery.img in itself.

eOS is intending to bundle the necessary .img files for booting recovery all together for downloading where the user can simply unzip them. Take a look for example at this download page for lemonade where for eOS-S the files are bundled together as “Recovery and boot img” (no .img).

The name of the bundle can be anything so long as it’s a zip.

For the time being users can extract the payload.bin from the OS download zip and extract the .img’s from that.

3 Likes

Indeed, I agree. The lemonade page demonstrates the intention well and I had not previously seen this provision of needed files, thanks.

I made an edit to the issue

The wording “First unzip the /e/OS Recovery file” does correctly apply when the files are published in the format used on this page. https://images.ecloud.global/dev/lemonade/. Perhaps users need to be aware to wait for the images to be published in the intended format.

1 Like

There is indeed confusion here…

I tried following @aibd 's instructions but running the payload thing gives an error, even when adjusting last argument to simply dtbo:
$ ./payload-dumper-go -partitions -o dtbo,vbmeta 2023/10/16 06:19:37 File does not exist: dtbo,vbmeta

Any guidance, please?
I’m following the install instructions for hotdog which is affected by this issue (that I can’t fully understand).

2 Likes

I worked this out whilst you were finding me the answer. Noch einmal, vielen Danke!

This is the slightly different answer that I worked out:
correct format:
./payload-dumper-go payload.bin -partitions dtbo,vbmeta

  • where dtbo and vbmeta are the names of the .img files you are trying to extract
  • nominating an output folder with -o name didn’t work for me
1 Like

In the wrong command payload.bin is missing, and the -o inbetween -partitions and dtbo,vbmeta breaks the -partitions parameter, letting payload-dumper-go either see dtbo,vbmeta as the file to work with (which doesn’t exist) or as the output folder specified after -o (which doesn’t exist) … I can’t test the specifics right now.

1 Like

I was bold in suggesting ‘Correct format’!

Perhaps better to say that it is a usable format! It did actually create a pretty expansive extraction of ¿all? .img files in the file, so I’m clearly getting it slightly wrong. I’ll link your answer on the gitlab workaround instructions.

I downloaded the Windows version just now, which gives the following usage info:

Usage: payload-dumper-go [options] [inputfile]
  -c int
        Number of multiple workers to extract (shorthand) (default 4)
  -concurrency int
        Number of multiple workers to extract (default 4)
  -l    Show list of partitions in payload.bin (shorthand)
  -list
        Show list of partitions in payload.bin
  -o string
        Set output directory (shorthand)
  -output string
        Set output directory
  -p string
        Dump only selected partitions (comma-separated) (shorthand)
  -partitions string
        Dump only selected partitions (comma-separated)

If I want to understand this in a strict sense, the input file (payload.bin) should be last after the options (-partitions dtbo,vbmeta), or even not given (I assume payload-dumper-go would work with payload.bin in the same directory then), so you could try whether
./payload-dumper-go -partitions dtbo,vbmeta payload.bin
or simply
./payload-dumper-go -partitions dtbo,vbmeta
would make a difference for you, extracting only the 2 given partitions.

2 Likes

Bingo! The Correct Syntax
Well done. I tested it in Linux

./payload-dumper-go -p dtbo,vbmeta -o FolderName payload.bin 

Results in the folder FolderName being created and these files extracted there:

payload.bin: payload.bin
Payload Version: 2
Payload Manifest Length: 101356
Payload Manifest Signature Length: 267
Found partitions:
LOGO (15 MB), abl (225 kB), aop (205 kB), bluetooth (881 kB), boot (101 MB), cmnlib (397 kB), cmnlib64 (516 kB), devcfg (57 kB), dsp (67 MB), dtbo (25 MB), hyp (492 kB), imagefv (20 kB), keymaster (262 kB), modem (158 MB), multiimgoem (16 kB), odm (191 MB), product (456 MB), qupfw (74 kB), recovery (101 MB), storsec (25 kB), system (1.5 GB), system_ext (372 MB), tz (3.2 MB), uefisecapp (127 kB), vbmeta (8.2 kB), vbmeta_system (4.1 kB), vendor (582 MB), xbl (3.2 MB), xbl_config (127 kB)
Number of workers: 4
vbmeta (8.2 kB)  [=======================================================] 100 %
dtbo (25 MB)     [=======================================================] 100 %
1 Like

Users must also be sure to adjust the command, careful to read the install instructions they are using.

For instance in the OP the required partitions are dtbo.img,vendor_boot.img.

1 Like

Hi

I only have a chromebook (yes, I know) and can’t find the way to unzip any file, even with linux (I’m too noob to easy use linux).
I can adb flash, but don’t know how to use payload-dumper.

Hello,
read here.
https://www.androidpolice.com/zip-and-unzip-files-chromebook/
Hope it helps you.

1 Like

Hi

thanks, I can unzip files like zip files, but for a .img file, I can’t. And I really don’t know how to use payload-dumper-go in command line, in chromeOS linux environnment.

I was thinking of writing a walkthrough …

and have now put it here [Walkthrough] Extract eRecovery and boot images using payload-dumper-go

4 Likes

Really thanks for help !
Now I have all necessary files.