27 Commits

Author SHA1 Message Date
2881fae5bf fix(kernel): Correct Docker tag sanitization for kernel versions
All checks were successful
Build kernel module / build (1:6.18.34-1+rpt1, trixie) (pull_request) Successful in 52s
Build kernel module / build (1:6.12.93-1+rpt1, bookworm) (pull_request) Successful in 1m23s
Build kernel module / release (pull_request) Has been skipped
Ensure Docker image tags map unsupported characters `:`, `/`, and `+`
to `-` for compatibility. This prevents invalid tags in Docker builds
when kernel version strings include these characters.
2026-06-20 04:57:26 +02:00
f91b06da9d fix(kernel): Use per-version tags in Docker build to isolate jobs
Some checks failed
Build kernel module / build (1:6.12.93-1+rpt1, bookworm) (pull_request) Failing after 41s
Build kernel module / build (1:6.18.34-1+rpt1, trixie) (pull_request) Failing after 42s
Build kernel module / release (pull_request) Has been skipped
Prevent race conditions in concurrent job builds by introducing unique
Docker image tags per kernel version. This ensures isolated builds with
correct verm
2026-06-20 04:53:45 +02:00
2aa5104812 feat(kernel): Improve selftest.sh module discovery and error handling
Enhance module selection process by validating vermagic against the running kernel. Add detailed error messages with suggestions for manual path overrides or rebuilding for the current kernel. Ensure robust fallback behavior and improve user guidance.
2026-06-20 04:53:40 +02:00
6e5ec9b84f docs(kernel): Update README with module selection details
Expand documentation on selftest.sh behavior, module matching, and kernel compatibility. Clarify the auto-selection process based on `vermagic` and provide examples to guide users through fallback handling and manual overrides.
2026-06-20 04:53:31 +02:00
160f6bb799 Merge pull request 'fix(kernel): allow command-phase byte reception while ATN is asserted' (#3) from fix/command-phase-atn-abort into master
All checks were successful
Build kernel module / build (1:6.18.34-1+rpt1, trixie) (push) Successful in 1m22s
Build kernel module / build (1:6.12.93-1+rpt1, bookworm) (push) Successful in 1m23s
Build kernel module / release (push) Successful in 34s
Reviewed-on: #3
v0.0.10
2026-06-20 03:36:35 +02:00
c9cfebafda fix(kernel): allow command-phase byte reception while ATN is asserted
All checks were successful
Build kernel module / build (1:6.12.93-1+rpt1, bookworm) (pull_request) Successful in 1m18s
Build kernel module / build (1:6.18.34-1+rpt1, trixie) (pull_request) Successful in 1m13s
Build kernel module / release (pull_request) Has been skipped
wait_clk() aborted on any asserted ATN, but ATN is held low for the
entire command phase by design. Reception therefore aborted on the
first poll before clocking a single bit, so the listener never decoded
the LISTEN command and always fell through to "not addressed -> IDLE".

Make the ATN abort phase-relative via IEC_RX_ATN meaning "ATN changed":
in the data phase abort when ATN asserts (C64 interrupts with a new
command); in the command phase abort when ATN releases (command
sequence finished). The check collapses to
`iec_atn_asserted() == data_phase`.

Closes #2

Generated by Clanker

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 03:11:51 +02:00
62dff1264d Merge pull request 'Add 1:6.18.34-1+rpt1 kernel support' (#1) from chris-patch-1 into master
All checks were successful
Build kernel module / build (1:6.12.93-1+rpt1, bookworm) (push) Successful in 1m1s
Build kernel module / build (1:6.18.34-1+rpt1, trixie) (push) Successful in 1m13s
Build kernel module / release (push) Successful in 18s
Reviewed-on: #1
v0.0.9
2026-06-19 21:17:49 +02:00
de2fb56a59 feat(kernel): Add trixie SHA1 signature workaround to Dockerfile
All checks were successful
Build kernel module / build (1:6.12.93-1+rpt1, bookworm) (pull_request) Successful in 8m4s
Build kernel module / build (1:6.18.34-1+rpt1, trixie) (pull_request) Successful in 5m25s
Build kernel module / release (pull_request) Has been skipped
Introduce a conditional `trusted=yes` setting for the Raspberry Pi
repository in the Dockerfile when `DEBIAN_SUITE=trixie`. This bypasses
SHA1 signature rejection by trixie's apt system using Sequoia. Ensure
that bookworm maintains full signature verification. Updated
documentation to explain the trixie-specific caveat.
2026-06-19 21:03:18 +02:00
914c92bdea feat(kernel): Add support for Debian suite configuration
Some checks failed
Build kernel module / build (1:6.12.93-1+rpt1, bookworm) (pull_request) Successful in 8m4s
Build kernel module / build (1:6.18.34-1+rpt1, trixie) (pull_request) Failing after 2m31s
Build kernel module / release (pull_request) Has been skipped
Introduce `DEBIAN_SUITE` as a configurable argument in the Dockerfile, build
script, and CI workflow to align kernel builds with the target Raspberry Pi
OS release. Updated documentation to clarify the relationship between
suite versions and kernel compatibility.
2026-06-19 20:45:15 +02:00
aeb5113366 Add 1:6.18.34-1+rpt1 kernal support
Some checks failed
Build kernel module / build (1:6.12.93-1+rpt1) (pull_request) Successful in 1m24s
Build kernel module / build (1:6.18.34-1+rpt1) (pull_request) Failing after 57s
Build kernel module / release (pull_request) Has been skipped
2026-06-19 19:28:45 +02:00
3aecb25a61 fix(ci): Update artifact download action to use direct repository link
All checks were successful
Build kernel module / build (1:6.12.93-1+rpt1) (push) Successful in 1m24s
Build kernel module / release (push) Successful in 22s
Replaced `actions/download-artifact@v4` with a direct link to
`gitea-download-artifact` repository. This ensures the workflow uses
the latest version of the custom action and improves maintainability.
v0.0.8
2026-06-19 04:13:57 +02:00
fcd02b6a85 fix(ci): Update Gitea release action URL to use direct link
Some checks failed
Build kernel module / build (1:6.12.93-1+rpt1) (push) Successful in 1m11s
Build kernel module / release (push) Failing after 20s
Replaced the versioned action reference with a direct link to the Gitea
release action repository. This ensures the workflow uses the latest
source and improves maintainability by directly linking to the action
author's repository.
v0.0.7
2026-06-19 04:10:22 +02:00
ce621d947c feat(ci): Add unique artifact naming with SAFE_VER environment variable
Some checks failed
Build kernel module / build (1:6.12.93-1+rpt1) (push) Successful in 1m14s
Build kernel module / release (push) Failing after 19s
Update kernel build workflow to use a path-friendly version name for
artifact naming. This ensures artifact names remain unique and avoids
issues with colon characters. Added SAFE_VER to GITHUB_ENV for reuse.
v0.0.6
2026-06-19 04:05:57 +02:00
c6958fa380 feat(ci): Add arm64 emulation and multi-arch kernel build support
Some checks failed
Build kernel module / build (1:6.12.93-1+rpt1) (push) Failing after 1m30s
Build kernel module / release (push) Has been skipped
Introduce arm64 emulation setup and enhance the kernel build workflow to
support multi-architecture builds. Updated the process to use Docker
copy commands for compatibility with docker-in-docker environments, ensuring
accurate context access and successful compilation.
v0.0.5
2026-06-19 04:02:01 +02:00
cd0285cc0b feat(ci): Add arm64 emulation and multi-arch kernel build support
Some checks failed
Build kernel module / build (1:6.12.93-1+rpt1) (push) Failing after 1m15s
Build kernel module / release (push) Has been skipped
Introduce arm64 emulation setup and enhance the kernel build workflow to
support multi-architecture builds. Updated the process to use Docker
copy commands for compatibility with docker-in-docker environments, ensuring
accurate context access and successful compilation.
v0.0.4
2026-06-19 03:55:26 +02:00
231fdba93d feat(kernel): Add working directory log to build script
Some checks failed
Build kernel module / build (1:6.12.93-1+rpt1) (push) Failing after 41s
Build kernel module / release (push) Has been skipped
Log the current working directory in `build-in-docker.sh` to improve the
debugging process during kernel module compilation. This update helps
track the build context path passed to the Docker container.
v0.0.3
2026-06-19 03:40:43 +02:00
1c5fe33927 feat(ci): Add support for parallel kernel module builds
Some checks failed
Build kernel module / build (1:6.12.93-1+rpt1) (push) Failing after 5m23s
Build kernel module / release (push) Has been skipped
Enable parallel builds for kernel modules targeting multiple kernel
headers. This optimization reduces build times and improves CI
efficiency. Adjusted workflow steps to ensure compatibility with all
supported environments.
v0.0.2
2026-06-19 03:25:53 +02:00
5476a5db28 feat(ci): Add kernel module build and release workflow
Some checks failed
Build kernel module / build (linux-headers-rpi-v6) (push) Failing after 3m39s
Build kernel module / build (linux-headers-rpi-v7) (push) Failing after 57s
Build kernel module / build (linux-headers-rpi-v8) (push) Failing after 5m32s
Build kernel module / release (push) Has been skipped
Introduce a workflow to build kernel modules for multiple header packages on PRs and releases. PR builds verify compilation, while release builds package outputs and publish them to a Gitea release. This enhances automation and ensures compatibility across target environments.
v0.0.1
2026-06-19 03:00:59 +02:00
937fb73750 chore(ci): Remove deprecated CI workflow
The `.gitea/workflows/ci.yml` file was removed as it is no longer needed. The build steps defined in the file have been deprecated and are not in use in the current CI/CD pipeline.
2026-06-19 03:00:54 +02:00
6f1e0ec6f1 feat(ci): Add basic CI workflow with three build steps
All checks were successful
CI / build (push) Successful in 35s
Introduce a basic CI pipeline configuration using GitHub Actions. The
workflow runs on Ubuntu and consists of three simple build steps, which
print progress messages. This setup will serve as a foundation for
future CI/CD enhancements.
2026-06-19 02:08:25 +02:00
e942cedbfa docs(kernel): Update kernel notes with GPIO descriptor details and verification steps
Expand the documentation to include details on GPIO descriptor
lookup using chip label and hardware offset, replacing the deprecated
global GPIO number approach. Added instructions for verifying the module's
version magic to ensure compatibility with the running kernel. These
updates aim to prevent common initialization and deployment errors.
2026-06-19 00:24:38 +02:00
e0a78871ca feat(kernel): Add GPIO descriptor-based initialization and self-test script
Replace legacy gpio_to_desc() with GPIO descriptor resolution by chip label
and hardware number, ensuring compatibility with kernels using non-zero
gpiochip bases. Added `selftest.sh` for non-persistent module testing, which
performs a hardware self-test and verifies wiring before connecting the real
bus. Included a detailed README.md documenting the self-test process.
2026-06-19 00:23:45 +02:00
e4cab679b5 first try 2026-06-18 22:25:42 +02:00
e5e51754b2 update plan after kernal module reseach 2026-06-18 10:32:31 +02:00
d7a9b94e0a Add research note: real-time GPIO kernel module for IEC bus on Raspberry Pi Zero 2 W 2026-06-18 03:49:30 +02:00
85936464bd Add planning docs, research notes, and project config
Co-Authored-By: Claude Code
2026-06-18 03:18:52 +02:00
fabee6db40 first commit 2026-06-18 03:14:14 +02:00