Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,11 @@ jobs:
env:
DEBIAN_FRONTEND: noninteractive
STOCK_RELEASE_URL: >-
https://raw.githubusercontent.com/MiSTer-devel/SD-Installer-Win64_MiSTer/76fd6f4ced6350b0ad56a7013b41526f47e3a2fb/release_20260907.7z.001
https://raw.githubusercontent.com/MiSTer-devel/SD-Installer-Win64_MiSTer/76fd6f4ced6350b0ad56a7013b41526f47e3a2fb/release_20260907.7z.002
STOCK_RELEASE_MD5: 8cd4edca838fdc226390e3fb04f3ca79
STOCK_RELEASE_SHA256: e5bea8413adc249f420e08a48e5cdab9b8c5da04bf52d81dc5261f0f350adf66
STOCK_RELEASE_SIZE: "117936766"
https://raw.githubusercontent.com/MiSTer-devel/SD-Installer-Win64_MiSTer/cd80db9c0ab64ba38be95071a090a80c367d63cf/release_20260912.7z.001
https://raw.githubusercontent.com/MiSTer-devel/SD-Installer-Win64_MiSTer/cd80db9c0ab64ba38be95071a090a80c367d63cf/release_20260912.7z.002
STOCK_RELEASE_MD5: 7cec2206e2a1133aa307c541219aa08f
STOCK_RELEASE_SHA256: 35fcbaca57cd2471b1d353f3dd4bae7c7e67256f8c5c8b2d6d5cbcc78269a7ea
STOCK_RELEASE_SIZE: "126546478"
STOCK_UBOOT_SHA256: e2d46cf9fe1ec40ca2c9c7409870249f267e06f70e5736dc6d30b4e21fe62a64
STOCK_UBOOT_SIZE: "515141"
STOCK_UPDATEBOOT_SHA256: 6ff2d50a080e26d7173b61c52083e9cc42ca658db0c5031b4da1c45c74a562f2
Expand Down
21 changes: 13 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@ with every MiSTer kernel patch carried in-tree as a plain `.patch` file applied
pristine, hash-verified kernel.org tarball.

It is a **drop-in replacement**: the unmodified, stock `MiSTer` binary and every existing
core run on it unchanged.
core run on it unchanged. (Since 2026-09-12 that means **Main_MiSTer Release 20260912 or
newer**: the Switch controller's IMU/LED naming fix moved from our kernel to Main_MiSTer
#1307/#1308, so an older `MiSTer` binary on this image sees a phantom IMU pad and dark
Switch player/home LEDs.)

## What ships

