MiniageOS:LineageOS 的“功能机”版本
MiniageOS: "Dumbphone" Version of LineageOS

原始链接: https://github.com/ofdryads/miniageOS

本项目提供了一套自定义构建系统,旨在为 Google Pixel 设备打造“功能机”版本的 LineageOS。它通过移除浏览器、应用商店及 Google Play 服务,将标准智能手机转换为极简设备,同时保留高质量的相机功能。 主要特性包括: * **隐私与极简:** 系统级广告拦截(通过自定义 hosts 文件)、灰度 UI、蓝光过滤以及禁用动画。 * **性能:** 通过禁用后台机器学习和不必要的服务,大幅提升电池续航并减少数据流量消耗。 * **安全:** 移除 OTA 更新程序以保持系统修改,建议定期手动构建以维护安全性。 * **功能:** 虽然失去了 NFC 支付、银行应用和浏览器支持,但仍支持基础通讯(Signal、短信)和地图功能。系统提供临时的 Aurora Store 安装程序以便进行初始应用设置,且不会在设备上保留商店应用。 **要求:** 一台至少具备 16GB 内存和 300GB 存储空间的 Linux 系统电脑。目前仅针对 Google Pixel 7a 进行过测试并推荐使用。使用者需具备 LineageOS 构建流程的相关经验,方可利用这些修改脚本。

Hacker News 社区正在讨论“MiniageOS”项目,该项目旨在为 Google Pixel 设备开发一个精简版的、具备“功能机(dumbphone)”特性的 LineageOS 系统。其目标是在简化智能手机界面的同时,保留摄像头和触摸屏等高端硬件功能。 讨论中指出了几个技术难题和常见的困扰: * **构建要求:** 用户对该项目编译镜像需要 300GB 剩余空间感到震惊,但也有人指出,这对于繁重的 Android/AOSP 构建过程来说是“常态”。 * **“功能机”的定义:** 社区就配备触摸屏和摄像头的设备是否能真正被称为“功能机”展开了争论。一些人指出,许多市面上以此为卖点的现代设备仍然支持应用程序并配备了先进硬件。 * **隐私与 RCS:** 参与者讨论了该构建版本的功能局限性,特别提到 RCS 短信功能依然存在问题。一些用户质疑为何 RCS 的集成依赖于 Google 的安全认证;而另一些人则认为,由于 RCS 流量会通过 Google 服务器,注重隐私的用户应完全避免使用它。 总的来说,对于那些既想减少智能手机干扰又不想牺牲硬件质量的用户,该项目被视为一项极简主义的有趣实验。
相关文章

原文

Create a stripped-down "dumbphone" version of LineageOS for your Google Pixel without giving up the camera quality and touchscreen of a smartphone.

dumbphone (noun): A phone that is actually just a phone and only does what you need it to do for day-to-day life.

app-list

Launcher shown is Olauncher (not included but recommended)

