初始化奇妙小屏幕控制器项目
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
# AXP313A / cpufreq candidate kernel
|
||||
|
||||
The production application version is intentionally unchanged. This directory describes the
|
||||
separately named `6.1.31-matrix-axp313a1` kernel used to repair the WalnutPi ZeroW PMIC binding.
|
||||
|
||||
Source inputs are fixed to:
|
||||
|
||||
- WalnutPi Linux branch `6.1.31`, commit `30ff3fd5cf45417622b447a12e7a947402ffe34d`.
|
||||
- Upstream MFD commit `75c8cb2f4cb218aaf4ea68cab08d6dbc96eeae15`.
|
||||
- Upstream regulator commit `60fd7eb89670d2636ac3156881acbd103c6eba6a`.
|
||||
- Upstream identifier fix `4628b804555773daa982d9578d89fe04fcdde374`.
|
||||
|
||||
The build used the official GitHub archive named
|
||||
`walnutpi-linux-6.1.31-30ff3fd5.tar.gz`; its measured SHA-256 is
|
||||
`8659bb3d64313c4693c3605374167a8145186e5c9d43eb771a52a7359699302f`.
|
||||
The fixed archive is registered at
|
||||
`发布更新相关/其他依赖/kernel-source/walnutpi-linux-6.1.31-30ff3fd5/` so the kernel can be
|
||||
rebuilt without network access. It is a build input and is never copied into an IMG or OTA.
|
||||
|
||||
The exact production files accepted by the browser and real HUB75 GPIO tests are registered at
|
||||
`发布更新相关/其他依赖/aarch64-kernel/6.1.31-matrix-axp313a1/`. Future IMG exports install this
|
||||
precompiled payload and do not rebuild the kernel unless patches, DTS, or kernel configuration
|
||||
change.
|
||||
|
||||
`scripts/build_axp313a_kernel.sh` accepts an already extracted source tree and a copy of the
|
||||
running board's `/boot/config-6.1.31`. It never downloads dependencies. The three verbatim
|
||||
upstream patches, the WalnutPi 6.1 reconciliation patch, and the board DTS patches are verified
|
||||
against `patches/SHA256SUMS` before use. WalnutPi's branch already contains a partial AXP313A
|
||||
backport, so the reconciliation patch asserts that baseline and completes the three pinned
|
||||
upstream changes using the vendor kernel's older power-off API. The follow-up DTS patch keeps
|
||||
the bootloader's DLDO1 VCC-IO rail explicitly always-on at 3.3V; DCDC3 remains at the measured
|
||||
bootloader value of 1.10V so the candidate does not raise a non-CPU rail. The final local
|
||||
build-only patch replaces a vendor UWE5622 Makefile's output-tree-relative include lookup with
|
||||
Kbuild's `$(srctree)` path. It is required only so the unchanged board configuration can be
|
||||
built in the isolated `O=` directory; it does not change driver logic. A second mechanical
|
||||
build-only patch applies the same `$(srctree)` correction to the five Realtek module directories
|
||||
identified in the first config audit. A third patch covers the separately enabled RTL8192EU
|
||||
directory. A fourth covers the enabled `CONFIG_88XXAU=m`/RTL8812AU directory found by auditing
|
||||
every vendor entry in the wireless parent Makefile, rather than only symbols prefixed `RTL`.
|
||||
Its PHYDM include root is fixed in a separate final patch so each discovered build assumption
|
||||
remains independently auditable. These patches do not change C source, feature selection, or
|
||||
runtime paths. The RTL88x2CS `CONFIG_RTL8822C` branch has one additional `TopDIR` include fixed
|
||||
to `$(srctree)` after the full module build reached that otherwise output-tree-relative file.
|
||||
|
||||
The install path is deliberately separate from the vendor kernel:
|
||||
|
||||
- `/boot/Image-matrix-axp313a1`
|
||||
- `/boot/sun50i-h616-walnutpi-1b-matrix-axp313a1.dtb`
|
||||
- `/boot/sun50i-h616-walnutpi-1b-emmc-matrix-axp313a1.dtb`
|
||||
- `/lib/modules/6.1.31-matrix-axp313a1`
|
||||
|
||||
The managed boot script consumes `/boot/matrix-kernel-good` once before each candidate boot.
|
||||
Only `matrix-axp313a-health.service` recreates it after the kernel, AXP313A, cpufreq, application,
|
||||
and HUB75 checks pass. If the candidate fails and reboots, the absent marker selects the original
|
||||
`Image` and original DTB. Original boot files are retained as `.matrix-original` copies.
|
||||
Reference in New Issue
Block a user