Conversation
Co-authored-by: jbltx <1284323+jbltx@users.noreply.github.com>
Co-authored-by: jbltx <1284323+jbltx@users.noreply.github.com>
…t data, add constants and comments Co-authored-by: jbltx <1284323+jbltx@users.noreply.github.com>
Co-authored-by: jbltx <1284323+jbltx@users.noreply.github.com>
|
@copilot Can we put some chain load logic? void chain_load_next_stage(void) {
// Look for MFBootAgent on boot device
// If not found, try to load kernel directly
// If nothing found, drop to emergency shell
} |
…d emergency shell Co-authored-by: jbltx <1284323+jbltx@users.noreply.github.com>
Implemented enhanced chain-loading logic in commit 86057ea. The bootloader now follows a three-tier fallback strategy:
The emergency shell provides recovery options via UART with backspace support and Fallout-style amber/red theming. |
|
@copilot Can we add |
Co-authored-by: jbltx <1284323+jbltx@users.noreply.github.com>
Added in commit 650b61d. Implemented four complete driver modules:
All files compile cleanly for BCM2835/2836/2837 targets. Binary size increased from ~12KB to ~16KB. |
|
@copilot Add some tests and trigger them in GHA for any PR |
Co-authored-by: jbltx <1284323+jbltx@users.noreply.github.com>
Added in commit 294f81f. Implemented comprehensive testing infrastructure: Test Suite:
GitHub Actions CI (
All 34 tests currently passing. Binary sizes: 15.9-16.4 KB (under 100KB limit). |
|
@copilot Running integration tests give this error: Builds seem to work although. |
Co-authored-by: jbltx <1284323+jbltx@users.noreply.github.com>
Fixed in commit 87ad17f. The issue was that the test script assumed it was running from the repository root, but when called from the Added automatic directory detection: the script now detects its own location and changes to the repository root ( The script now works correctly from:
All 26 integration tests now pass successfully. |
|
@copilot Finally, make sure to pass the static analysis too. |
Co-authored-by: jbltx <1284323+jbltx@users.noreply.github.com>
Fixed in commit 54f4e07. Removed trailing whitespace from all 9 source files (framebuffer.c, gpio.c, main.c, memory.c, mmc.c, pwm_audio.c, sdcard.c, timer.c, uart.c). All static analysis checks now pass:
Build and all 26 integration tests continue to pass successfully. |
Building authentic Fallout-style bootloader for Raspberry Pi (RPi0, RPi1, RPi2)
✅ ALL TASKS COMPLETE + TESTING INFRASTRUCTURE
Recent Updates
Static Analysis Fix
Removed trailing whitespace from all source files to pass GitHub Actions static analysis checks:
Test Script Fix
Fixed
tests/run_tests.shto properly detect its location and change to repository root before running tests. The script now works correctly whether called from:tests/directory:./run_tests.shbash tests/run_tests.shcd tests && bash run_tests.shTest Suite and CI/CD
Comprehensive testing infrastructure with GitHub Actions integration:
Integration Test Suite (
tests/run_tests.sh)Unit Tests (
tests/test_memory.py)GitHub Actions CI Workflow
Test Results
✅ All 34 automated checks passing
✅ Binary sizes: 15.9-16.4 KB (under 100KB limit)
✅ No compilation warnings
✅ All platforms build successfully
✅ Static analysis passes
Core Features
✅ Multi-platform support (RPi0, 1, 2, 3)
✅ Complete hardware drivers (UART, GPIO, Timer, MMC, Memory)
✅ Fallout terminal aesthetics (boot beep, scanlines, memory tests, bad sectors, diagnostic mode)
✅ Intelligent chain-loading with emergency shell
✅ Working test suite with CI/CD automation
✅ Clean code passing all static analysis
All requirements implemented, tested, and automated!
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.