a6549605f0
Brings the second customized fleet host into kernel-agent's scope-tagged tree. Sibling PR coming in marfrit-packages with the arch/linux-ampere-fourier/ PKGBUILD + flat patch + config + extlinux hook (build-tree-ready form). Issue #6 ask #1 only — VP9 enablement (ask #2) and AV1 dec integration (ask #3) are explicitly deferred to a separate session per the user's direction. The ampere.yaml manifest documents what's excluded and why. ## Patches promoted Six patches from boltzmann:~/src/misc_patches/genbook/kernel/ get scope-tagged into kernel-agent's tree: soc/rockchip/rk3588/ 0001-...Add-pwm15-pinctrl-entries.patch (prereq for 0002) module/coolpi-cm5/ 0003-...Fix-power-off-by-enabling-RK806-as-system-power-controller.patch board/coolpi-cm5-genbook/ 0002-...Add-pwm-fan.patch 0004-...Enable-speaker-output-via-audio-graph-card.patch 0005-...Enable-USB-C-PD-charging-via-FUSB302.patch 0008-...Add-lid-switch-and-USB3-PHY-lane-config.patch Each new scope dir gets a README.md documenting what it carries and why the scope-level granularity makes sense (pwm15 is SoC-wide, RK806 power-off is SoM-level not board-level, the rest are board-specific GenBook quirks). Note on uncommitted-modifications flag in issue body: patches 0001-0004 have working-tree-only changes in misc_patches that fix malformed 'From: PATCH 000X/000Y' headers (placeholder text instead of an RFC-2822 author identity). The working-tree versions with proper 'From: Markus Fritsche <mfritsche@localhost>' headers are what we ship here — the unfixed-on-disk variants would fail patch -i header parsing on stricter implementations and are user-side cleanup that hasn't been committed back to misc_patches yet. Markus can commit the cleanup to that personal repo separately; this PR's ingestion does not depend on it. Patches 0006 (HAVE_GCC_PLUGINS Kconfig), 0009 (Bluetooth btrtl), 0010 (multi-driver suspend/wakeup) from the misc_patches series are intentionally NOT promoted here — they need different scope tags (arch/arm64/, driver/bluetooth/, soc/rockchip/rk3588/ + driver/ split) and will follow when their respective campaigns demand them. The ampere.yaml manifest documents the explicit-defer for each. ## fleet/ampere.yaml manifest Same shape as fleet/fresnel.yaml. Baseline pinned at marfrit/linux-rockchip branch linux-rk3588-marfrit @ f8f3ad934433 (the working tree on boltzmann; 18 commits ahead of v7.0-rc3, current 2026-05-15 tip). Six scope-tagged patch includes per the apply-order in the package (pwm15 pinctrl must precede the pwm-fan node consumer). ## ampere-specific bootloader path Documented in manifest. ampere boots from /boot/firmware/ (vfat partition on mmcblk0p1), not /boot/ (root partition) like fresnel. The marfrit-packages PKGBUILD's extlinux-add hook needs to write to /boot/firmware/extlinux/extlinux.conf, not /boot/extlinux/. ## ampere as 2nd aarch64 build host Per the README update in PR #7, ampere is now a secondary aarch64 build host. The manifest's build_host: section pins ampere as self-hosting primary for its own kernel, with boltzmann as secondary and fermi as fallback. This is the first manifest that has its own host listed as the primary build target — not ideologically pretty, but pragmatic: native arch, same uarch, full RAM, no cross-compile step, no need to wake another host.
93 lines
4.6 KiB
YAML
93 lines
4.6 KiB
YAML
# kernel-agent manifest for ampere (CoolPi GenBook / Rockchip RK3588)
|
|
#
|
|
# Status: bootstrap. ka-promote / ka-build / ka-install CLI not yet
|
|
# implemented; the canonical patch set + baseline below is the input
|
|
# for the manual flow that produces linux-ampere-fourier (same shape
|
|
# as fresnel's bootstrap reference build).
|
|
#
|
|
# Asks #2 (VP9 enablement on RK3588 rkvdec) and #3 (AV1 dec integration)
|
|
# from kernel-agent issue #6 are NOT addressed in this manifest —
|
|
# tracked separately for a follow-up sprint.
|
|
|
|
host: ampere
|
|
arch: arm64
|
|
soc: rockchip/rk3588
|
|
module: coolpi-cm5
|
|
board: coolpi-cm5-genbook
|
|
distro: archlinux-arm
|
|
|
|
baseline:
|
|
tree: marfrit/linux-rockchip
|
|
branch: linux-rk3588-marfrit
|
|
ref: f8f3ad934433bd7e1207d9b0b37e817a692b7ee9 # 2026-05-15 tip
|
|
upstream_compat: linux-7.0-rc3 # commits sit on top of v7.0-rc3 + 18 RK3588 deltas
|
|
base_path: boltzmann:~/src/linux-rockchip # the working tree
|
|
|
|
# Scope-tagged patch includes. Resolve to patches/<scope>/<file>.patch.
|
|
# Apply order matters: pwm15 pinctrl (soc) must precede the genbook
|
|
# pwm-fan node consumer.
|
|
includes:
|
|
- soc/rockchip/rk3588/0001-arm64-dts-rockchip-rk3588-Add-pwm15-pinctrl-entries.patch
|
|
- board/coolpi-cm5-genbook/0002-arm64-dts-rockchip-rk3588-coolpi-cm5-genbook-Add-pwm-fan.patch
|
|
- module/coolpi-cm5/0003-arm64-dts-rockchip-rk3588-coolpi-cm5-Fix-power-off-by-enabling-RK806-as-system-power-controller.patch
|
|
- board/coolpi-cm5-genbook/0004-arm64-dts-rockchip-rk3588-coolpi-cm5-genbook-Enable-speaker-output-via-audio-graph-card.patch
|
|
- board/coolpi-cm5-genbook/0005-arm64-dts-rockchip-rk3588-coolpi-cm5-genbook-Enable-USB-C-PD-charging-via-FUSB302.patch
|
|
- board/coolpi-cm5-genbook/0008-arm64-dts-rockchip-rk3588-coolpi-cm5-genbook-Add-lid-switch-and-USB3-PHY-lane-config.patch
|
|
|
|
# Explicitly NOT included this round (tracked for later sprints):
|
|
# - VP9 enablement for RK3588 rkvdec (issue #6 ask 2). /dev/video0 only
|
|
# advertises S265 + S264 today; vainfo lists 9 profiles, target is
|
|
# 10. Requires identifying the VDPU381/383 patch chain + possible
|
|
# DTS additions. RFC-stage work, scope unclear until research lands.
|
|
# - AV1 decoder integration (issue #6 ask 3). Kernel side is fine
|
|
# (/dev/video4 advertises AV1F). Backend libva-v4l2-request-fourier
|
|
# needs iter39 for a third fd. Backend work, not kernel.
|
|
# - misc_patches/genbook/kernel/0006 (arm64 Kconfig: do not select
|
|
# HAVE_GCC_PLUGINS). Local-only build-config; not for upstream and
|
|
# possibly redundant with the linux-rk3588-marfrit branch already.
|
|
# - misc_patches/genbook/kernel/0009 (Bluetooth btrtl RTL_SEC_PROJ
|
|
# non-fatal). Different subsystem; promote under driver/bluetooth/
|
|
# when a campaign demands.
|
|
# - misc_patches/genbook/kernel/0010 (multi-driver suspend/wakeup fix).
|
|
# Promote under soc/rockchip/rk3588/ or split per affected driver
|
|
# once the RockHard campaign decides the upstream-targeting shape.
|
|
|
|
config:
|
|
source: /proc/config.gz on running ampere kernel (7.0.0-rc3-ARCH+, hand-managed before this bootstrap)
|
|
strategy: snapshot, fold to baseline, accept-new with rationale on diff
|
|
|
|
package:
|
|
name: linux-ampere-fourier
|
|
versioning: "${baseline_ref}.kafr${pkgrel}" # 7.0.rc3.kafr1 etc.
|
|
install_mode: alongside
|
|
conflicts: []
|
|
provides: []
|
|
kernel_suffix: -ampere-fourier # /boot/firmware/Image-7.0.0-rc3-ampere-fourier
|
|
bootloader: extlinux
|
|
bootloader_path: /boot/firmware/extlinux/extlinux.conf # vfat partition on mmcblk0p1
|
|
boot_path: /boot/firmware/ # vfat, 1.5G, ~1G free
|
|
# ampere boots from a separate FAT partition (mmcblk0p1), unlike fresnel which
|
|
# uses the root partition's /boot/. The extlinux-add hook needs to write to
|
|
# /boot/firmware/extlinux/extlinux.conf, not /boot/extlinux/.
|
|
|
|
verify:
|
|
bar1_ssh_heartbeat: required
|
|
bar2_pkg_version: required
|
|
bar3_dtb_match:
|
|
- power-off via 'shutdown -h' actually powers down (RK806 system-power-controller wired)
|
|
- pwm15 pinctrl exposes group3-pwm15-m0..m3 entries
|
|
- audio: speakers driven via ES8316 graph (not just headphone)
|
|
bar4_per_patch_probe: opt-in
|
|
bar5_burn_in: skip # laptop, runtime not constant
|
|
|
|
build_host:
|
|
primary: ampere # self-host, 8 cores RK3588, 32 GB RAM, native arch
|
|
secondary: boltzmann # also RK3588 32 GB, kbuild-aarch64 container surrogate
|
|
fallback: fermi # hertz LXD, ALARM aarch64
|
|
# No distcc for kernel-agent builds — native make on the assigned host only.
|
|
# ampere is self-hosting today because boltzmann was busy with userspace
|
|
# builds when the bootstrap ran; either host can take the work.
|
|
|
|
backup:
|
|
pre_install: hertz:/sparfuxdata/kernel-agent-backups/ampere/${replaced_version}/
|