This should be the third post in a series «How I do my computing» but the other 2 are still on draft version, so this one comes first. but it was actually the last that happened. Everything started around October of last year when I started to make changes in the way I was using internet and technology in general, motivated mostly by feeling used and looking for getting back some control over my digital life, in other words privacy.
In that moment, I saw as a final step to be able to change my mobile and try to use something alternative, but I was still with more than a year before the actual telephone would finished the contract. Anyway I did some initial research and came up with some ideas.
I saw 2 good alternatives for the mobile hardware: Fairphone and Jolla. Fairphone is a Dutch company known or should be more known by its idea of having a modular telephone, easy to repair that will last longer than regular phones. Also for being the «ethical» alternative using fair-trade and conflict-free minerals in their production. Jolla was the spiritual successor of the Nokia telephones. Based in Finland and formed by Nokia ex-employees it was a romantic alternative to the mainstream brands.
Obviously the idea is to be apart from the data-mining companies so iOS, Android and Windows are not an option. The alternatives I found where Sailfish that it is based in the Linux Meego OS developed by Nokia and is the operative system in the Jolla devices. Then we have Fairphone Open OS, the open source alternative (based on android) offered by Fairphone for its devices. Another interesting alternative was the Ubuntu touch, initially proposed for the never realized Ubuntu edge, several devices has been ported with Ubuntu Touch including the Fairphone. Ubuntu Touch in addition offered a multi-platform OS, in other words the same Ubuntu that was running in the phone was running in the PC and therefore one can dock the device and use it as a computer. A similar concept to the Continuum of Microsoft. I also found in the OS ecosystem Cyanogenmod (forked to Lineage) and Replicant both free and open source OS’s based on android and being.
During all these months I kept checking the announcements of these companies and following the development of these platforms. After sometime I reduced my alternatives. In the Hardware the Jolla devices were very difficult to get and I didn’t see any new device coming in the close future. Somehow I got attracted of the idea of the «ethical» phone of Fairphone and it could be run with their open source Fairphone OS, the Ubuntu touch or the Cyanogen. Unfortunately that will leave Replicant out of the alternatives as it is limited to very few devices.Following that Ubuntu touch lost its support and was announced to not be developed further. in another tragic way Cyanogen come to an end but its development was continued as a fork under the name of Lineage OS. so It left still 2 alternatives to run a free OS in Fairphone.
An important aspect was the availability to run apps in the device. Sailfish OS, that is not completely open source, offers the alternative to include google play store and use Android apps. Ubuntu was short on that and the future didn’t look promising looking for motivating developers to include Ubuntu Touch in their plans, again a similar story to Windows Mobile. On the Fairphone Open OS and Lineage there are free apps (as in free speech and as in free beer) available in the F-droid repository and there are ways to get the installation files of other applications developed for android. It felt to me this was the way to go. at least for me.
Few weeks ago I started having issues with my mobile, restarting, not turning on, not charging, etc. The warranty was still valid and i left it in the technical service, despite it could be fixed I gave a look to the secondhand markets and I found a
new refurbished Fairphone 2. still in its original box, never opened. I dint think so much and I got it, so it was time to execute the plan.
I just charge the battery and started the phone to immediately install Lineage OS. I decided this over the Fairphone Open OS as it is getting a great pace in the development in the last months, the community is more active and satisfied. It was the first time for me doing this kind of things but I found very useful the information on the forums. I will summarize here the steps I did, if you’re not interested you can just skip this and check the result.
Based on the information in the Fairphone forum here and here I followed the following steps.
- Download modem zip11 and the most recent lineage build mentioned and save it on your internal memory or sd card. Optionally download the OpenGapps56 if you want Google Apps or alternatively the microg/unified NLP zip51 (by @Roboe) if you prefer free alternatives to G-Services instead.
- Flash the TWRP with OTA through the fastboot method129 (made by @z3ntu ):
- in your computer download the android command line tools open a command window (using rigth ctrl+ shift) and run:
- Install required drivers for your computer. I used the 15 second ADB installer 1.3.4
- On your device, go into Settings -> About and find the Build Number and tap on it 7 times to enable developer settings. Press back and go into Developer Options and enable USB debugging.
- From your computer, open a command prompt and type:
adb reboot bootloader
You should now be in fastboot mode.
- Download TWRP with OTA fix159 and copy it into the same folder as your adb and fastboot binaries (most probably C:\adb). Rename the image to twrp.img and type:
fastboot flash recovery twrp.img
- Go into TWRP mode (Vol. Up+Power-Button): It might take the phone up to one minute to enter system recovery. When this happens, a resting Android robot lying on its back with the message “No command”. To access the menu, press and hold the power button, wait for a second and then press and release the volume up button. Use the volume up and volume down buttons to navigate into the menu and confirm your choice with the power button.
- If needed make a backup (backup /data/media separately because TWRP doesn’t do this)
- Factory reset from the wipe menu (or format /data when device was encrypted)
- Choose menu «install», then «Install Image» and queue the files that you downloaded:
- the modem zip11
- The most recent lineage build from here: https://fp2.joutubes.nl/builds/full/375
- the optional OpenGapps56 or the alternative microg/unified NLP zip51.
- Flash, reboot (first reboot will take longer) and enjoy
All the needed files can be found here at all times: https://fp2.joutubes.nl/builds/full/375. I also found of great help this video
After following all this steps, Lineage was running on my Fairphone 2!
After this and testing that everything was working well on the telephone, I started installing apps. first I installed the F-droid catalogue and following the suggestions here and here I found alternative applications for many services. However there were still apps I wanted to have from the regular play store. for that purpose I used the Yalp store, that can be downloaded from F-droid. In that way I manage to complete all the applications I needed. But many of them were presenting warning or errors as they couldn’t recognizes google services on the telephone. fortunately it has a workaround that could be solved updating the GmsCore (manually) and patching with Tingle. This has to be done in every update of the OS.
- Open the folder where you installed tingle-master
- shift+ctrl+right click to open a command window
- Set the paths:
$env:Path += ";C:\\python27\"in the powershell
adb devicessometimes you will need to enable/disable MTP
python main.pyand choose option 1
- reboot to system
Having my Fairphone/Lineage has integrated smoothly with my previous computing changes at home. This will be the topic of another post, but as an advance I can tell that it is syncing my calendar, my contacts, my notes, my passwords and accessing my files in my ownCloud.
If you feel this is too much work to take care of your privacy, you can start checking how to do it with the devices you own now.