009: publish AXPR23 final source and public documentation

This commit is contained in:
sunfish-admin committed 2026-11-06 21:11:35 +01:00
1 parent 72930e0fd6
commit 2c714d8d34
35 files changed
+2498 -403

No files matched your search

+243 -380
View File
@@ -1,436 +1,299 @@
# AXP Resurrection Pro — Pixel 4a (sunfish)
# AXPR23: AXP Resurrection Pro para el Pixel 4a
**LineageOS 23.2 · Android 16 · Privacy-oriented custom ROM**
**LineageOS 23.2 · Android 16 · `sunfish` · adaptación comunitaria · EOL**
AXP Resurrection Pro (*AXPR*) brings the **AXP.OS Pro** experience forward onto
**LineageOS 23.2** for the **Google Pixel 4a**. It is aimed at users who want a
maintained Android 16 base, **microG** instead of proprietary Google Play
services, optional **root via Magisk**, and **extra kernel and system
hardening** drawn from established community sources (including
**GrapheneOS-class** kernel work), without tying you to deprecated AXP update
servers.
AXP Resurrection Pro (AXPR) es una adaptación de **AXP.OS Pro** para el
Google Pixel 4a. La idea no era crear otra ROM genérica basada en LineageOS,
sino recuperar la experiencia de AXP sobre una base Android más reciente,
manteniendo el soporte de hardware de LineageOS y añadiendo hardening propio.
This document describes **what the ROM contains**. It is written for end users
and reviewers, not for build infrastructure.
AXPR23 fue la adaptación para **LineageOS 23.2 / Android 16**. Su última build
es `23.2-20261025-PRO-sunfish`. La línea está cerrada porque LineageOS dejó de
publicar Android 16 para `sunfish`; la siguiente generación del proyecto es
**AXPR24**, sobre LineageOS 24 / Android 17.
**Current generation (example build id):** `23.2-20261008` · `BP4A.251205.006`
· `release-keys`
La forma más clara de entender la ROM es separar sus cuatro procedencias:
1. la base y el soporte de dispositivo de **LineageOS**;
2. la experiencia de producto recuperada de **AXP.OS / EXTENDROM**;
3. las ideas y parches de hardening procedentes de **GrapheneOS / Android
Hardening**;
4. el trabajo propio de **AXPR** para integrar y adaptar todo lo anterior a
Android 16 y al Pixel 4a.
---
## 1. At a glance
## 1. La base: qué aporta LineageOS
| Topic | What you get |
|--------|----------------|
| **Base** | LineageOS **23.2**, Android **16**, Pixel 4a only |
| **Google services** | **microG** + **GSF proxy**; no built-in Google account requirement |
| **Play Store** | **Play Store (Phonesky)** build patched for this project (exact-alarm and related fixes) |
| **Root** | **Magisk** embedded at build time; you activate from the Magisk app after flash |
| **Privacy apps** | **Aurora Store**, **Droidify**, **Fossify Gallery**, **Jelly** browser, **OpenEUICC** |
| **Hardening** | Kernel patches (Graphene-derived + CVE backports), **hardened_malloc**, trimmed system surface |
| **Updates** | Full ROM via **recovery sideload**; individual system apps can be updated in place when signed compatibly |
| **Bootloader** | **Unlocked** workflow (orange state); not designed for relocked retail boot |
AXPR23 conserva LineageOS como base real del sistema, no como una colección de
drivers reutilizados:
- LineageOS 23.2 y Android 16;
- árbol de dispositivo y soporte de hardware del Pixel 4a;
- vendor y firmware de `sunfish`;
- kernel Qualcomm `msm-4.14`;
- Launcher3, Dialer y componentes centrales del sistema;
- integración de radio, IMS, Wi‑Fi, cámara, eSIM y recovery;
- las protecciones de Android y LineageOS ya presentes en la base, como CFI,
Shadow Call Stack, KASLR y PAN.
Por eso AXPR sigue comportándose como una ROM LineageOS en lo esencial. Lo que
cambia es la capa de producto, aplicaciones, ajustes y hardening que se coloca
encima.
---
## 2. Everything added on top of LineageOS 23.2
## 2. Lo que recuperamos de AXP.OS y EXTENDROM
Stock **LineageOS 23.2 for sunfish** is a clean AOSP-derived system: no microG,
no Play Store, no Magisk, **test-keys** or UNOFFICIAL builds in typical user
trees, default Private DNS list, default connectivity check (Google), Gallery2
or Glimpse, full Lineage tool bundle on system, Google carrier/eUICC apps from
vendor makefiles, and the upstream **4.14** kernel without the AXP/Graphene
CVE and hardening layers below.
AXP/EXTENDROM aporta la referencia funcional de la ROM: qué aplicaciones deben
estar integradas, cómo debe comportarse el preroot, qué controles de privacidad
son útiles y qué partes de la experiencia merecía la pena conservar.
**AXP Resurrection Pro** keeps the Lineage base (Launcher3, Dialer, updaters,
device support) and layers the following.
### Servicios y aplicaciones
### 2.1 Product identity and visuals
AXPR23 integra el stack que en AXP hacía posible utilizar el teléfono sin
depender de una instalación completa de Google:
| Change | LineageOS default | AXPR |
|--------|-------------------|------|
| Build channel | Often UNOFFICIAL / nightly naming | **PRO** product (`…-PRO-sunfish`) |
| Signing | Test-keys on many community builds | **release-keys** (project keys) |
| Manufacturer / brand props | Lineage | **AXP Resurrection** system branding |
| Setup welcome | Lineage wording | **“Welcome to AXP Resurrection”** |
| Boot animation | Narrow band layout | **Full-screen** 1080×2340 animation |
| OTA zip name | `lineage-*.zip` | Matching **`AXP-Resurrection-Pro-*.zip`** (same payload) |
- **microG Services / GmsCore**;
- **GSF Proxy** para aplicaciones que esperan Google Services Framework;
- **Phonesky**, cliente Play parcheado y firmado para el proyecto;
- las bibliotecas nativas de GmsCore necesarias para aplicaciones como Maps;
- **Aurora Store**;
- **Droidify**;
- **Fossify Gallery** en lugar de Gallery2/Glimpse;
- **Jelly**, el navegador ligero de LineageOS;
- **OpenEUICC** como gestor privilegiado de eSIM.
### 2.2 Google replacement stack (not in vanilla LOS)
La ROM mantiene Launcher3 y las aplicaciones centrales de LineageOS. No intenta
convertir el teléfono en una interfaz completamente distinta: recupera la
selección de AXP donde aporta una diferencia práctica.
| Component | Purpose |
|-----------|---------|
| **microG Services (GmsCore)** | Open-source reimplementation of Play Services |
| **GSF Proxy** | Framework stub for apps expecting Google Services Framework |
| **Play Store (Phonesky)** | Play client build maintained for this ROM (exact-alarm and related fixes) |
| **GmsCore native libraries** | ARM64 JNI libs shipped **inside the image** (required for Maps / TLS stacks) |
### Preroot y producto
Vanilla Lineage does **not** ship these; you would install microG yourself on a
separate track.
El modelo de root sigue el de AXP/EXTENDROM:
### 2.3 Extra applications (vs typical LOS sunfish)
- Magisk se integra durante la construcción del `boot.img`;
- el manager se activa después de instalar la ROM;
- el usuario decide qué módulos y configuración quiere añadir;
- la ROM no fuerza una colección de modificaciones adicionales.
| App | Notes |
|-----|--------|
| **Aurora Store** | Play store front-end |
| **Droidify** | F-Droid client (instead of shipping classic F-Droid) |
| **Fossify Gallery** | Replaces **Gallery2 / Glimpse** on this product |
| **Jelly** | Lightweight browser added on **product** (Lineage 23 does not include Jelly in the default sunfish product set) |
| **OpenEUICC** | Privileged eSIM manager where Google EUICC is removed |
| **Magisk** | Preroot boot integration + manager (see §5 Root and Magisk) |
También se recuperan elementos de producto de AXP: identidad **AXP Resurrection
Pro**, pantalla de bienvenida, animación de arranque, nombre de paquete de
release y firma del sistema con las claves `release-keys` del proyecto.
**Unchanged vs LOS intent:** **Launcher3** (no NeoLauncher), standard Lineage
core apps, **Lineage WebView** as default provider.
### Ajustes y controles de privacidad
### 2.4 Settings and framework behaviour (AXP / GrapheneOS / Calyx class)
Estos cambios son funciones del sistema, no simples APKs añadidos:
These are **code changes in the platform**, not separate APKs.
| Función | Qué recupera de AXP |
|---|---|
| **Private DNS** | Lista amplia de proveedores conocidos, sin servidores propios de AXP |
| **Comprobación de conectividad** | Proveedor seleccionable o comprobación desactivada |
| **SUPL y asistencia de ubicación** | Controles para limitar asistencia adicional de localización |
| **Signature spoofing** | Opción restringida para microG y aplicaciones compatibles, desactivada por defecto |
| **Grabación de llamadas** | Desbloqueo de la ruta de Dialer donde el dispositivo y la región lo permiten |
| **Desactivar aplicaciones** | Acción clásica para aplicaciones instaladas por el usuario |
| **Reinicio automático** | Reinicio por inactividad desde los ajustes de seguridad |
| **Temporizadores Wi‑Fi/Bluetooth** | Desconexión automática tras el tiempo configurado |
| **Quick Settings sensibles** | Algunos controles requieren desbloquear el teléfono |
| **Capturas de pantalla** | Opción global para ventanas que usan `FLAG_SECURE`, desactivada por defecto |
#### Privacy and network
La meta de estos ajustes es devolver control al usuario sin imponer una política
única. La mayoría se mantienen desactivados o conservadores por defecto.
| Feature | What Lineage does | What AXPR adds |
|---------|-------------------|----------------|
| **Private DNS presets** | Small default set | **15+ named providers** (AdGuard, Mullvad, Quad9, Cloudflare, regional DoT hosts, etc.) |
| **Internet connectivity check** | Fixed Google-style check | **User-selectable** provider (Disabled, Amazon, Cloudflare, Google, Huawei, Kuketz, Microsoft, openSUSE, Ubuntu, …) — no AXP-owned servers |
| **Force disable SUPL** | Not exposed | Settings toggle; forces SUPL off for stricter GNSS |
| **Stop extra location assistance** | Not exposed | Toggle to stop extra Qualcomm / XTRA-style assistance when disabled |
| **Kernel command line privacy** | `/proc/cmdline` often world-readable | **Mode 0440** on `/proc/cmdline` for unprivileged apps (GOLDEN/AXP class) |
### Debloat selectivo
#### Security, biometrics, and media metadata
AXPR no utiliza una eliminación ciega de todo lo que parezca de Google. La
limpieza se adaptó a Android 16 y se hizo por grupos:
| Feature | What Lineage does | What AXPR adds |
|---------|-------------------|----------------|
| **Fingerprint permanent lockout** | Higher failed-attempt threshold | **Stricter lockout** (AXP constant: fewer attempts before permanent lockout) |
| **Build serial exposure** | Legacy paths may expose serial via deprecated APIs | **`Build.SERIAL` stays unknown**; real serial only via `Build.getSerial()` + permission |
| **Screenshot EXIF** | OS name, time, unique id in metadata | **Minimal EXIF** (width/height only — Calyx/AXP class) |
| **Recovery OTA metadata** | Can accept packages restricted to device serial | **Rejects** update packages that carry a `serialno=` constraint |
| **Signature spoofing** | microG base only | Developer option **`allow_signature_fake`** (default **off**) for microG / compatible apps |
| **Call recording** | Region/carrier gated | Developer option **`extendrom_call_recording`** unlocks recording path in Dialer where supported |
| **FLAG_SECURE / screen capture** | Apps can block capture | Optional **`disable_secure_windows`** (default **off**), works on **user** builds without `ro.debuggable=1` |
| **Disable app** | Android 16 emphasises **Archive**; disable hidden for many user apps | **Disable** restored for **user-installed** apps in Settings |
| **Native debug** | Standard ptrace policy | **`persist.native_debug`** — when enabled, relaxes ptrace scope for debugging (default off) |
1. se retiraron las aplicaciones Google de eUICC/LPA y se integró OpenEUICC;
2. se redujeron componentes de carrier, RCS y entitlement que no son necesarios
para el modelo microG;
3. se retiraron herramientas de mantenimiento que no forman parte del producto
final, como `bash`, `htop`, `nano`, `unrar` y `addon.d/50-lineage.sh`;
4. se redujo la superficie de diagnóstico sin eliminar los servicios necesarios
para radio, IMS, ubicación y conectividad;
5. no se distribuyen `ssh`, `sshd`, `scp`, `sftp`, `rsync` ni `procmem` como
herramientas de administración del teléfono.
#### Timeouts and System UI
| Feature | What Lineage does | What AXPR adds |
|---------|-------------------|----------------|
| **Automatic reboot** | Not in stock LOS Settings | Idle **auto-reboot** (Security settings) |
| **Bluetooth timeout** | Manual only | Turns **Bluetooth off** after configurable inactivity |
| **Wi‑Fi timeout** | Manual only | Turns **Wi‑Fi off** after configurable inactivity |
| **Quick Settings tiles** | Usable from lock screen per tile | **Sensitive tiles require unlock** first (GrapheneOS SystemUI patch) |
| **Keyguard / reboot** | Standard | SystemUI / SystemServer hooks for timeout and reboot integration (AXP server extensions) |
### 2.5 Packages and binaries removed (vs Lineage sunfish)
Selective **deblob**, not a generic “remove all Google” script.
#### Wave 1 — Google eUICC LPA
| Removed | Replaced by |
|---------|-------------|
| **EuiccGoogle**, **EuiccGoogleOverlay** | **OpenEUICC** (EuiccSupportPixel support packages **kept**) |
#### Wave 2 — Carrier / RCS Google & AOSP entitlement
| Removed (examples) | Kept for radio |
|--------------------|----------------|
| **CarrierServices**, **CarrierSettings**, **CarrierWifi**, **CarrierSetup**, **RilConfigService**, **grilservice** | **ims**, **QtiTelephonyService**, Qualcomm daemons, **Dialer**, **GoogleParts** |
| **PresencePolling**, **RcsService** (device makefile) | |
| **ImsServiceEntitlement** (telephony product) | |
#### Wave 3 — Lineage maintenance tools on system
| Removed from system / system_ext | Still on AXPR (AXP parity) |
|----------------------------------|----------------------------|
| **bash**, **htop**, **nano**, **unrar**, **addon.d/50-lineage.sh** | **curl**, **vim**, **zstd**, recovery **nano** |
#### Wave 4 — Debug / diag surface
| Removed | Explicitly kept |
|---------|-----------------|
| Qualcomm **diag_*** tools, **test_diag**, **imsrcsd** | **loc_launcher**, **lowi-server**, **xtra-daemon**, IMS RTP/data daemons, **cnss-daemon**; keep Lineage **disable_configstore** (overrides HIDL configstore HAL — required on A16 VINTF) |
| Some **AOSP debug** host tools on device where safe | **bpftool**, **alloctop**, **apexd-lsof** remain in build where the OS requires them |
#### Product OpenSSH (US-S4-1)
| Removed | Kept |
|---------|------|
| **ssh**, **sshd**, **scp**, **sftp**, **rsync**, **procmem** on product | **`init.openssh.rc`** stub only (no `sshd` binary) — remote admin via **adb** / Magisk |
### 2.6 Kernel, allocator, and CVEs (summary)
On top of the **same msm-4.14** tree Lineage ships:
- **30 GrapheneOS-derived** kernel patches (Deny USB, allocsize, fortify, slab, sanitize, ro_after_init, randomisation, …) — see §8 below.
- Extra **Kconfig**: FORTIFY, init-on-alloc/free, dmesg restrict, slab hardened, **SLAB_FREELIST_RANDOM**; **no Yama** (app compatibility).
- **449** documented **CVE** backport identifiers + companion fixes (e.g. USB lock-scope instead of raw **CVE-2022-49980** one-liner).
- **hardened_malloc** in **bionic** for 64-bit processes (with graphics/camera exclusions).
Lineage’s existing hardening (CFI, shadow stack, KASLR, PAN, …) is **retained**.
### 2.7 Intentionally **not** changed vs Lineage
- **No** GrapheneOS-style **location lockdown** kernel (GPS behaviour stays LOS-like).
- **No** Aosmium / proprietary AXP WebView baked in.
- **No** AXP online OTA or external market repositories.
- **No** KernelSU in the standard product.
- **No** bundled Play Integrity / banking Magisk modules.
- **Device tree / modem firmware** line unchanged (Pixel 4a vendor blobs).
Se conservaron deliberadamente los componentes Pixel, Qualcomm, IMS y eSIM que
el funcionamiento diario necesita.
---
## 3. Who this ROM is for
## 3. Lo que viene de GrapheneOS y Android Hardening
- You use **microG** and install apps via **Aurora** / **Droidify** / Play as you choose.
- You want **AXP-style settings** (private DNS presets, connectivity controls, classic **Disable app**, timeouts, optional signature spoofing and call-recording unlock) on a **current Lineage** tree.
- You accept **custom ROM risks**: unlocked bootloader, community maintenance, no warranty.
GrapheneOS y Android Hardening son referencias técnicas para determinadas
protecciones. AXPR no es GrapheneOS, no usa su plataforma completa y no copia
un kernel moderno de forma literal. Los parches se adaptaron al kernel no-GKI
4.14 de `sunfish`.
**Not goals of this ROM:** banking attestation guarantees, locked bootloader,
proprietary AXP OTA infrastructure, or shipping every Google / carrier app from
stock Pixel firmware.
### Kernel
Sobre el kernel de LineageOS se aplicó un conjunto Stage 1 de aproximadamente
30 parches, con medidas como:
- FORTIFY intra-object y comprobaciones de tamaño;
- inicialización de memoria al reservar y liberar;
- endurecimiento y aleatorización de las listas libres de SLAB;
- datos `ro_after_init`;
- sanitización de rutas sensibles;
- restricciones de `dmesg`;
- protección y control de determinadas rutas USB;
- ajustes de integridad y reducción de superficie de depuración.
La configuración final conserva CFI y Shadow Call Stack junto con el hardening
que ya aportaba Android/LineageOS.
### Backports CVE
El inventario de la build final contiene **449 identificadores CVE** y parches
acompañantes. Son backports seleccionados de distintas generaciones del kernel,
con problemas de memoria, drivers, USB, Bluetooth, red, filesystem y
subsystems Qualcomm.
Algunos ejemplos del inventario son:
`CVE-2015-7837`, `CVE-2017-18232`, `CVE-2020-0255`, `CVE-2021-28039`,
`CVE-2022-21546` y `CVE-2022-48674`, además de una serie amplia de correcciones
de 2023–2025.
No se aplicó un megapatch opaco: las series se comprobaron contra el offset
real del árbol `4.14.357-openela` y se conservaron listas de atribución. El
inventario completo está en `kernel-cve-backport-list.txt` dentro de la
documentación del proyecto.
### Allocator y userspace
La integración de **hardened_malloc** sigue la línea de trabajo de GrapheneOS y
DivestOS, adaptada a la memoria virtual del Pixel 4a:
- `hardened_malloc` en la libc de 64 bits;
- Scudo para procesos de 32 bits;
- excepciones específicas para cámara y SurfaceFlinger, para no romper funciones
básicas del dispositivo;
- SELinux en enforcing;
- cifrado de datos estándar de Android.
La protección se aplicó de forma compatible con el hardware. No se importaron
dependencias de MTE ni requisitos propios de dispositivos más modernos.
---
## 4. Preinstalled applications
## 4. Trabajo propio de AXPR
| App | Role |
|-----|------|
| **microG Services (GmsCore)** | Replaces Google Play Services for many apps |
| **GSF Proxy** | Google Services Framework compatibility layer |
| **Play Store (Phonesky)** | Google Play client (project-maintained APK) |
| **Aurora Store** | Alternative store front-end for Play |
| **Droidify** | Lightweight F-Droid client |
| **Fossify Gallery** | Gallery (replaces Lineage Gallery2 / Glimpse on this product) |
| **Jelly** | Small browser on the product partition |
| **OpenEUICC** | eSIM / EUICC management (replaces Google EUICC where removed) |
| **Magisk** | Root manager (stub until you complete first-time setup) |
| **LineageOS core** | Launcher3, Dialer, Messaging, etc. |
La parte más importante del proyecto fue hacer que esas piezas funcionaran
juntas en una base distinta. Ese trabajo es el que convierte el conjunto en una
adaptación de AXP y no en una lista de parches:
**WebView:** default is **Lineage / AOSP WebView**. You may install another
WebView provider and select it under **Developer options → WebView
implementation** (Aosmium and other legacy AXP WebViews are **not** shipped as
default).
### Portar AXP a Android 16
- localizar los equivalentes de Android 16 para ajustes y servicios que AXP
implementaba sobre una generación anterior;
- adaptar los cambios de Settings, SystemUI, SystemServer, Dialer y framework;
- conservar la compatibilidad con el vendor y el kernel `sunfish`;
- revalidar microG, Phonesky, eSIM, radio y las aplicaciones integradas;
- combinar el debloat con los servicios que Android 16 aún necesita.
### Construir el WebView del proyecto
AXPR integra el AOSmium del proyecto mediante la cadena **Vanadium → Mulch →
AOSmium**. Hubo que adaptar el build de Chromium/WebView, generar una versión
compatible con las dos ABIs necesarias y conectar el proveedor mediante el
overlay estático de LineageOS. El resultado final selecciona AOSmium, pero
mantiene el mecanismo Android para instalar y elegir otros proveedores.
### Integración y compatibilidad
También son trabajo propio de AXPR:
- seleccionar qué partes de AXP seguían teniendo sentido en Android 16;
- adaptar los offsets y excepciones de los backports al kernel real;
- integrar allocator, Magisk, aplicaciones, permisos y overlays en un único
producto;
- mantener la firma, el empaquetado y el flujo de recovery de AXP;
- probar el resultado en el Pixel 4a y corregir incompatibilidades concretas,
en lugar de importar configuraciones completas de otra ROM.
---
## 5. Root and Magisk
## 5. Matriz de procedencia y diferencias
- Magisk is integrated into the **boot image at ROM build time** (AXP / EXTENDROM
style **preroot**), not as a normal preinstalled Play-style system app only.
- After flashing, open **Magisk** once and allow it to **download and install**
the current manager APK if prompted.
- **Do not** use “Install to inactive slot” or repeated boot repatching unless
you know you need it: the boot image is already prepared. Extra patching often
confuses the app and can break A/B slots.
- The home screen line **“Ramdisk: Yes/No”** describes how Magisk would install
on a *stock* device; on preroot builds it may read **No** even when root works.
Check **Magisk version** and whether apps can request superuser.
- **Zygisk**, **DenyList**, and modules are **your choice** after activation;
the ROM does not ship banking or Play Integrity fix modules.
La siguiente tabla resume qué aporta cada proyecto y qué trabajo se hizo en
AXPR. “GrapheneOS / AH” indica una referencia técnica o una familia de parches;
no significa que AXPR incorpore GrapheneOS completo.
**KernelSU** is **not** part of this product line.
| Componente | LineageOS aporta | AXP / EXTENDROM aporta | GrapheneOS / AH aporta | Trabajo AXPR en la build final |
|---|---|---|---|---|
| **Base y hardware** | Android 16, device tree, vendor, radio y recovery | — | — | Portar la experiencia AXP a `sunfish` sin cambiar la base de dispositivo |
| **Servicios Google** | Base sin microG ni Play | Modelo microG + GSF Proxy + Phonesky | — | Adaptar permisos, JNI, privilegios y empaquetado a Android 16 |
| **Aplicaciones** | Launcher3, Dialer y apps centrales | Aurora, Droidify, Fossify y OpenEUICC | — | Seleccionar versiones, ubicaciones y permisos compatibles |
| **WebView** | Framework y selección de proveedores | Necesidad de conservar el WebView del producto | Chromium/Vanadium como referencia técnica | Construir e integrar AOSmium mediante Vanadium → Mulch → AOSmium |
| **Root** | No incluido | Preroot de EXTENDROM | — | Integrar Magisk en `boot.img` sin convertirlo en una app de sistema obligatoria |
| **Privacidad y UX** | Ajustes estándar | DNS, conectividad, llamadas, spoofing, timeouts y controles AXP | Ideas puntuales de SystemUI | Reubicar y adaptar los controles a Settings/SystemUI Android 16 |
| **Debloat** | Paquetes de la base | Objetivo de reducir superficie | — | Cuatro oleadas selectivas sin romper radio, IMS, eSIM ni Qualcomm |
| **Kernel** | `msm-4.14` y hardening Android existente | Orden y selección de parches del track AXP | Stage 1, FORTIFY, slab, sanitización y alloc hardening | Adaptar aproximadamente 30 parches al árbol real de `sunfish` |
| **CVE** | Parches upstream disponibles | Política de backports | Fuentes y referencias de hardening | Integrar y verificar 449 identificadores en series aplicables |
| **Allocator** | Bionic y Scudo de Android | Objetivo de allocator reforzado | `hardened_malloc` y modelo de excepciones | Adaptar `hardened_malloc` a 64 bits, Scudo a 32 bits y VA39 |
| **SELinux y cifrado** | Base Android/LineageOS | Requisitos de producto | Referencia de endurecimiento | Mantener SELinux enforcing y cifrado de datos |
| **Identidad y release** | Formato de build LineageOS | Forma de empaquetado AXP Pro | — | Branding, `release-keys`, ZIP completo y flujo recovery/sideload |
En forma de comparación rápida:
| Área | LineageOS 23.2 limpio | AXPR23 |
|---|---|---|
| Servicios Google | No incluidos | microG, GSF Proxy y Phonesky |
| Aplicaciones | Conjunto estándar de LineageOS | Aurora, Droidify, Fossify, Jelly y OpenEUICC |
| WebView | Proveedor de LineageOS | AOSmium del proyecto como proveedor seleccionado |
| Root | No incluido | Magisk preroot en `boot.img` |
| Ajustes | Opciones estándar | Controles de DNS, conectividad, ubicación, llamadas y privacidad de AXP |
| Debloat | Paquetes estándar de la base | Limpieza selectiva adaptada a microG y `sunfish` |
| Kernel | `msm-4.14` de LineageOS | Stage 1, FORTIFY, backports CVE y configuración reforzada |
| Allocator | Bionic estándar | `hardened_malloc` para 64 bits y Scudo para 32 bits |
| Identidad | Build LineageOS habitual | Producto PRO firmado con `release-keys` |
| Actualizaciones | Nightlies de LineageOS | ZIP completo por recovery/sideload |
AXPR mantiene la base de dispositivo de LineageOS y mejora sus capas de
producto, privacidad y hardening. No es una copia literal de GrapheneOS ni una
continuación oficial de AXP.OS: es una adaptación bastante directa de AXP.OS
Pro, con las mejoras y correcciones necesarias para Android 16.
---
## 6. Settings and toggles (reference)
## 6. Estado de AXPR23 y última build
Same features as **§2.4**; quick lookup by menu area.
AXPR23 está **EOL / archivada**. LineageOS dejó de publicar nuevas builds de
Android 16 para `sunfish` al comenzar la línea Android 17. No habrá nuevas
features ni nuevas builds AXPR23; se conserva como referencia y rollback.
These appear in **Settings** / **Developer options** (exact menus follow AOSP
Lineage layout). Names may be localized.
- **Build:** `AXP-Resurection-Pro-23.2-20261025-sunfish.zip`
- **Base:** LineageOS 23.2 / Android 16
- **SHA-256:** `9d205fd3cc945438dfff3a23b129bf88516c7654f5922bc2ee4d478f9485eef0`
- **Siguiente línea:** AXPR24 sobre LineageOS 24 / Android 17
### 6.1 Privacy and network
AXPR24 no es una actualización automática de AXPR23. Es una nueva adaptación
que debe volver a validar aplicaciones, WebView, allocator, kernel y packaging
contra Android 17.
| Feature | What it does |
|---------|----------------|
| **Private DNS providers** | Extended preset list (AdGuard, Mullvad, Quad9, Cloudflare, Google DoT, regional providers, etc.) in addition to Lineage defaults |
| **Internet connectivity check** | Configurable connectivity validation (AXP-style behaviour; no dependency on AXP-owned servers) |
| **Force disable SUPL** | When enabled, disables SUPL-assisted GNSS (stricter location privacy) |
| **Stop extra location assistance** | When enabled, reduces extra Qualcomm / XTRA-style assistance daemons |
## Descarga
### 6.2 Security and developer
La última build publicada es un ZIP completo para el Google Pixel 4a
(`sunfish`), firmado con las claves de release del proyecto:
| Feature | What it does |
|---------|----------------|
| **Signature spoofing** | Developer option to allow microG / selected apps to spoof signatures (restricted API) |
| **Call recording unlock** | Toggle to allow call recording where supported (AXP / EXTENDROM class) |
| **FLAG_SECURE override** | Optional global override for screen capture blocking (default **off**) |
| **Native debug / ptrace** | `persist.native_debug` — when enabled, relaxes ptrace scope for debugging (default off) |
| **Disable app** | Classic **disable** for user apps restored alongside Android’s archive behaviour |
[**Descargar AXPR23 — AXP.OS sobre LineageOS 23 para Pixel 4a**](https://vbits.me/download/284/)
### 6.3 Timeouts (Security / connected devices)
El botón usa Download Monitor y conserva el contador dinámico de descargas.
| Feature | What it does |
|---------|----------------|
| **Automatic reboot** | Reboot after configurable idle time |
| **Bluetooth timeout** | Turn off Bluetooth after inactivity |
| **Wi‑Fi timeout** | Turn off Wi‑Fi after inactivity |
- **Build:** `AXP-Resurection-Pro-23.2-20261025-sunfish.zip`
- **Tamaño:** 1.397.472.560 bytes (1,30 GiB)
- **MD5:** `23378f132ac8b1f53606183451715a9c`
- **SHA-256:** `9d205fd3cc945438dfff3a23b129bf88516c7654f5922bc2ee4d478f9485eef0`
- **Instalación:** ZIP completo mediante recovery/sideload. Haz una copia de
seguridad antes de instalarlo.
### 6.4 Branding
## Créditos
- **Build type:** Lineage **PRO** channel naming (`AXP Resurrection Pro` product)
- **Release keys** (not `test-keys`) on shipped builds
---
## 7. System surface changes (deblob summary)
Full package-level detail is in **§2.5**. Short overview:
AXP Resurrection Pro **selectively removes** components that AXP Pro omitted or
that are unnecessary on a microG device. This is **not** a blind “remove
everything Google” script.
**Typical removals (by category):**
| Category | Examples of what is removed or not shipped |
|----------|---------------------------------------------|
| **Google EUICC / LPA** | Google’s eUICC app (OpenEUICC replaces user-facing LPA) |
| **Carrier / RCS Google** | Selected Google carrier and RCS packages not needed for microG |
| **Lineage maintenance tools on device** | Interactive shells and convenience packages on **system** that AXP Pro did not ship (e.g. `bash`, `htop`, `nano`, `unrar`, Lineage `addon.d` helper) |
| **Lab / debug commands** | Further debug-only binaries trimmed in the full “wave 4” product |
**Retained (examples):** IMS, telephony services, Wi‑Fi / cellular stack,
Widevine, camera, Qualcomm services required for daily use, `curl` / `vim` where
AXP Pro kept them.
**Product partition:** OpenSSH **binaries** are not shipped; an **`init.openssh.rc`
stub** may remain (AXP Pro parity) without shipping `sshd` on product.
---
## 8. Kernel and memory hardening
**Kernel version line:** Linux **4.14** (Qualcomm msm-4.14), as shipped by
Lineage for Pixel 4a — **not** upgraded to a GKI 6.x kernel.
### 7.1 Already strong on Lineage (kept)
Examples: Clang CFI, shadow call stack, stack protector, KASLR, PAN, hardened
usercopy, restricted perf events, and related options in the upstream sunfish
defconfig.
### 7.2 GrapheneOS-derived Stage 1 pack (30 patches)
Backported **GrapheneOS / Android Hardening** series via the AXP kernel patch
collection, including:
| Series | Purpose (summary) |
|--------|-------------------|
| **Deny USB** | Optional hardening around USB attack surface |
| **allocsize** | Allocation size hardening helpers |
| **bugon** | `ksize` / BUG_ON integrity checks |
| **fortify** | Intra-object FORTIFY helpers in kernel |
| **misc** | Miscellaneous hardening commits |
| **random** | Brk / argument randomization |
| **ro** | `__ro_after_init` and related read-only data hardening |
| **sanitize** | Page / slab sanitization helpers |
| **slab** | SLAB hardening companions |
| **unused** | Removal of unused kernel API noise |
**Kernel config enabled with this stack (examples):**
- `CONFIG_FORTIFY_SOURCE`
- `CONFIG_INIT_ON_ALLOC_DEFAULT_ON` / `CONFIG_INIT_ON_FREE_DEFAULT_ON`
- `CONFIG_SECURITY_DMESG_RESTRICT`
- `CONFIG_SLAB_HARDENED`
- `CONFIG_SLAB_FREELIST_RANDOM` (US-S5-1 class)
- **Yama LSM not enabled** (compat with apps using self-ptrace; matches classic AXP kernel posture)
**Not ported:** GrapheneOS **location lockdown** kernel policy (this ROM keeps
Lineage-style location behaviour and precision).
### 7.3 Userspace allocator
- **hardened_malloc** (64-bit) integrated into **bionic** for eligible processes,
with exclusions for graphics / camera stacks where required for stability.
### 7.4 CVE backports
The ROM applies a large set of **Linux kernel CVE backports** on top of the
4.14 sunfish kernel, from the same curated lists used in AXP / Divest-style
trees:
| Set | Count | Notes |
|-----|-------|--------|
| **Primary backport set** | **429** patch entries | Stable “clean offset” apply list |
| **High-offset batches 1–3** | **27** extra patch entries | Larger backports with relaxed offset matching |
| **Unique CVE identifiers (combined)** | **449** | Deduplicated ids in the list file below |
**Full CVE identifier list:** [`kernel-cve-backport-list.txt`](kernel-cve-backport-list.txt)
(one CVE id per line, sorted).
**Special cases (not in the 449 list as-is):**
- **CVE-2022-49980** — raw one-liner backport is **denied**; a **lock-scope /
UAF companion patch** is applied instead (USB subsystem stability).
- Additional CVE paths may appear on a **denylist** when they conflict with
sunfish drivers (Wi‑Fi, audio, etc.); those are skipped intentionally.
Platform **Android security patch** level follows **LineageOS merges** (e.g.
`2026-09-01` on recent builds). **Vendor** (bootloader/modem) patch level
remains on the **2023-09-05** line appropriate for Pixel 4a vendor blobs.
---
## 9. Verified Boot and signing
- Builds are signed with **project release keys** (`release-keys`).
- **AVB** metadata uses the project key; **verification flags** suit an
**unlocked** bootloader with Magisk (not a locked retail verified-boot product).
- **Do not** downgrade vendor security patch below the ROM’s minimum without
expecting install blocks or encryption init failures.
---
## 10. Installation (summary)
1. **Unlock bootloader** (erases data).
2. Flash **boot** + **dtbo** from the **same** ROM package if you are not already
on this ROM’s recovery (Pixel 4a uses recovery-in-boot).
3. Boot **recovery** → **Factory reset / format data**.
4. **Apply update → ADB sideload** the full `AXP-Resurrection-Pro-*.zip`.
5. Reboot, complete setup, then **Magisk** first-time APK install as above.
Use the **full OTA zip**; flashing only `boot.img` does not update system,
microG, or apps.
---
## 11. What this ROM does **not** promise
- No official Google certification or Play Protect “device integrity” guarantee.
- No bundled **Play Integrity Fix** or banking modules.
- No **AXP.OS** online update servers or external market repositories.
- No **NeoLauncher** (Lineage Launcher3 remains).
- No **KernelSU** in the standard build.
- **Banking apps** may work in work profiles or Island; that is **app-specific**
and not a ship guarantee.
---
## 12. Credits and lineage
- **LineageOS** — base operating system and device support.
- **microG project** — free Google services reimplementation.
- **Magisk** (topjohnwu) — root framework.
- **AXP.OS / EXTENDROM** — product philosophy, preroot Magisk packaging, and
many userspace behaviours cloned on this port.
- **GrapheneOS / Android Hardening** — kernel patch series (via AXP kernel
patch collection).
- **Community apps:** Aurora, Droidify, Fossify, OpenEUICC, Jelly, etc.
AXP Resurrection Pro is an **independent community port**. It is not an official
LineageOS, Google, or AXP.OS GmbH product.
---
## 13. Document history
| Version | Date | Notes |
|---------|------|--------|
| 1.1 | 2026-10-11 | Added **§2** delta vs LineageOS (features, removals, framework) |
| 1.0 | 2026-10-11 | Initial public feature list for `23.2-20261008` generation |
For maintainers: internal engineering docs remain separate under `docs/` in the
source repository.
AXPR23 se apoya en el trabajo de **AXP.OS / EXTENDROM**, **LineageOS**,
**microG**, **GrapheneOS / Android Hardening**, **Vanadium / Mulch / AOSmium**,
Magisk, OpenEUICC y los proyectos de las aplicaciones integradas. Es una
adaptación comunitaria independiente para `sunfish`.