reMarkable Version Switcher
May 11, 2026 · View on GitHub
A beginner-friendly application for switching between currently installed reMarkable OS versions with an interactive interface.
Command-line not your thing? Check out reManager, a desktop application that can switch partitions and install different software versions.
Features
- TUI interface - Clean, boxed layout with color-coded partitions
- Interactive version switching - Select which version to boot next with arrow keys
- Real-time status display - Shows current active partition and next boot selection
- Smart partition mapping - Consistent A/B labeling (A=p2, B=p3)
- Integrated reboot option - Choose to reboot immediately or defer to next restart
Installation
Via Vellum package manager
vellum install rm-version-switcher
Automatic Installation
Caution
Piping code from the internet directly into bash can be dangerous. Make sure you trust the source and know what it will do to your system.
The easiest way to install is using the installation script that automatically detects your device architecture:
wget -O - https://raw.githubusercontent.com/rmitchellscott/rm-version-switcher/main/install.sh | bash
This will:
- Detect your device architecture (reMarkable 1/2 or Paper Pro)
- Download the correct binary for your device
- Extract and make it executable as
rm-version-switcher
Manual Installation
For reMarkable 1 & 2 (ARMv7):
wget https://github.com/rmitchellscott/rm-version-switcher/releases/latest/download/rm-version-switcher-armv7.tar.gz
tar -xzf rm-version-switcher-armv7.tar.gz
mv rm-version-switcher-armv7 rm-version-switcher
chmod +x rm-version-switcher
For reMarkable Paper Pro & Paper Pro Move (AArch64):
wget https://github.com/rmitchellscott/rm-version-switcher/releases/latest/download/rm-version-switcher-aarch64.tar.gz
tar -xzf rm-version-switcher-aarch64.tar.gz
mv rm-version-switcher-aarch64 rm-version-switcher
chmod +x rm-version-switcher
Copy to Device
Alternatively, copy the binary directly to your reMarkable device:
# Copy to reMarkable (replace with your device IP)
scp rm-version-switcher root@10.11.99.1:~/
Usage
Interactive Mode
./rm-version-switcher
Shows the overview, allows you to change the next boot partition, and optionally reboot immediately.
View Only Mode
./rm-version-switcher --show-only
Display current partition status without any interactive options.
Building
Prerequisites
- Go 1.21 or later
Install Dependencies
go mod tidy
Build for reMarkable Devices
reMarkable 1 & reMarkable 2 (ARMv7)
GOOS=linux GOARCH=arm GOARM=7 CGO_ENABLED=0 go build -o rm-version-switcher-armv7 .
reMarkable Paper Pro & Paper Pro Move (AArch64)
GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -o rm-version-switcher-aarch64 .
Build for Development/Testing
# Current platform (for testing with --dry-run)
go build -o rm-version-switcher .
Interface
Overview Display
┌──────────────────────────────────────────────────┐
│ reMarkable OS Version Switcher │
└──────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────┐
│ Partition A: 3.20.0.92 [NEXT BOOT] │
│ Partition B: 3.18.2.3 [ACTIVE] │
└──────────────────────────────────────────────────┘
Color Coding
- Green: Active partition version numbers and [NEXT BOOT] when on active partition
- Blue: Fallback partition version numbers
- Yellow: [NEXT BOOT] when on fallback partition
Labels
- [ACTIVE]: Currently running partition
- [NEXT BOOT]: Partition that will boot after next reboot
How It Works
The application follows the same proven logic as the reference switch.sh:
- Detects current state using
rootdevandfw_printenv - Reads version information from
/usr/share/remarkable/update.conf - Updates boot environment using
fw_setenvcommands:upgrade_available=1bootcount=0fallback_partition={old_partition}active_partition={new_partition}
Dependencies
- charmbracelet/huh - TUI forms and interactions
- charmbracelet/lipgloss - Terminal styling
License
Copyright (C) 2025 Mitchell Scott
Licensed under the GNU General Public License v3.0.