Divest OS: Everything about Divest OS on the Fairphones

Very nice and compact comparison indeed. Thank you for posting this! :smiley:

+1


To save y’all a few clicks, the new mirror of DivestOS at DotSrc.org is at

1 Like

Have a FP3 here and will probably use it for some month (FP4 will be handed over Family internally and the FP5 will arrive soon but I would like to wait for some other custom rom alternatives).

I was thinking to give DivestOS a try, but I saw that root is not supported.
I don’t want to dive into discussions about root or not and the risks etc. - it’s finally my own choice :wink: .
(I know facts like, e.g. that the bootloader cannot be locked etc. - my FP4 is rooted as well)

So probably a dump question, but still I would like to get sure …
Does it actually mean, I will break or potentially brick the FP3, if I try to root with DivestOS installed?

I read DivestOS FAQ - rootSupport, but did not fully get if it is “just” a recommendation to not go for it, or if is technical impossible - so it will prevented that it will boot again, when one would try it or so. :thinking:

@Smojo
you won’t be able to relock, use verified boot, use OTA updates, or use the included recovery
but if you slap magisk on it or whatever it should work, but please don’t complain to me if something goes south and always keep backups :slight_smile:

4 Likes

No worries. I fully understand that this is my own responsibility and I would more like thank you for your quick replies here, as well as for your work in general. :wink:

Even I did not yet use Divest, I already use Mull day by day as my default mobile browser → really like it (started using it after reviewing your Browsers - DivestOS Mobile ). Really like your docs and your honesty (no marketing bull***t :nerd_face: )

FP3 is empty btw. so nothing to destroy or to backup before.
But of course there is a bkp strategy. (On the FP4 right now: via Neo Backup locally and transfered away from the phone via Syncthing to safe some more copies; Syncthing also used to safe other files like photos etc.; Contacts & Calendar via DAVx5)

Will let you know how it went and probably post some infos here.

1 Like

@SkewedZeppelin
Short feedback, as I started to prepare my little FP3 + Divest + root experiment
(Status: just downloaded needed files and read+try to understand the steps I have to run through; Updated the FPOS on the FP3 to the latest version; enabled OEM Unlocking)

I know it will never be possible to cover every single detail, for everyone and especially for everyone’s level of knowledge. Still I think, for some commands, it would help at least to have a little context or reference to an FAQ entry or so idk - Just my feeling.
So here the points I came along so far:

  • Device check in with/at Google (→ Open the Phone app and type *#*#2432546#*#*). I don’t remember that step from the FP4 for example. Afaiu it is only needed in case of issues enabling the OEM Unlocking. –> เครื่องมือแฟลช Android  |  Android Open Source Project
    I also don’t know if this is a big thing to contact google (for the checkin I mean) in this regards, but one or the other might not want to do so, so isn’t it a possible approach, to first try enable this option without the checkin?

  • the step to flash avb_custom_key - I did a little researched about this by myself as well and I think I got it.
    –> Device State  |  Android Open Source Project
    So a key to sign the version of Android (the ROM), which is also important for verified boot, right?! I think there is another thread ( Bootloader // AVB keys used in ROMs for Fairphone 3+4 ), discussing various ROMs, which just use a test key → what is not a good practice. (for my little root experiment, it is probably not really needed, as I will have to keep the bootloader unlocked so a verified boot it not a topic anyway - will still do it :wink: )

@Smojo
Indeed CHECKIN is only if the OEM Unlock is still grayed out on some devices.

And while you may not be relocking, especially while rooted, you should probably still flash the avb file.

There are some device specific steps here: https://divestos.org/builds/LineageOS/fp3/install.html
but you can really just substitute any other recovery recovery (TWRP/OrangeFox/Lineage), so that you can flash your addons.

3 Likes

Finally found some time to go on with this.

While flashing DivestOS to the FP3 I got an error and idk the reason.
fastboot update divested-20.0-20231110-dos-FP3-fastboot.zip
working until …

Sending ‘vendor_b’ (1048576 KB) FAILED (remote: ‘data too large’)
fastboot: error: Command failed

:thinking:

I ignored that and just went on with the other install steps.
Works as described :wink:

Have them very detailed documented here, so if one still needs that one day, feel free to ask.

I was confused as it was stated that the boot takes several minutes and I thought I have wait while I was seeing this picture which felt a bit cropped at the bottom.

Until I realized that this is already the start screen and I have to scroll down to start with the setup.

Not sure if it can be adjusted to the device display resolution? :thinking:

Also rooted successfully: How to root the Fairphone 3? - #105 by Smojo

1 Like

The internet says your fastboot command could be outdated.
You could try with the one from the current Android SDK Platform Tools, really make sure by checking fastboot --version.

latest

fastboot --version
fastboot version 34.0.5-10900879

:thinking: :man_shrugging:

1 Like

@AnotherElk
actually the opposite, an older version may be necessary

@Smojo
the website recommends 33.0.3: Bootloader - DivestOS Mobile

3 Likes

Will re-do the whole install procedure with older android tools. Generally the OS runs, but I just realized that the Divest OS apps (like browser etc.) are missing or at least they are not visible. Installing an Mull update from F-Droid at least tells me that the signing is different so something is there. ^^

F-Droid also shows a timeout when syncthing the Official Divest Repo. Could be another issue but we will see.

@Smojo
Do not bother restarting the steps over.
Your system is correctly installed if it is booting and you sideloaded it.

Mull is NOT included by default due to space issues, and F-Droid will prompt to install it on first run.
None of the other Divested apps are included either by default, the system is kept very minimal based on user feedback.
The signing isn’t different for the version in the DivestOS repo enabled by default, sometimes on first run it doesn’t refresh all repos correctly, try manually refreshing.

2 Likes

Hm refreshed manually several time and I always get:

Alternatively tried Neo Store and it gets a Network Error as well (only for the divest repo).

Have to check what’s wrong there, I had issues from time to time loading divestos.org in general in my private network, not sure what is the reason for that.

Edit:
Indeed I cannot reach divestos.org in my home WLAN. (same for the FP4 right now - as explained I remember that I had that from time to time)

Switching to mobile data on the FP4 and provide a hotspot to the FP3 it syncs the repo and installs Mull and Mulch (the probably missing initialization steps)

Have to check if this is an DNS issue or so. And why only for the divest website. :thinking: :man_shrugging:

@Smojo
It is highly likely you tripped the firewall and were permanently blocked.

Are you using any severely outdated web browsers? Like not updated in a year? Such as Firefox <100 or Chromium <100?

Also please don’t use Neo Store, it doesn’t support mirrors or delta index updates which results in increased load on the primary servers of f-droid.org and divestos.org.

Not aware of any.
Different devices and a lot of different browsers (LibreWolf, Chromium on the PC; Fennec, FOSS Browser, Mull, Cromite, etc. … Mobile) but non of them is so outdated.

But it explains why a router reboot solved it last time → new IP.

I’m in good contact with the Neo Apps main Dev so will ask about this (he is probably already aware).
Will switch to F-Droid on the FP3 at least to not bring to mich load on your repo. :wink:

@Smojo
Only the official F-Droid (and Basic) client does it proper:

1 Like

Is there an easy way for you to see why an IP was blocked?
(e.g. if I pm you my IP or restart the router and send you the new IP) I’m really wondering what goes wrong for me. :thinking: