Wat is miniageOS?
miniageOS is een verzameling scripts en bronnen die bedoeld zijn om een officiële LineageOS-build aan te passen tot een zogenaamde 'dumbphone'. Het doel is om de functionaliteit van een smartphone te beperken tot de essentie, zonder in te leveren op hardwarekwaliteit (zoals de camera).
Belangrijkste kenmerken:
- Softwarematige beperkingen: De browser en app-store worden volledig uit het systeembeeld verwijderd. Er wordt een aangepast hosts-bestand gebruikt om specifieke domeinen hard te blokkeren.
- UI-optimalisaties: Het systeem wordt ingesteld op grijstinten, nachtmodus en een vergrootglas-effect op tekst om het gebruik te ontmoedigen en het gezichtsvermogen te sparen.
- Systeemwijzigingen: De standaard camera-app wordt vervangen door de Google Pixel-camera voor betere kwaliteit, en energieverslindende machine learning-apps worden uitgeschakeld.
- Updates: Het systeem omzeilt de standaard OTA-updater om te voorkomen dat modificaties worden overschreven; updates gebeuren handmatig via een nieuw build-proces.
Technische vereisten en beperkingen:
- Hardware: Vereist een Linux-omgeving, minimaal 16GB RAM en 300GB opslagruimte.
- Compatibiliteit: Momenteel primair getest op de Google Pixel 7a.
- Inleveringen: Door de aanpassingen en de ontgrendelde bootloader werken bank-apps, NFC-betalingen (zoals Google Pay) en RCS-berichten niet.
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
- Clone de repository:
``bash git clone https://github.com/ofdryads/miniageos.git cd miniageos ``
- 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.
- Scripts uitvoerbaar maken:
``bash chmod +x sync-mod-build.sh flash-customize.sh ``
- 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.
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
- Clone de repository:
``bash git clone https://github.com/ofdryads/miniageos.git cd miniageos ``
- 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.
- Scripts uitvoerbaar maken:
``bash chmod +x sync-mod-build.sh flash-customize.sh ``
- 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.