Repository navigation
build: update Linux to 7.3 - #362
Conversation
Linux 7.2.10 -> 7.3 (kernel.org, 2026-10-18), release 7.3.0-nanokvm-os-r0.
- Kernel patches: all 17 apply. 0001 is refreshed: drivers/misc/Makefile
ends differently in 7.3. 0035 is refreshed: 7.3 added the srmcfg switch
next to it, and git apply takes no fuzz. The imported TPU patches
0047-0049 are unchanged.
- Config (olddefconfig on 7.3, reviewed):
- PROC_SYSCTL is folded into SYSCTL (proc_sysctl.o builds with
CONFIG_SYSCTL=y), so /proc/sys stays.
- HAVE_GENERIC_VDSO is now VDSO_DATASTORE.
- SWIOTLB_DEFAULT_SIZE_MB=64 makes the old fixed default configurable;
RISC-V allocates no bounce buffer with 256 MiB.
- The rest is new library parts (CRYPTO_LIB_AES_CTR/ECB/GCM=m) and
vendor menus without drivers.
- Out-of-tree modules: 7.3 has cfg80211 assign the remain_on_channel and
mgmt_tx cookies and pass them by value. AIC8800 already handles that
(aic8800 0002). rtl8733bs 0005 gives its wrappers the new signatures.
All 83 modules (65 in-tree, 18 out-of-tree) build without warnings.
- Version pins: sources.lock, firmware/sources.json, build.sh (archive,
directory, release, timestamp at the 7.3 release date), the config
heading and the READMEs.
The Linux update policy skips X.Y.0 releases (docs/DEPENDENCY-UPDATES.md);
this one was asked for.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With Linux pinned at 7.3 the publisher could no longer run: it read the pin as X.Y.Z, required release=7.3-nanokvm-os- in build.sh, where the release is 7.3.0-nanokvm-os-r0, and replaced the version by plain text, which would have turned 7.3.0 into 7.3.1.0. The pin (archive and directory: 7.3) and the kernel version (release and config heading: 7.3.0) are now handled separately and replaced as whole versions. A feed whose only entry for the pin is the first release (no point release yet) means nothing newer, not a broken feed. The tests take either form and also run X.Y -> X.Y.1 -> X.Y.2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
dormancygrace
left a comment
There was a problem hiding this comment.
Reviewed 4558090. No actionable defects found; no code changes needed.
Independently checked the Linux version/release pins, Kconfig changes, refreshed patch contexts, RTL8733bs cfg80211 cookie adaptation, and kernel-update publisher's 7.3 -> 7.3.1 handling. Verified the Linux archive SHA-256 against the committed manifest and applied all 17 kernel patches successfully. Ran olddefconfig in a separate output directory against the matching prepared 7.3 source: the committed config is unchanged. The new cfg80211 signatures match the actual 7.3 headers; ROC and management-TX paths preserve the supplied cookie value without retaining the wrapper's stack pointer.
Local validation passed: test-kernel-update-pr.py (14), test-upstream-watch.py (30), test-platform-build.py, test-platform-config.py, test-alpine-kernel-activation.py (7), and test-tpu-lifetime.py with ASan/UBSan. The TPU safety patches from #361 remain included unchanged.
CI on this exact head: 13 completed checks successful; JavaScript/TypeScript CodeQL analysis and the full build/hash workflow are still running. Following the user's preference not to wait for full CI, these pending jobs are not treated as completed validation.
Hardware evidence is the author's documented 7.3 boot, module/accelerator, AIC8801 Wi-Fi and MJPEG tests; I did not operate the shared device or independently rebuild the full firmware. H.265, RTL8733bs hardware/ROC/mgmt-TX, and full image/package-upgrade testing remain unverified as disclosed in the PR.
Build outputsCompared with the build of main at 856ebfa. 30 changed, 97 added, 97 removed of 556 outputs.
|
Linux 7.2.10 → 7.3 (kernel.org, released 2026-10-18). The release becomes
7.3.0-nanokvm-os-r0: a new series, so the revision starts at r0, as in Alpine.The Linux policy skips a series' first release (docs/DEPENDENCY-UPDATES.md); this update was requested anyway. The publisher's next proposal, 7.3.1, applies on top of it.
What
Version pins. Updated in sources.lock, firmware/sources.json, build.sh (archive, directory, release, timestamp at the 7.3 release date), the config heading, README.md, platform/README.md and the Buildroot README.
Kernel patches. All 17 apply with
git apply, which is how the build applies them. Two are refreshed:0001:drivers/misc/Makefileends differently in 7.3.0035: 7.3 added the srmcfg switch next to it, and the patch only applied with fuzz.The imported TPU patches 0047–0049 are unchanged.
Config (
olddefconfigon 7.3, reviewed one option at a time):PROC_SYSCTLis folded intoSYSCTL.proc_sysctl.obuilds withCONFIG_SYSCTL=y, so/proc/sysstays.HAVE_GENERIC_VDSOis renamedVDSO_DATASTORE.SWIOTLB_DEFAULT_SIZE_MB=64makes the old fixed default configurable. On the stand the kernel sizes the bounce buffer down to 0 MB (256 KiB mapped).CRYPTO_LIB_AES_CTR/ECB/GCM=m) and vendor menus without drivers.Out-of-tree modules. In 7.3, cfg80211 assigns the
remain_on_channelandmgmt_txcookies and passes them by value. AIC8800 already handles that (aic8800 0002). The new rtl8733bs 0005 gives its wrappers the new signatures, and the driver no longer overwrites the cookie. All 83 modules (65 in-tree, 18 out-of-tree) build without warnings. The C906 ChaCha and GHASH objects are linked intolibchachaandlibgf128hash.Kernel update publisher.
scripts/propose-kernel-update.pyassumed anX.Y.Zpin and would have failed on7.3. It also replaced versions as plain text, which would have turned7.3.0-nanokvm-os-r0into7.3.1.0-…. Now:7.3, archive and directory) and the kernel version (7.3.0, release and config heading) are kept apart and replaced as whole versions;tests/test-kernel-update-pr.pyhas 14 tests, including X.Y → X.Y.1 → X.Y.2. A live dry run reports no newer point release.Stand (NanoKVM PCIe, LT6911UXC, AIC8801)
7.3 was booted once from
dbg.sdthrough U-Boot. A 7.2.10-r6 baseline was taken just before./proc/sysand sysctl, SG2002 hardware crypto and/dev/crypto, cpufreq at 1 GHz, thermal, zram.modprobeand unload again. TPU inference: the OCR recognition model at 195 ms per run.Not tested
7.3.0-nanokvm-os-r0.Checklist (from the automatic kernel PRs)
🤖 Generated with Claude Code