"Your data may be corrupt": /e/os booting into recovery and crashing on startup after running out of disk space

It was clearer in earlier edits of your post, I think …

So, your device is star2lte - Samsung Galaxy S9+, not a Fairphone 3 with which this topic started out.

Since the mkdir -p /mnt/userdata command doesn’t complain, /mnt/userdata should exist (which your later edits confirm). This would mean /dev/block/bootdevice/by-name/userdata doesn’t exist. The structure may be different on an S9+.

It says in https://gitlab.e.foundation/e/backlog/-/issues/6769
“We now have a recovery plan for that situation. Do not hesitate to reach out to us in case you face this problem again.”
So perhaps you could reach out by contacting helpdesk@e.email.
(They didn’t say whether the recovery plan was specific to the Fairphone 3 or more universal.)

Else … @tcecyk: You had some ideas in How to mount encrypted /data partition in recovery mode? … Where to start here :pray: ?

1 Like

samsung s9 will be a different mountpoint, see https://github.com/TeamWin/android_device_samsung_starlte/blob/android-9.0/recovery.fstab#L16 - try:

mount /dev/block/platform/11120000.ufs/by-name/USERDATA /mnt/userdata

or at least have a look around with “ls -l” on the “by-name” directory and look for userdata (if it’s not uppercase) or use find as in:

find /dev/block -iname userdata
2 Likes

Very good question - I checked: It was on 1.18-s-20231207. So yes, old version. I just forgot to update. I think there was no notification or I have overlooked it.

Thank you for your help!

I have this answers for both commands:

C:\Users\MyPC>adb shell
star2lte:/ # mount /dev/block/platform/11120000.ufs/by-name/USERDATA /mnt/userdata
mount: ‘/dev/block/platform/11120000.ufs/by-name/USERDATA’->‘/mnt/userdata’: No such file or directory
1|star2lte:/ #
1|star2lte:/ #
1|star2lte:/ # find /dev/block -iname userdata
/dev/block/by-name/USERDATA
/dev/block/platform/11120000.ufs/by-name/USERDATA
star2lte:/ #
star2lte:/ #
star2lte:/ # ls -lls -l
total 908
0 drwxr-xr-x 2 root root 40 1970-01-01 00:00:00.000000000 +0000 acct
0 drwxr-xr-x 2 root root 40 2024-05-30 09:24:10.811999999 +0000 apex
0 lrwxrwxrwx 1 root root 11 1970-01-01 00:00:00.000000000 +0000 bin → /system/bin
0 lrwxrwxrwx 1 root root 50 1970-01-01 00:00:00.000000000 +0000 bugreports → /data/user_de/0/com.android.shell/files/bugreports
0 drwxr-xr-x 2 root root 40 1970-01-01 00:00:00.000000000 +0000 cache
0 drwxr-xr-x 4 root root 0 1970-01-01 00:00:01.319999999 +0000 config
0 lrwxrwxrwx 1 root root 17 1970-01-01 00:00:00.000000000 +0000 d → /sys/kernel/debug
0 drwxr-xr-x 2 root root 40 1970-01-01 00:00:00.000000000 +0000 data
0 drwxr-xr-x 2 root root 40 1970-01-01 00:00:00.000000000 +0000 data_mirror
0 drwxr-xr-x 2 root root 40 1970-01-01 00:00:00.000000000 +0000 debug_ramdisk
0 lrwxrwxrwx 1 root root 12 1970-01-01 00:00:00.000000000 +0000 default.prop → prop.default
0 drwxr-xr-x 14 root root 5620 2024-05-30 09:24:12.935999998 +0000 dev
0 drwxr-xr-x 2 root root 40 1970-01-01 00:00:00.000000000 +0000 efs
0 lrwxrwxrwx 1 root root 11 1970-01-01 00:00:00.000000000 +0000 etc → /system/etc
0 lrwxrwxrwx 1 root root 16 1970-01-01 00:00:00.000000000 +0000 init → /system/bin/init
4 -rwxr-x— 1 root root 39 1970-01-01 00:00:00.000000000 +0000 init.recovery.samsungexynos9810.rc
0 drwxr-xr-x 2 root root 60 2024-05-30 09:24:10.823999999 +0000 linkerconfig
0 drwxrwxr-x 10 root system 200 2024-05-30 09:24:12.927999998 +0000 mnt
0 drwxr-xr-x 2 root root 240 1970-01-01 00:00:00.000000000 +0000 odm
0 drwxr-xr-x 2 root root 60 1970-01-01 00:00:00.000000000 +0000 odm_dlkm
0 -rw-r–r-- 1 root root 0 1970-01-01 00:00:00.000000000 +0000 odm_file_contexts
0 -rw-r–r-- 1 root root 0 1970-01-01 00:00:00.000000000 +0000 odm_property_contexts
0 drwxr-xr-x 2 root root 40 1970-01-01 00:00:00.000000000 +0000 oem
52 -rw-r–r-- 1 root root 50741 1970-01-01 00:00:00.000000000 +0000 plat_file_contexts
88 -rw-r–r-- 1 root root 87362 1970-01-01 00:00:00.000000000 +0000 plat_property_contexts
32 -rw-r–r-- 1 root root 31248 1970-01-01 00:00:00.000000000 +0000 plat_service_contexts
0 drwxr-xr-x 2 root root 40 1970-01-01 00:00:00.000000000 +0000 postinstall
0 dr-xr-xr-x 274 root root 0 1970-01-01 00:00:00.000000000 +0000 proc
0 lrwxrwxrwx 1 root root 15 1970-01-01 00:00:00.000000000 +0000 product → /system/product
0 -rw-r–r-- 1 root root 0 1970-01-01 00:00:00.000000000 +0000 product_file_contexts
0 -rw-r–r-- 1 root root 0 1970-01-01 00:00:00.000000000 +0000 product_property_contexts
0 -rw-r–r-- 1 root root 0 1970-01-01 00:00:00.000000000 +0000 product_service_contexts
16 -rw-r–r-- 1 root root 13833 1970-01-01 00:00:00.000000000 +0000 prop.default
0 drwxr-xr-x 3 root root 60 1970-01-01 00:00:00.000000000 +0000 res
0 drwx------ 2 root root 40 2024-05-14 20:19:44.000000000 +0000 root
0 lrwxrwxrwx 1 root root 11 2024-05-30 09:24:12.923999998 +0000 sbin → /system/bin
0 drwxr-xr-x 2 root root 40 1970-01-01 00:00:00.000000000 +0000 sdcard
0 drwxr-xr-x 2 root root 40 1970-01-01 00:00:00.000000000 +0000 second_stage_resources
664 -rw-r–r-- 1 root root 679308 1970-01-01 00:00:00.000000000 +0000 sepolicy
0 drwxr-xr-x 2 root root 40 2024-05-30 09:24:12.923999998 +0000 sideload
0 d—r-x— 2 root sdcard_r 40 2024-05-30 09:24:13.267999998 +0000 storage
0 dr-xr-xr-x 14 root root 0 2024-05-30 09:24:10.623999999 +0000 sys
0 drwxr-xr-x 5 root root 100 1970-01-01 00:00:00.000000000 +0000 system
0 drwxr-xr-x 2 root root 40 1970-01-01 00:00:00.000000000 +0000 system_dlkm
0 lrwxrwxrwx 1 root root 18 1970-01-01 00:00:00.000000000 +0000 system_ext → /system/system_ext
4 -rw-r–r-- 1 root root 870 1970-01-01 00:00:00.000000000 +0000 system_ext_file_contexts
4 -rw-r–r-- 1 root root 2136 1970-01-01 00:00:00.000000000 +0000 system_ext_property_contexts
4 -rw-r–r-- 1 root root 717 1970-01-01 00:00:00.000000000 +0000 system_ext_service_contexts
0 drwxrwxr-x 2 root shell 80 2024-05-30 09:24:13.215999998 +0000 tmp
0 drwxr-xr-x 2 root root 40 1970-01-01 00:00:00.000000000 +0000 vendor
0 drwxr-xr-x 2 root root 60 1970-01-01 00:00:00.000000000 +0000 vendor_dlkm
32 -rw-r–r-- 1 root root 28924 1970-01-01 00:00:00.000000000 +0000 vendor_file_contexts
4 -rw-r–r-- 1 root root 1863 1970-01-01 00:00:00.000000000 +0000 vendor_property_contexts
4 -rw-r–r-- 1 root root 375 1970-01-01 00:00:00.000000000 +0000 vendor_service_contexts
star2lte:/ #

