[HOWTO] Upgrade my /e/OS to major Android version without loosing /data

So I think that you are trying to satisfy Q3, is that correct?

In which case if you see the vendor partition you satisfy Q3. (Many ROMs one can only do this with payload bin … other methods to check presence of vendor are satisfactory.)

However now that I see (apologies) that you plan official to community this will / should involve change of build keys so that is expected not “correct”. So I think it will be fresh install.

Dirty FP4 upgrade community was a success following from Week 24, Development and Testing Updates - #39 by aibd

1 Like

The firmware related partitions are expected to be included into the payload.bin file aside the system related partitions.

Please extract https://ota.ecloud.global/community/FP4/e-4.0-a16-20260610633938-community-FP4.zip using payload-dumper-go

payload-dumper-go -l /home/alexander/Downloads/Test/e-4.0-a16-20260610633938-community-FP4.zip

You must find :
abl (156 kB), aop (180 kB), bluetooth (963 kB), boot (101 MB), core_nhlos (115 MB), devcfg (45 kB), dsp (67 MB), dtbo (25 MB), featenabler (90 kB), hyp (410 kB), imagefv (537 kB), keymaster (266 kB), modem (153 MB), multiimgoem (16 kB), odm (1.6 MB), product (848 MB), qupfw (57 kB), recovery (101 MB), system (1.7 GB), system_ext (558 MB), tz (3.0 MB), uefisecapp (127 kB), vbmeta (8.2 kB), vbmeta_system (4.1 kB), vendor (677 MB), xbl (3.4 MB), xbl_config (98 kB)

So it include needed a16 Fairphone firmware partitions

and not only the /e/ system partitions.

.

.

./payload-dumper-go -l ~/Downloads/Test/e-4.0-a16-20260610633938-community-FP4.zip
Please wait while extracting payload.bin from the archive.
2026/06/14 16:12:14 Failed to extract payload.bin from the archive.

ah but i got thoes data you mentioned (abl (156 kB), aop (180 kB), bluetooth (963 kB), boot (101 MB), core_nhlos (115 MB), devcfg (45 kB), dsp (67 MB), dtbo (25 MB), featenabler (90 kB), hyp (410 kB), imagefv (537 kB), keymaster (266 kB), modem (153 MB), multiimgoem (16 kB), odm (1.6 MB), product (848 MB), qupfw (57 kB), recovery (101 MB), system (1.7 GB), system_ext (558 MB), tz (3.0 MB), uefisecapp (127 kB), vbmeta (8.2 kB), vbmeta_system (4.1 kB), vendor (677 MB), xbl (3.4 MB), xbl_config (98 kB))
as “.img” data

should i try doing adb sideload?

yes, you should try..

didnt work with adb sideload

”Error: recovery: footer is wrong
Error recovery: signature verifcation failed
Error: recovery: error: 21

Guess ill wait for a14-4.0 offical will do full backup, clean install with a16 community and then backup function of 4.0

1 Like

Hello,

I am about to upgrade my Samsung A52q, from version 3.0.4 (T - Android 13) to e-4.0-a15-20260612634536-community-a52q.

After reading the various links given above I have a pretty good idea of what I must do (upgrade firmware that I can find in LineageOS wiki and then local update), but I still have one question: there is also a new version of the recovery available for download. It is zip file with a recovery-e-4.0-xxxx.img file and a vbmeta-e-4.0-xxxx.img file. Is it required, or recommended, or optional, to flash these two files with Odin as explained in the general instructions before the local update ? Would that impact the data on the phone ?

François

This seems to be the thing to do.

Flashing vbmeta.img is not needed as you already have a working custom recovery (but shouldn’t hurt)

Flashing latest recovery-e.img should be a good thing.

Thanks. I finally did the update, it went very well for the firmware and /e/OS. I tried to update also the vbmeta and the recovery, but for a strange reason Odin was crashing. Since it was not mandory I gave up for these two and it works fine so far.

1 Like

