miniageOS (mini-LineageOS)

Definitie dumbphone (zelfstandig naamwoord): Een telefoon die daadwerkelijk gewoon een telefoon is en alleen doet wat je nodig hebt voor het dagelijks leven.

(Opmerking: de getoonde launcher is Olauncher; deze is niet inbegrepen maar wordt wel aanbevolen).

Wat is dit?

Het betreft scripts en bronnen die door deze scripts worden gebruikt om de onderstaande functionaliteiten te realiseren.

Wat is het niet?

  • Een launcher.
  • "Schermtijd"-achtige beperkingen.
  • Tijdelijke, omkeerbare commando's die bepaalde apps uitschakelen (die eenvoudig kunnen worden geheractiveerd in de Instellingen of na een update van de telefoon).
  • Een fork van LineageOS (het bouwt de officiële, up-to-date LineageOS, waarbij aanpassingen worden gedaan tijdens het build-proces).

Wat doet het?

  • Bouwt het systeembeeld zonder enige browser.
  • Compileert met een aangepast hosts-bestand, zodat de telefoon gekozen domeinen volledig blokkeert ("hard-block").
  • UI-wijzigingen:
  • Zet de telefoon in grijstinten en nachtmodus (blauwlichtfilter).
  • Past een vergrootglas toe op tekst en UI-elementen om aan te moedigen de telefoon verder weg te houden en zo het gezichtsvermogen te beschermen.
  • Schakelt animaties uit.
  • Bouwt zonder de gebruikersgerichte "Updater", zodat wijzigingen aan het besturingssysteem niet worden overschreven door OTA-updates.
  • Bevat geen app-store of Google Play Services in het systeembeeld (net als de officiële LineageOS).
  • Haalt de nieuwste LineageOS-updates en apparaatspecifieke vendor-updates op uit officiële bronnen vóór het bouwen, zodat elke build up-to-date is.
  • Behoudt alle bestaande apps, instellingen en andere gebruikersgegevens op telefoons waar LineageOS al op geïnstalleerd is.
  • Nadat het gewijzigde LineageOS-beeld is gebouwd en geflashed, downloadt en installeert het automatisch en tijdelijk de Aurora Store vanuit een betrouwbare bron (F-droid). Nadat de gebruiker benodigde apps heeft bijgewerkt of geïnstalleerd (zoals beveiligde berichtenapps, notities en kaarten), wordt de store automatisch weer verwijderd.
  • Vervangt de standaard LineageOS-camera-app door de Google Pixel-camera-app voor foto's van hogere kwaliteit, zonder dat GApps/Google Play Services nodig zijn.
  • Schakelt onnodige apps gebaseerd op machine learning uit die overmatig veel data en batterij verbruiken (Android System Intelligence en Private Compute Services).
  • Biedt de optie om selectief bepaalde Google- of provider-software uit de build te sluiten door te voorkomen dat hun "blobs" worden geëxtraheerd (zoals de "OK Google"-luistersoftware en Verizon-apps).
  • Vereist geen root-toegang voor deze wijzigingen.
  • Verhoogt de batterijduur aanzienlijk en vermindert het dataverbruik, simpelweg omdat de telefoon minder doet en minder software bevat.

⚠️ Disclaimer

Op dit moment zijn deze scripts alleen getest op een Google Pixel 7a. Hoewel ze waarschijnlijk compatibel zijn met andere Pixel-modellen, kan dit niet definitief worden gegarandeerd tot ze getest zijn. Voor niet-Pixel-telefoons is dit niet getest en kan dit destructieve resultaten hebben, of simpelweg falen voordat de build is voltooid vanwege verschillen in build-processen, bestandslocaties, etc.

Op dit moment wordt aangeraden dit buildsysteem alleen te gebruiken voor Google Pixel-toestellen.

Voorwaarden

Hardware en Software

  • Een computer met Unix/Linux (native of in een VM).
  • Ja: Linux.
  • Misschien: macOS of WSL (kan workarounds vereisen).
  • Nee: Windows.
  • Minimaal 16GB RAM (pas SWAP indien nodig aan).
  • Minimaal 300GB opslag, op een reguliere SSD of externe USB-schijf.
  • Alternatief: Je kunt bouwen op een EC2-instantie of vergelijkbaar, om vervolgens de output-bestanden naar je lokale machine te kopiëren en van daaruit te flashen.

