Commit Graph
11 Commits
Author SHA1 Message Date
Claude b8ccd431ea Distribute kernel via Gitea Debian apt repo; track stable not mainline
- Publish .deb packages to Gitea's built-in Debian registry (apt source)
  instead of Releases; CI uploads to pool/stable/main and stops creating
  Releases. One apt source line serves amd64 and arm64.
- Add linux-image-bbrv3 meta-package so `apt upgrade` tracks the latest
  stable kernel while older kernels stay installed for fallback. Its
  dependency is the actual built image package name (immune to localversion
  drift).
- Add bbrv3-config package shipping the BBR+CAKE+ECN sysctl drop-in as a
  conffile (applied via postinst), replacing the installer's sysctl write.
- Rewrite install.sh to add the apt source + signing key and install the
  meta package; keep the OS-version gate, status check and uninstall menu,
  plus an apt-mark hold escape hatch.
- select-stable-kernel.sh: pick the highest stable point release whose
  series is below mainline and has a matching BBRv3 patch, so a freshly-cut
  series (latest stable == mainline, e.g. 7.1) is not built. Currently 7.0.12.
- Exclude linux-libc-dev (clashes with the distro's headers) and drop the
  "by Joey" MODULE_DESCRIPTION step and release branding.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 18:26:05 +08:00
Claude d888a9700e Simplify to kernel-install-only; default to BBR + CAKE + ECN
Strip the project down to installing the BBRv3 kernel and nothing else, and
ship a single standard kernel (x86_64 + arm64, latest stable).

- install.sh: 1413 -> ~490 lines. Menu reduced to install latest / install
  specific / status / uninstall. Removed all qdisc/TCP-tuning/speedtest/
  smart-bandwidth/"madness"/clear-config features, the security (Dirty-Frag)
  mitigations, the profile (standard/max) selection, and the self-installing
  `b` quick command. Map dep command->package (sysctl->procps, awk->gawk) and
  abort clearly when a hard dependency is missing.
- Default network stack: on install write /etc/sysctl.d/99-bbrv3.conf with
  net.core.default_qdisc=cake, net.ipv4.tcp_congestion_control=bbr,
  net.ipv4.tcp_ecn=1 (CAKE has no compile-time default-qdisc option, so it is
  set via sysctl); uninstall removes the drop-in.
- prepare-kernel-config.sh: build sch_cake in (=y) so cake works at boot; drop
  the now-dead build-configs/ output.
- build.yml: matrix is just x86_64 + arm64 standard; tags are <arch>-<version>;
  removed the max profile/steps and the update-config-baseline auto-commit job;
  releases carry only the kernel .deb assets.
- Remove cve_2026_31431_detector.py and the two max-profile helper scripts.
- README rewritten to the 4-action, kernel-only scope.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 14:24:56 +08:00
Claude 8ac6ae9411 Adapt CI and installer to self-hosted Gitea, cross-compile arm64
Retarget the build pipeline and installer from GitHub to the
git.chilldove.com Gitea instance (icePigeon/linux-kernel-bbrv3).

- build.yml: replace gh CLI release checks and softprops/action-gh-release
  with Gitea REST API calls (curl); drop the GitHub-only delete-workflow-runs
  cleanup job; authenticate via the auto-injected GITEA_TOKEN.
- Avoid actions/upload-artifact@v4 / download-artifact@v4 (they abort on
  Gitea as GHES): pass the config baseline between jobs via Gitea release
  assets instead of artifacts, and drop the redundant deb/marker artifacts.
- Cross-compile arm64 on the single x86_64 runner
  (CROSS_COMPILE=aarch64-linux-gnu-, gcc-aarch64-linux-gnu); thread
  CROSS_COMPILE through prepare-kernel-config.sh olddefconfig.
- install.sh: fetch releases from the Gitea API, self-update and CVE
  detector from Gitea raw URLs, token-authenticated asset downloads,
  paginate the release list; keep GITHUB_TOKEN/GH_TOKEN as fallbacks.
- README.md: point install/download URLs at Gitea, reword GitHub -> Gitea,
  remove the GitHub-only Star History widget.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 13:24:54 +08:00
Claude b5a270b34a Drop joeyblog branding from kernel build artifact names
Rename the kernel LOCALVERSION used by the build from
-joeyblog-bbrv3 / -joeyblog-bbrv3-max to -bbrv3 / -bbrv3-max, so the
produced uname strings and .deb package names no longer carry the
custom brand. Standard vs max kernels stay distinguishable.

- .github/workflows/build.yml: matrix localversion for all four jobs
- scripts/build-bbrv3-max-kernel.sh: LOCALVERSION for local max builds
- install.sh: update detection, profile matching, expected-uname and
  uninstall logic to key off -bbrv3 / -bbrv3-max instead of joeyblog
- README.md: describe uninstall by the new package-name suffixes

Runtime config paths (e.g. /etc/sysctl.d/99-joeyblog.conf) and author
attribution are unchanged; they are not kernel names.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PvXBX9hm6GzStHUMDZzDoZ
2026-06-17 04:47:10 +00:00
byjoey af2d3d678b Retune BBRv3 Max for usable throughput 2026-06-15 20:51:04 +08:00
byjoey 5d3245018f Tame BBRv3 Max feedback loop 2026-06-15 18:13:27 +08:00
byjoey a177824bcf Fix BBRv3 Max random probe bounds 2026-06-15 16:15:44 +08:00
byjoey 8e47418950 Add BBRv3 Max kernel build 2026-06-15 15:04:37 +08:00
byjoey e482610409 Make qdisc modes apply to active interfaces 2026-06-14 12:22:57 +08:00
byjoey 72b7dc3210 Export generated kernel configs 2026-06-12 11:29:02 +08:00
byjoey deff87f064 Automate latest stable BBRv3 builds without debug packages 2026-06-09 17:22:27 +08:00