FP5: Update from 4.0 A15 community to 4.0 A16 community failed!

  • I went like in the guides.
  • I checked the payload.bin contents and it looked like it has all the proper firmware files in it (modem, for example).
  • I used the reovery and adb sideload method
  • All looked fine until the reboot
  • It went in one boot loop
  • Then some “Try again” screen (or factory reset)

Okay, I thought, “Hey, I have an A/B phone”. Let’s switch the slot and try the old OS. So I went with fastboot set_active b.
But after the fastboot reboot it ended up in a boot loop.

Any ideas on how to continue?

I am considering to boot into recovery and “apply update” the a15 4.0 update to downgrade…

The advantage of the Local update method is that you hope to update and upgrade the recovery at the same time as system.

Likely sideload a16 system with a15 recovery for a phone still in manufacturer development is unsafe to depend upon.

So should I try to upade the recovery and retry the sideload?

(And what about sideloading the a15 4.0? So that I get “the old system” back?)

(And BTW, bootloader / etc unlocked. So I really should be able to get back into the thing without lossing all the data, I hope.)

The phone is dynamic partitions, so fastboot change of recovery might result in having to switch to fastbootd in order to continue. This then becomes something of an expert method.

The advantage of Local update is as said plus fail safe (hopefully).

Edit

… has the advantage that you change to a16 after others have tried :slight_smile:

Maybe this will only work if the a16 flash was fully rejected.

Well, I now know that Local update is better (well, could be added to the guide in the first post, that this method is actually recommended. The “Universal” sounds much more promissing.)

I still would like to rescue my phone with its data, really. I am happy to perform some “expert things”, if needed.

If you give yourself a break.

Then download the a16 IMG- ROM but do not use it

Now you can read the two scripts to give you an understanding of the partition layout.

If you are forced to fastbootd you can better decide what goes where.

In deciding what next, loosely speaking, think of Recovery having access to the “partition map”. The a15 map may have (unknown to me) differences to the a16 map.

Sorry to nit-pick did you triple check this was the correct switch (of course you did but just checking).

This is, what I did:

$ fastboot getvar current-slot
current-slot: a
Finished. Total time: 0.001s
$ fastboot set_active b       
Setting current slot to 'b'                        OKAY [  0.046s]
Finished. Total time: 0.046s
$ fastboot getvar current-slot
current-slot: b
Finished. Total time: 0.000s
$ fastboot reboot
Rebooting                                          OKAY [  0.000s]
Finished. Total time: 0.101s
2 Likes

So we have not yet tested the existing recovery.

Will the phone boot to recovery either by key press or fastboot command.

Then you perhaps have the chance

  • to confirm the e-Recovery version and slot.
  • try to sideload matching (assumed a15) NOT IMG- ROM.
1 Like

Okay, this feels quite strange.

boot slot b (as switched above) did not work very well at all. I only end up in fastboot. From where I can try recovery, but that loops back to fastboot.

After switching back to a, I can enter recovery (and it shows “slot a”). It shows 4.0, but not whether it’s A15 or A16 (Or at least, I can’t find it easily in the UI?).

I went to “advanced” and “Enable ADB”.

then

$ adb shell
FP5:/ # type getprop
getprop is /system/bin/getprop
FP5:/ # getprop ro.build.version.release
16

So did the previous sideload actually update the recovery?! I haven’t seen the recovery in the payload.bin (not 100% sure)?

I wonder, whether I should try to sideload the e-a16.zip again?

There are not so many reports of a16 upgrade for me to be confident of an answer.

I guess at this point

you did not “Try again”? Edit, this is history, probably not of help for me to comment.

It is quite possible it did, but it would have probably done this during the sideload … not at the start. I guess at the start of the previous sideload the “a15 map” was in place.

It would be something of a gamble if the next sideload here could grab the a16 map and re-jig any necessary partitions.

  • Previously mentioned, my intuitive preferred option would have been if you found a stable a15 recovery and attempted to go back to that. Seems that door is closed (??)

I tried. Was my first thing.

It’s somehow part of the Recovery or so.

It loops around some fairphone and “your bootloader is unlocked” logos and comes back to the exact same screen.

One can navigate (power up) to the back arrow, select (Power) and gets to the main recovery screen.