mirror of
https://github.com/archr-linux/archr-flasher.git
synced 2026-07-12 18:19:47 -07:00
v0.1.2
Audit fixes: - Panel DTB not found now fails with error on all 3 platforms (was silently skipping, leaving wrong panel on boot) - macOS/Windows: boot partition mount failure now returns error (was silently completing with "success") - Windows: remove unwrap() on JSON serialization (was potential panic) - Frontend: hide progress bar on flash error (was stuck visible) - Sync Cargo.toml + tauri.conf.json version to 0.1.2 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Arch R Flasher
SD card flasher for Arch R. Select console, panel, flash.
Cross-platform desktop app (Windows, Linux, macOS) that writes the Arch R no-panel image to an SD card and injects the correct display panel configuration.
Features
- Select console type (R36S Original or Clone)
- Select display panel (6 original + 12 clone panels)
- Write image to SD card with progress bar
- Post-flash: injects correct DTB, panel.txt, and variant
- Auto-detects removable disks
- Downloads latest image from GitHub Releases
Requirements
Linux
sudo apt install -y libwebkit2gtk-4.1-dev libgtk-3-dev libayatana-appindicator3-dev
macOS
Xcode Command Line Tools.
Windows
WebView2 (pre-installed on Windows 11).
Build
# Development
cargo tauri dev
# Release (generates installer for current platform)
cargo tauri build
Architecture
archr-flasher/
├── src-tauri/
│ ├── src/
│ │ ├── main.rs # Tauri entry point + commands
│ │ ├── panels.rs # Panel definitions (18 panels, data-driven)
│ │ ├── disk.rs # Removable disk detection (Linux/macOS/Windows)
│ │ ├── flash.rs # Image writing + post-flash FAT32 injection
│ │ └── github.rs # GitHub Releases API
│ ├── Cargo.toml
│ └── tauri.conf.json
├── src/
│ ├── index.html # UI
│ ├── style.css # Dark theme (Arch R blue #1793D1)
│ └── main.js # Frontend logic
└── assets/
└── fonts/
└── Quantico-Regular.ttf
How It Works
- User selects image file (
.imgor.img.xz) - User selects console (Original / Clone) and panel
- User selects target SD card
- App writes image to SD card (with xz decompression if needed)
- App opens FAT32 BOOT partition directly on the block device (no OS mount)
- Copies selected panel DTB as
kernel.dtb - Writes
panel.txt,panel-confirmed, andvariant - SD card is ready. Insert in R36S and power on.
License
GPL v3
Description
Languages
Rust
70.8%
JavaScript
14.8%
CSS
7.6%
HTML
5.6%
C
1.2%