I’m inside! What next? How to find the biggest video file?

This command do not work.

star2lte:/ # find . -type f -size +1000M
find: ./proc/2/task/2/exe: No such file or directory

I had also 1.18-dev-20231207 but now 2.0-dev, rooted.

The mkdir command comes first, else /mnt/userdata doesn’t exist (I suspect this is the case now). Please try in ADB shell …

mkdir -p /mnt/userdata
mount /dev/block/platform/11120000.ufs/by-name/USERDATA /mnt/userdata

If both commands succeed without complaining, you can continue with what was suggested further …

cd /mnt/userdata
find . -type f -size +1000M
1 Like

C:\Users\MyPC>adb shell
star2lte:/ # mkdir -p /mnt/userdata
star2lte:/ # mount /dev/block/platform/11120000.ufs/by-name/USERDATA /mnt/userdata
mount: /dev/block/platform/11120000.ufs/by-name/USERDATA: need -t
star2lte:/ # cd /mnt/userdata
star2lte:/mnt/userdata # find . -type f -size +1000M
./media/0/dXeIYgz80K9pJbDqVaIesA/Rp1fV0fLqzJQiU2VOz67iD/C3nsy+5NB+Y7PsWvYiC,SnJvJiwiBfQa/an++wV4WMjF16Q2wcwxkDA/n1ujkOfAwWR0qRzq44dxMC/fcOMPYP5JZ+0RYlQasOn59iK5fF/,3FOrQhA6ICX6WYcrA,Vkcn1vhzCo6HZR+BzID
./media/0/9wSFcb6gJ,yo0v6s,t1UiB/DYMdR2+rRVsFm6LmZnTNVB/cqjrDikmram6X0zCA2c1R2scSPxGtaaa
./media/0/Wx7kT7cn49901wIC,LZ,hC/yY+kYlx0mvVsevtvOgB1jC/_w5wLb2l1nPgtg4UHFhJKrtf5uBpjKk37
star2lte:/mnt/userdata #
star2lte:/mnt/userdata # rm ./media/0/9wSFcb6gJ,yo0v6s,t1UiB/DYMdR2+rRVsFm6LmZnTNVB/cqjrDikmram6X0zCA2c1R2scSPxGtaaa
star2lte:/mnt/userdata # [quote=“nilsl, post:16, topic:48762”]
star2lte:/mnt/userdata # cd /
star2lte:/ # cd /
star2lte:/ # umount /mnt/userdata
star2lte:/ # exit

