AXP Magisk resurrection track: Speckit 009 port AXP/LOS22 to LOS23.

Ship Magisk like GOLDEN; KernelSU optional recycle only; parallel to sunfish-a16-rom standby.
This commit is contained in:
sunfish-admin committed 2026-09-16 21:56:22 +00:00
commit 12d2179c20
150 files changed
+26263

No files matched your search

+93
View File
@@ -0,0 +1,93 @@
# 003 — Build notes (LOS 23.2 sunfish vanilla)
**Host:** `rom-dev01` as `android-build`
**Tree:** `/srv/rom/src/lineage`
**Artifacts:** `/srv/rom/artifacts/003-…`
**Logs:** `/srv/rom/logs/003-…`
**ccache:** `CCACHE_DIR=/srv/rom/ccache` (export in build shell)
## Parallelism — squeeze the HW
Guest is **8 vCPU / ~62 GiB**. Policy for this host:
| Job | Default | Notes |
|-----|---------|--------|
| `mka bacon` / Soong ninja | **`-j8`** | Match `nproc`; do not leave `-j4` idle |
| `repo sync` | `-j8` OK | Network-bound; `-j4` fine if flaky |
| OOM during link | try `-j6` | Only then; document why |
Do **not** pass `-j` to `brunch` (it eats extra args as variant). Use
`breakfast` + `mka bacon -j8`, or `/srv/rom/logs/003-build/run-brunch.sh`.
If `mpstat` shows high **%steal**, the Proxmox host is oversubscribed — fix
outside this repo (pin/dedicate vCPUs); guest governors usually unavailable.
## Manifest (wiki-verified 2026-09-13)
```bash
mkdir -p /srv/rom/src/lineage && cd /srv/rom/src/lineage
repo init -u https://github.com/LineageOS/android.git -b lineage-23.2 --git-lfs --no-clone-bundle
repo sync -c -j8
```
Primary: https://wiki.lineageos.org/devices/sunfish/build/
Branch `lineage-23.2` listed for sunfish.
## Build (after sync + proprietary blobs)
```bash
export CCACHE_DIR=/srv/rom/ccache
export USE_CCACHE=1
cd /srv/rom/src/lineage
source build/envsetup.sh
breakfast sunfish userdebug
# extract proprietary blobs: TheMuppets lineage-23.2 → vendor/google/sunfish
mka bacon -j8 # do NOT pass -j to brunch; wrapper: /srv/rom/logs/003-build/run-brunch.sh
```
Target expected: `lineage_sunfish-userdebug` (confirm after `breakfast`).
## Metadata to capture on success
- `repo manifest -r` → artifacts dir
- SHA-256 of zip/images
- compressed build log
- `-j` used, wall time, host `nproc`/RAM note
## Status
- [x] repo init (`/srv/rom/src/lineage`, `lineage-23.2`, 2026-09-13)
- [x] repo sync (`finished 2026-09-13T21:27:26Z exit=0`; ~180G; log `/srv/rom/logs/003-sync/sync.log`)
- [x] proprietary blobs policy documented (factory base + AXP/GOS diffs later)
- [x] TheMuppets `lineage-23.2` synced → `vendor/google/sunfish`
- [x] first successful build — `#### build completed successfully` /
`END … exit=0` (2026-09-14T13:52:46Z); j8 segment **06:45:43**
- [x] artifacts + `repo manifest -r` + SHA-256 + `brunch.log.gz` →
`/srv/rom/artifacts/003-vanilla/20260914-lineage-23.2-sunfish/`
(rsync → `.local-artifacts/…` on laptop)
- [x] flash LAB + smoke (`docs/003-flash-lab.md`) — done 2026-09-14;
gate → `004` (`docs/003-gate-handoff.md`)
## R7 note (vanilla `003`)
For the first vanilla build: **factory-equivalent blobs only**. AXP/Graphene
diffs land in later hardening/compat features — not in the clean baseline.
## Proprietary blobs (qué son)
Android open source **no** incluye todo lo que el Pixel necesita para radio,
cámara, firmware, etc. Esos binarios cerrados de Google/Qualcomm se llaman
**proprietary blobs** (o “vendor blobs”). Sin ellos, `brunch sunfish` no
arranca hardware real.
### Decision (owner 2026-09-13) — no overthink
| Layer | Approach |
|-------|----------|
| **Base blobs** | Factory Google / Lineage-equivalent extract (e.g. TheMuppets or `extract-files` from factory) — same hardware binaries stock uses |
| **AXP diffs** | Only sunfish-relevant proprietary/packaging diffs from AXP A15 reference |
| **GrapheneOS diffs** | Historical **sunfish A13** where still applicable; plus ideas from a **currently supported Pixel** when code is shared and still relevant (sunfish is EOL — do not assume every modern GOS change ports) |
Do **not** chase exotic blob sets for location quality; NLP/services matter more than swapping vendor GPS blobs.