'Leaving Apple & Google'? /e/OS draait zelfs al op een Samsung J5!

Ergens in een bureaula vond ik nog een Samsung Galaxy J5 uit 2016. Was ooit een prima budget-telefoon, maar lag nu al jaren te verstoffen. Ik was al een tijdje aan het nadenken over alternatieven voor het Google/Apple-ecosysteem en daar kon ik dit ouwetje nu mooi voor gebruiken. Hieronder lees je wat we (ja ook hier met Claude) tegenkwamen.

Waarom /e/OS?

In dezelfde lijn als bij mijn Pi5-project – zelf hosten, privacy behouden, minder afhankelijk van Big Tech – ging ik op zoek naar een “unGoogled” mobiel besturingssysteem. De opties die ik vond waren:

/e/OS heeft een eigen app store (App Lounge), een ingebouwde Nextcloud-sync, microG als privacy-vriendelijke vervanging voor Google Play Services, en zo nog een paar voordelen. Perfect voor mijn setup.

De hardware: Samsung Galaxy J5 2016 (SM-J510F)

Niet bepaald een krachtpatser:

Maar: het is een Qualcomm-chip (geen MediaTek, want die zijn nogal een nachtmerrie voor custom ROMs), Samsung heeft een relatief open bootloader-beleid en er is een actieve community die unofficial /e/OS builds maakt voor oude toestellen als deze.

De tools

Heimdall in plaats van Odin

Samsung’s officiële flash-tool Odin draait alleen op Windows. De open-source tegenhanger Heimdall werkt op Linux en macOS.

Op mijn M1 MacBook Pro wilde Heimdall niet installeren – macOS Tahoe blokkeert de oude installer die naar het systeemvolume wil schrijven. Na wat omwegen (de ARM64-build van GitHub, diverse workarounds) besloten we het anders aan te pakken: gewoon via de Pi5.

sudo apt install heimdall-flash

Na dit ene commando was Heimdall v2.1.0 al geïnstalleerd. Soms is Linux gewoon makkelijker.

TWRP Recovery

Team Win Recovery Project (TWRP) is de custom recovery die je nodig hebt om custom ROMs te flashen. Voor deze J5 is er officiële ondersteuning: twrp.me/samsung/j5xnlte.html

Alleen die TWRP-website heeft een captcha en dan werkt wget niet. Dus dan even handmatig downloaden en via scp naar de Pi kopiëren.

Het flash-proces

Stap 1: Voorbereiding

Op de telefoon:

  1. Ontwikkelaarsopties inschakelen (7x tikken op Build-nummer)
  2. OEM-ontgrendeling aanzetten
  3. USB-foutopsporing aanzetten

Stap 2: Download Mode

Samsung-telefoons hebben een speciale “Download Mode” voor het flashen van firmware:

  1. Telefoon uitzetten
  2. Volume OMLAAG + Home + Power tegelijk indrukken
  3. Volume OMHOOG ingedrukken

Je ziet vervolgens een groen logo met “Downloading…”

Stap 3: TWRP flashen

Met de telefoon aangesloten op een USB van de Pi:

heimdall detect
# Device detected

cd /home/jb/j5-flash
tar -xf twrp-3.7.0_9-0-j5xnlte.img.tar
heimdall flash --RECOVERY recovery.img --no-reboot

Oplet-momentje: Direct na het flashen moet je meteen naar recovery booten. Samsung’s stock ROM vervangt anders TWRP weer met de standaard recovery.

Bij de eerste poging was ik te langzaam. Gewoon opnieuw vanaf Download Mode – TWRP zit er nog niet echt op tot je ’m eenmaal geboot hebt.

Stap 4: /e/OS flashen - de omweg

Normaal gesproken zou ADB sideload nu moeten werken:

adb sideload e-1.17-q-20231125-UNOFFICIAL-j5xnlte.zip

Maar na meer dan 20 minuten stond het scherm nog steeds op “Patching system image unconditionally…” met een lege progressbar (alleen een bewegende rand, geen echte vulling). Twee keer geprobeerd, twee keer vastgelopen.

De oplossing: MTP en OpenMTP

Sideload werkte niet, maar MTP (Media Transfer Protocol) wel. Op de Mac:

  1. OpenMTP gedownload: openmtp.ganeshrvel.com – gratis, open-source, en werkt met Apple Silicon
  2. In TWRP: Mount → Data en Internal Storage aanvinken → MTP staat aan
  3. USB naar Mac, OpenMTP openen
  4. ROM-bestand rechtstreeks naar Internal Storage slepen
  5. Terug in TWRP: Install → selecteer de zip → Swipe to Flash

Dit werkte wél. De progressbar vulde snel tijdens het installeren, en na een paar minuten: “Successful”.

Het resultaat

Na een reboot (eerste boot duurde een minuut of twee) startte /e/OS op. Setup wizard doorlopen, WiFi verbinden en door naar het installeren van de apps die ik wilde.

Wat ik nu heb:

Geleerde lessen

  1. Heimdall op Linux > Heimdall op macOS – geen gedoe met installers en SIP
  2. ADB sideload is niet altijd betrouwbaar – MTP via OpenMTP werkte veel beter
  3. De knoppencombinatie na TWRP flashen moet snel – oefen vooraf welke vingers je waar moet houden
  4. Unofficial builds kunnen prima werken – de community-build van ronnz98 draait stabiel
  5. Oude hardware + nieuwe software = prima combo – deze J5 uit 2016 doet het nog prima als basis-smartphone

Toepassingen

De J5 wordt nu mijn “privacy phone” voor:


Ook dit project past weer perfect in het grotere plaatje van zelf hosten en privacy behouden, aka ‘digital sovereignty’.

Vibecoding om los te komen van BigTech blijft een mooi streven.


../