Scripts, and resources used by those scripts to do what it does (see "What it does")

  • A launcher
  • "Screen time"-like restrictions
  • Temporary, reversible commands that disable certain apps, which can be trivially re-enabled in Settings or when the phone gets an update
  • A fork of LineageOS (it builds the official, up-to-date LineageOS, with modifications being made at build time)
  • Builds the system image without any browser
  • Compiles with a custom hosts file so that your phone will "hard-block" any domains you choose
  • UI changes:
    • Sets the phone to grayscale and night mode (blue light filter)
    • Applies a magnifier to text and UI elements on the phone to encourage holding it further away and protecting eyesight
    • Disables animations
  • Builds without the user-facing "Updater" so that you will not overwrite changes made to the operating system with OTA updates
  • Does not include any app store or Google Play Services in the system image (like official LineageOS)
  • Pulls the most recent LineageOS updates and device-specific vendor updates from their official sources before building, so each build is up to date with the official project
  • Preserves all existing apps, settings, and other user data on phones that already have LineageOS installed
  • After the modified LineageOS image is built and flashed to your phone, it auto-downloads and installs the Aurora Store temporarily from a reputable source (F-droid), waits for you to update or install any apps you need (like secure messaging, notes, and maps), then auto-uninstalls the store when you are done
  • Replaces the default LineageOS camera app with the Google Pixel camera app for higher quality photos without needing GApps/Google Play Services
  • Disables unnecessary machine learning-based apps that use excessive data and battery power (Android System Intelligence and Private Compute Services)
  • Option to selectively exclude certain Google/carrier software from the build by preventing their "blobs" from being extracted, such as the "OK Google" listening software and Verizon apps
  • Replaces the default LineageOS camera app with the Google Pixel camera app for higher quality photos without needing GApps/Google Play Services
  • Disables unnecessary machine learning-based apps that use excessive data and battery power (Android System Intelligence and Private Compute Services)
  • Option to selectively exclude certain Google/carrier software from the build by preventing their "blobs" from being extracted, such as the "OK Google" listening software and Verizon apps
  • No need for root access to make any of these changes
  • Drastically increases battery life and reduces data usage just by virtue of the phone doing less and having less on it
  • As of now, these scripts have only been tested on a Google Pixel 7a. While they are likely compatible with other Pixel models, I cannot guarantee this conclusively until tested. For non-Pixel phones, it is untested and could have destructive results, or simply fail before completing the build due to differences in build processes, file locations, etc.
  • At this point in time, I do not recommend trying to use this build system for any phone other than a Google Pixel.
  • A computer running Unix/Linux (either natively or in a VM)
    • ✅ Yes: Linux
    • ❔ Maybe: macOS or WSL (may require workarounds)
    • ❌ No: Windows
  • At least 16GB RAM (adjust SWAP accordingly)
  • At least 300GB storage, either on your regular SSD or an external USB one
    • In lieu of the above hardware/OS requirements, you could build on an EC2 instance or similar, then copy the build output files to your local machine and flash from there.
  • Have official LineageOS already installed on your phone
  • Have followed the LineageOS "Build for {your-device-code-name}" guide on their wiki, up to the "Preparing the build environment" section and have run "repo sync" at least once before
  1. Clone this repo:
git clone https://github.com/ofdryads/miniageos.git
cd miniageos
  1. Configure:
  • Enter the correct values in config-example.sh, then rename or copy config-example.sh to a file called "config.sh" in that same folder
  • Put any and all domains you want to block in the hosts file at replace/hosts
  1. Make the scripts executable:
chmod +x sync-mod-build.sh flash-customize.sh
  1. Run
  1. Once the build has completed, run:
  • When running ./extract-files.py pointing at the official LineageOS release zip (at least for Pixel 7a), extracting the blobs will fail because of an error from "osaifu-ketai.patch", which iirc references a file that is not where it expects it to be. This patch is related to a specific Japanese NFC provider that is not relevant to most Pixel phones. The issue can be bypassed by commenting out the lines under the "FeliCa" section in the "proprietary-files.txt" file.

Which modifications need to be re-applied with each build vs. which are one-and-done?

  • Hosts file additions
    • Why: repo sync will overwrite. However, you do not need to do anything for repeat builds, so long as the HOSTS config variable points to a saved custom hosts file on your computer that is outside the LineageOS source code folder
  • Disabling saved settings searches
    • Why: repo sync will overwrite
  • Blob extraction
    • Why: Google firmware gets updates occasionally
  • Install -> uninstall Aurora Store to check for app updates (if any 3rd party apps were installed from there)
    • Why: Vulnerabilities in un-updated apps
  • Editing proprietary-files.txt
  • Grayscale/night mode/animations/UI magnifier

For changes that do not need to be re-applied each build, you can set these variables to "false" in config.sh after they have been applied through an initial build/flash, and the scripts will simply skip these steps while preserving their current state

What will not work when using a phone running this build?

  • Banking apps, Venmo, NFC/contactless pay (like Google Pay, Apple Pay, or Samsung Pay)
  • RCS messaging
    • However, regular SMS, most messaging apps (Signal, WhatApp), and iMessage proxy services (OpenBubbles/BlueBubbles) will work just fine
  • (The points above apply to any phone with an unlocked bootloader, including ones running official LineageOS builds)
  • Opening links (URL or QR code) in a browser will not work, since there is no browser to open the links.
  • If using a third party messaging app, I highly recommend installing MicroG to be able to get push notifications. You can get the literal messages without it, but not the notifications.

This is meant to be repeated every few months or so. Running this script/flashing the image is the update mechanism. It replaces the OTA system to avoid the modifications being undone by official LineageOS releases. Going 6+ months without updating creates security risks. This goes for any 3rd party apps you add as well.

联系我们 contact @ memedata.com