Expand Down Expand Up @@ -87,7 +90,7 @@ mainline can hold it.
| | Stock MiSTer | This project |
|---|---|---|
| **Kernel** | 5.15.1 from Nov 2021 to 2026-09-07 with **zero** `5.15.y` stable updates ever merged; **6.18.38 since Release 20260907**, pinned the same way — 12 `6.18.y` releases behind our pin at the time of writing | **6.18 LTS**, on a live `.y` line with security backports |
| **Kernel delta** | 5.15: 110 commits on a squashed-import fork with no shared ancestry with mainline — so no `merge-base`, and no per-commit disposition. 6.18: a fresh ~70-commit re-port onto a squashed `v6.18.38` import, same shape | **40 patch files** against a pristine tarball, each with provenance, upstream status, and an evidence-backed record |
| **Kernel delta** | 5.15: 110 commits on a squashed-import fork with no shared ancestry with mainline — so no `merge-base`, and no per-commit disposition. 6.18: a fresh ~70-commit re-port onto a squashed `v6.18.38` import, same shape | **38 patch files** against a pristine tarball, each with provenance, upstream status, and an evidence-backed record |
| **Buildroot** | 2021.02.4 — **unchanged by Release 20260907** (`/etc/os-release` `PRETTY_NAME`, both releases) | **2026.08** (~5 years of upstream work) |
| **glibc / gcc** | 2.31 / gcc 10-era — **unchanged by Release 20260907** (`libc.so.6 → libc-2.31.so`; `strings` shows `GNU C Library (GNU) stable release version 2.31`) | **2.44 / 15.3.0** |
| **OpenSSL** | **1.1.1k — EOL since 2023-09-11**, no upstream fixes since; **unchanged by Release 20260907** (`strings usr/lib/libssl.so.1.1`, both releases → `OpenSSL 1.1.1k 25 Mar 2021`) | **3.6.4** |
Expand Down Expand Up @@ -157,7 +160,7 @@ document records what changed and which rows here it dates).
| Phase | State | What that means |
|---|---|---|
| **0 — Recon & decisions** | ✅ Complete | Patch triage, ABI-contract verification, five open questions decided (ADRs 0010–0014) |
| **1 — Kernel & initramfs** | ✅ Complete | 6.18 LTS pinned; all 40 patches apply cleanly (re-measured 2026-09-11 at `patch -p1 -F0`, 40/40, zero fuzz); `zImage_dtb` builds warning-free, boots under QEMU **and on real hardware** — from the **CI-built artifact**, not a local build |
| **1 — Kernel & initramfs** | ✅ Complete | 6.18 LTS pinned; all 38 patches apply cleanly (40/40 re-measured 2026-09-11 at `patch -p1 -F0`, zero fuzz; `0040`/`0041` retired 2026-09-12 and the surviving hid-nintendo stack re-measured 7/7 on 6.18.51); `zImage_dtb` builds warning-free, boots under QEMU **and on real hardware** — from the **CI-built artifact**, not a local build |
| **2 — Rootfs & testing** | ✅ Complete | Buildroot 2026.08, glibc 2.44, reproducible ext4 image with full SBOM; menu and cores load on hardware — the ABI contract holds *in practice*, not just on paper |
| **3 — Module packages & HW matrix** | ✅ Complete | Wi-Fi, Bluetooth, controllers and special devices packaged; hardware-validated **for the chips actually present on the one test board**. The v10/v10.1/v10.2 driver + firmware expansion (Broadcom, Wi-Fi 6/6E, MediaTek, Atheros USB, Redpine) is packaged and mostly CI-asserted but **not** hardware-validated — see the [ledger](#hardware-validation-ledger) and the [chipset table](#wi-fi-and-bluetooth-hardware-support). The remaining matrix rows (Samba, MIDI) are build/CI-verified only |
| **4 — Release & sustainability** | 🔄 In progress | CI/CD, `db.json` distribution, beta program, governance, publication gate |
Expand Down Expand Up @@ -337,14 +340,16 @@ The interesting part is not the version number — it's the **shape of the delta
fork's **136 reconciled commits** (110 on the `MiSTer-v5.15` branch stock shipped until
2026-09-07, 10 on upstream's own `MiSTer-v6.18` branch — which stock ships *now* — one
still-open pull-request head carried ahead of its merge, plus 15 residue commits that
existed only on the older v5.14/v5.13.12 branches) are down to **40 carried patch
existed only on the older v5.14/v5.13.12 branches) are down to **38 carried patch
files**. The bulk of that reconciliation was performed against the **5.15** stock kernel
and left **36** files; the nine commits and one open PR stock's 6.18 branch has taken
since have now been reconciled too — executed, not just planned — in
[`docs/kernel-recon/fork-sync-2026-09.md`](docs/kernel-recon/fork-sync-2026-09.md)
(plan: [`fork-sync-2026-09/PLAN.md`](docs/kernel-recon/fork-sync-2026-09/PLAN.md)),
adding `0048` (Stadia-FF device IDs), `0049` (an 8BitDo adapter fix carried ahead of its
upstream PR merging) and `0050` (an exFAT read-ahead plug, 6.18-series only). Every
upstream PR merging) and `0050` (an exFAT read-ahead plug, 6.18-series only); on
2026-09-12 `0040`/`0041` (Switch IMU and LED names) were retired when upstream chose the
Main_MiSTer-side fix instead (36 + 3 + `0047` − 2 = 38). Every
remaining drop is either verifiably in mainline 6.18, replaced by a maintained package,
or recorded as a deliberate decision. `0047` is not part of that delta at all — it
backports a mainline commit (`ce21a5cf3d1f`, first released in 7.2) that the 6.18.y line
Expand Down Expand Up @@ -663,9 +668,9 @@ linux/ Config.ext.in + linux-ext-mister-initramfs.mk: the kern
extension that embeds package/mister-initramfs's cpio (ADR 0002/0030)
board/mister/de10nano/
linux.config minimal kernel defconfig (an absent CONFIG_X is NOT "off")
linux-patches/ 37 carried patches: 36 MiSTer + 1 mainline backport (0047)
linux-patches-beta/ 36 of those (32 symlinks + 4 re-anchored 7.x copies; 0047 is
already in 7.2) + 4 beta-local = the 40-entry series
linux-patches/ 38 carried patches: 37 MiSTer + 1 mainline backport (0047)
linux-patches-beta/ 36 of those (31 symlinks + 5 re-anchored 7.x copies; 0047 and
0050 are already in 7.2) + 4 beta-local = the 40-entry series
linux-patches-upstream/what the exported tree carries but our image must not
rootfs-overlay/ init scripts, sshd wiring, MiSTer-specific files
post-build.sh /MiSTer.version stamping, parity fixups
Expand Down
3 changes: 2 additions & 1 deletion board/mister/common/linux-mister.fragment
Original file line number Diff line number Diff line change
Expand Up @@ -614,7 +614,8 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y
# LEDs. LEDS_BRIGHTNESS_HW_CHANGED is what linux-patches/0029 teaches leds-gpio
# to report; LEDS_USER is /dev/uleds, used by the controller LED tooling; the
# multicolour class is what hid-playstation and hid-nintendo register their
# player/lightbar LEDs through (patches 0032/0033/0041/0042).
# player/lightbar LEDs through (patches 0032/0033/0042; hid-nintendo's own
# player LEDs keep mainline's names since 0041 was retired on 2026-09-12).
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLASS_MULTICOLOR=y
Expand Down
3 changes: 2 additions & 1 deletion board/mister/de10nano/installer-overlay/init
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,8 @@ splash_elapsed() {

# Find the HPS LED and take it off its DTS default trigger so brightness writes
# stick. Restricted to hps_led* on purpose: other /sys/class/leds entries on a
# MiSTer belong to USB gamepads (patches 0032/0033/0041/0042) and blinking a
# MiSTer belong to USB gamepads (patches 0032/0033/0042, plus hid-nintendo's
# mainline-named player LEDs) and blinking a
# user's controller to report SD-card progress would be nonsense.
splash_led_init() {
splash_led=""
Expand Down

This file was deleted.

This file was deleted.

18 changes: 11 additions & 7 deletions board/mister/de10nano/linux-patches-beta/series
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,23 @@
# mainline commit; 0050 is excluded because 7.x already has mainline's OWN
# DIFFERENT solution to the same problem. Retires from linux-patches/
# outright the moment the 6.18.y pin leaves 6.18.y, exactly like 0047.
# The beta series therefore carries 38 of the 40 shared patches plus the 4
# beta-local ones below — 42 entries — so within the carried set the 7.x
# The beta series therefore carries 36 of the 38 shared patches plus the 4
# beta-local ones below — 40 entries — so within the carried set the 7.x
# and 6.18 kernels diverge only where an upstream API forced a re-anchor.
# (0040 and 0041 are NOT exclusions: they were RETIRED from linux-patches/
# outright on 2026-09-12 -- upstream chose the userspace fix, Main_MiSTer
# #1307/#1308, shipped in Release 20260912 -- so the count fell from 42.)
# 0038-0042 were the last gap: they landed in the shared dir on 2026-07-24,
# went unlisted here for three weeks, and were closed on 2026-08-17 once
# measured rather than assumed. They needed NO re-anchor — plain symlinks,
# applied on 7.2 final at -F0 with offsets only (0038 1, 0039 1, 0040 1,
# 0041 2, 0042 5 hunks at an offset, zero fuzz), and `make rt` was green on the
# whole 40-entry series of that date from a clean tree (the list is 42 entries
# now; the 2026-09-11 addition of 0048/0049 was re-verified apply-only at -F0
# against v7.2.3, 42/42, zero fuzz — `make rt` has not been re-run on 42).
# whole 40-entry series of that date from a clean tree (the list reached 42
# entries with the 2026-09-11 addition of 0048/0049, re-verified apply-only at
# -F0 against v7.2.3, 42/42, zero fuzz, and is 40 again since the 0040/0041
# retirement — the surviving hid-nintendo stack re-verified at -F0 on v7.2.5,
# 7/7, zero fuzz, and hid-nintendo.o cross-compiled W=1 clean on the 7.2.5
# tree; `make linux-rt` has not been re-run on either).
# See docs/rt-beta-kernel.md §6.
# Keep it that way. The rule is unchanged and the 0047 exclusion above does not
# soften it: if a patch will not apply to a newer 7.x release, RE-ANCHOR it here
Expand Down Expand Up @@ -198,8 +204,6 @@
0037-hid-playstation-dualsense-mute-btn-z.patch
0038-hid-nintendo-nso-genesis-bt-pid.patch
0039-hid-nintendo-nso-n64-genesis-stock-button-mapping.patch
0040-hid-nintendo-imu-name-suffix.patch
0041-hid-nintendo-stock-led-classdev-names.patch
0042-hid-playstation-stock-lightbar-led-names.patch
0043-dts-uio-doorbells.patch
0044-dts-uio-fpga-regions.patch
Expand Down

This file was deleted.

This file was deleted.

Loading
Loading