Flashing old Smartphones with Custom Firmware
We live in a world, where everything is thrown away after a short time. People aren't interested in repairing or reusing stuff, they just want the newest stuff, even if it doesn't have any advantage for them, but only disadvantages for the planet and all living being on it. Child labour and exploiting/destroying environments for rare elements to build electronic parts, which will be thrown away after a short time. This has to stop!
A good way to stop it, is to install an up-to-date operating system, which is most likely managed by programmers, who do this in their free time or by beneficial organisations. This process is called: “Flashing a custom firmware”.
Which old Smartphone should you use?
Obviously the most sustainable one. For me it's the Samsung Galaxy S5 (SM-G900F), because it was the last powerful device, which has a replaceable battery. Replacing a battery could extend the life of a phone for around 7 years (if the system is up-to-date). And it has everything I need, a good camera, a slot for microSD cards, a headphone jack and wifi. The only reason why I need a sim card is, because Signal is using it for authentication. Otherwise I could even live without one...
What do you need?
- Heimdall – Software to flash custom firmware
- plattform-tools – only adb to push the software on the phone
- LineageOS – the custom firmware/operating system and the custom recovery for SGS5 (SM-G900F)
- Mic Gain Mod – to gain the microphone (it is very quiet after flashing the custom firmware)
- F-Droid Privileged Extension – App store with permissions to install, update and remove applications
How to flash custom firmware?
Boot into download mode (Press HOME+VOLDOWN+POWER).
Connect your phone with a USB cable.
Execute following command:
heimdall flash --RECOVERY lineage-18.1-20220814-recovery-klte.img --no-reboot
It is important to have the no-reboot flag active. After that, remove the battery, put it in again and boot into recovery mode (Press HOME+VOLUP+POWER) and adb push the LineageOS image to /storage/emulated with the following command (your lineage version might vary)
adb push lineage-18.1-20220814-nightly-klte-signed.zip /storage/emulated
and choose “Apply Update –> Choose from internal storage” and choose the uploaded zip file.
If “Choose from internal storage” isn't selectable, just try
adb sideload lineage-xxxx.zip after choosing “Apply Update –> Apply from ADB”. There is a bug at this point and adb sideload will stop at 47%. Just wait some minutes, your device is working now and it will show you if it's done. Check the screen of your phone.
Factory reset/wipe data.
Reboot into system and wait a while. The first boot takes some time...
Important mods after system is ready: It's recommended to install a mic gain mod. I use MICGAIN-20201111-normal.zip and it works perfectly. This can easily be done with adb sideload in recovery mode.
After that, install F-Droid Privileged Extension with adb sideload, too.
It might be possible you have to reboot into recovery mod every time you used adb sideload.
Congratulation! You've just saved a lot of resources and use this old phone with the newest Android version for a long time.
Thanks for saving the planet...
Recommended apps from F-Droid Store
- OsmAnd+ – Navigation with offline maps. You really don't need to be online while driving/walking.
- DAVx5 – CalDAV/CardDAV synchronization, e.g. for your contacts/calender on disroot
- Simpletask – Useful todo list to manage several projects, which I am using for my grocery list, too
- Tusky – Really good and customizable client for Mastodon
- Signal FOSS – Free version of Signal. You have to scan the QR-Code and use it with F-Droid to get the app
- Open Camera – Camera with a lot of useful features. Better than the stock camera
- AnkiDroid – Flash card software, which can sync your cards and progress with your computer/smartphone/tablet