Softwarevereisten

  • De officiële LineageOS moet al op je telefoon geïnstalleerd zijn.
  • Let op: het voor het eerst installeren van LineageOS wist alle gegevens op je telefoon.
  • Handleiding: https://wiki.lineageos.org/devices/{your-device-code-name}/install/
  • Je moet de LineageOS-handleiding "Build for {your-device-code-name}" hebben gevolgd tot aan de sectie "Preparing the build environment" en minimaal één keer repo sync hebben uitgevoerd.
  • Handleiding: https://wiki.lineageos.org/devices/{your-device-code-name}/build/

Instructies

  1. Clone de repository:

``bash git clone https://github.com/ofdryads/miniageos.git cd miniageos ``

  1. Configuratie:
  • Voer de juiste waarden in in config-example.sh, en hernoem of kopieer config-example.sh naar een bestand genaamd config.sh in dezelfde map.
  • Plaats alle domeinen die je wilt blokkeren in het hosts-bestand op replace/hosts.
  1. Scripts uitvoerbaar maken:

``bash chmod +x sync-mod-build.sh flash-customize.sh ``

  1. Uitvoeren:

``bash ./sync-mod-build.sh ` Zodra de build is voltooid, voer je uit: `bash ./flash-customize.sh ``

Bekende problemen

Bij het uitvoeren van ./extract-files.py gericht op de officiële LineageOS release zip (althans voor de Pixel 7a), zal het extraheren van de blobs mislukken door een fout in osaifu-ketai.patch. Dit heeft betrekking op een specifieke Japanse NFC-provider die voor de meeste Pixel-telefoons niet relevant is. Dit probleem kan worden omzeild door de regels onder de "FeliCa"-sectie in het bestand proprietary-files.txt uit te schakelen (commenten).

Herhaling van modificaties

Welke wijzigingen moeten bij elke build opnieuw worden toegepast en welke slechts eenmalig?

Bij elke build herhalen:

  • Toevoegingen aan het hosts-bestand: repo sync overschrijft dit. Je hoeft echter niets te doen bij herhaalde builds, zolang de HOSTS config-variabele verwijst naar een opgeslagen aangepast hosts-bestand op je computer buiten de LineageOS-broncode-map.
  • Uitschakelen van opgeslagen zoekinstellingen: repo sync overschrijft dit.
  • Blob-extractie: Google-firmware wordt af en toe bijgewerkt.
  • Installeren → verwijderen Aurora Store: Om te controleren op app-updates (indien er apps van derden zijn geïnstalleerd). Dit is nodig vanwege kwetsbaarheden in niet-bijgewerkte apps.

Eenmalige wijzigingen:

  • Bewerken van proprietary-files.txt.
  • Grijstinten / nachtmodus / animaties / UI-vergrootglas.

Voor wijzigingen die niet bij elke build herhaald hoeven te worden, kun je de variabelen in config.sh op false zetten nadat ze via een initiële build/flash zijn toegepast. De scripts zullen deze stappen dan overslaan terwijl de huidige status behouden blijft.

Beperkingen

Wat werkt er niet op een telefoon met deze build?

  • Bank-apps, Venmo, NFC/contactloos betalen (zoals Google Pay, Apple Pay of Samsung Pay).
  • RCS-berichten.
  • Let op: reguliere SMS, de meeste berichtenapps (Signal, WhatsApp) en iMessage-proxy-diensten (OpenBubbles/BlueBubbles) werken gewoon.
  • (De bovenstaande punten gelden voor elke telefoon met een ontgrendelde bootloader, inclusief toestellen met officiële LineageOS-builds).
  • Het openen van links (URL of QR-code) in een browser werkt niet, aangezien er geen browser is om de links te openen.

Aanbeveling: Als je een berichtenapp van een derde partij gebruikt, wordt sterk aangeraden om MicroG te installeren voor pushmeldingen. Zonder MicroG ontvang je de berichten wel, maar niet de meldingen.

Belangrijke opmerking over updates

Dit proces is bedoeld om elke paar maanden te worden herhaald. Het uitvoeren van dit script/het flashen van het beeld is het update-mechanisme. Het vervangt het OTA-systeem om te voorkomen dat modificaties worden ongedaan gemaakt door officiële LineageOS-releases. Meer dan 6 maanden wachten met updaten creëert beveiligingsrisico's. Dit geldt ook voor alle toegevoegde apps van derden.