I have delete one of this file. Restarted and…
NOW EVERYTHING start very good and work as before!

Thank u very much Elk! And Tcecyk too. Thank you.
I lost a lot of time for to find and solve this issue, but it was very good experience.
Thank u again for your time, attention and help!

1 Like

One question again: is it possible to make a backup of full system as it was possible to do previously in TWRP?
If yes, how?

Murena are apparently working on some complete backup capability, which is sorely missing when not using TWRP (although TWRP backups aren’t complete by default and TWRP might not be able to decrypt encrypted user data depending on the device), but this should still be months away.

To cover the state of the OS without user data, you can keep OS install files and the tools to install for the OS version you want to backup.
OS install files are here for your device, depending on whether you are running dev or stable
https://images.ecloud.global/dev/star2lte/
https://images.ecloud.global/stable/star2lte/

You can backup contacts, SMS and call logs via specialised Apps on the phone or via phone syncing tools like MyPhoneExplorer (this one’s Windows only, though).

You can copy “Internal Storage” via USB or possibly via phone syncing tools.

So far, so easy.


“Internal Storage” (the one made visible via USB) is only a part of the data partition holding user data.
So, what’s left out so far is the rest of the data partition, which has the user-installed Apps and their data as well as user settings. By default the user has no access here and is limited to whatever backup or export function all the user-installed Apps provide one by one.
And you can take notes of your settings.
And you can backup APK files of the installed Apps (for reinstalling the Apps more quickly than via a store) with tools like SAI (it’s important that the tools support so-called “split APKs”).

However, /e/OS allows you to enable “Rooted debugging” in the Developer options (once you made them available), and with this you can use adb root to give root to ADB. This gives you access to the rest of the data partition via ADB, so you could try to copy those parts from the phone via ADB, or there are also tools which can use this, example … Android Backup and Restore Tools (ABRT).

1 Like

Thanks for the clarification. I think it would be convenient to have a single backup system rather than several disparate programs.

Does this mean that e.OS can be rooted without having to install Magisk?
Now I use magisk for it.

Download last Magisk version, than rename magiskXX.apk into magiskXX.zip (whithout a real zipping procedure) and sideload it via adb ignoring fault message.
Than reinstall as an usual app.

I need to change icon link inside an old radio app but I don’t know how to change it inside.
What kind of developpers windows program can I best to use for to change it (update).

The latest version of the radio app works fine, but they removed the recording feature. So I would like to use the old version. It works fine, but the links in it are old and I can’t see the radio station icons.
My idea is to open both apps and make changes to the old version just in the link to icons part.
So I need to unzip the apk file of the new version of the application and feed the link from it into the old one and then repackage it into the apk file.
Could you help me with advice on how to do this?

Thank u!

No …

This is not rooting the device, this is only for ADB.

Sorry, I have no idea.

1 Like

Do you know how much RAM and disk space *(on average on Galaxy Note S10+ and Galaxy S9+) does e.OS take up?

You might try the app DevCheck.

I had the same issue and followed @mossroy’s advice, and that solved it for me! Thanks a lot for figuring this one out!

Just to summarize it here again:

  • on the recovery mode screen, use the top left arrow to go back and into advanced mode
  • enable adb debugging and use adb to get a shell into the system
  • mount /userdata which will be encrypted
  • look for the biggest file. I used find . -size +1G and it found four files with 1.1G each, so I deleted the two oldest ones. Looking them up later unencrypted they were exactly my signal backups.
  • reboot normally now

Glad it could be useful.

@goens Can you tell us the device model, and version of /e/ you have?
As explained above, the issue is supposed to be fixed for a while

@mossroy right, good point. I was also a bit confused by that (seeing that it was supposed to have been fixed about a year ago).

It’s an FP3 running 1.17-s-20231111351092-dev-FP3, which should be the latest (if I go on the update menu it says there’s no new versions)

oh never mind about the latest, I just saw there’s 2.1-t, but I guess that won’t just update, I have to do the sideload thing

As you’re on dev version, it’s probably necessary to sideload (the prod versions provide an OTA upgrade for this device)

The fact that you are on an old version probably explains why you could still have the issue

This topic was automatically closed after 61 days. New replies are no longer allowed.