$ show RROrg/rr
This repository is the RR (Redpill Recovery) bootloader for Synology DSM, a tool that enables installing and booting Synology DiskStation Manager on non-Synology hardware. It provides an interactive initrd-based environment (TUI via dialog/whiptail) for configuring DSM model, version, addons, kernel modules, boot parameters, and then building a patched boot image. The system supports multiple deployment targets (raw image, OVA, VMX, VMDK, VHD, VHDX) and includes a GitHub Actions workflow for on-demand custom builds triggered by issue submissions. It also offers remote management via web interfaces (TTYD, DUFS, HTTP) and extensive internationalization with 15+ language translations. The architecture is modular with separate scripts for boot, init, menu, addon management, kernel module handling, and configuration persistence via YAML. While primarily an application, it includes data files (JSON/XLSX catalogs of models, addons, modules, patches) that serve as configuration metadata for the build process.
The LLM identified 2 files worth highlighting for reuse:
Provides a generic YAML configuration abstraction for shell scripts with functions like readConfigKey, writeConfigKey, deleteConfigKey, and mergeConfigModules. It uses yq (or a fallback) to manipulate YAML files. This module is self-contained (only depends on standard shell utilities and yq) and could be extracted as a reusable shell library for any project needing YAML-based configuration persistence.
Implements a complete addon lifecycle management system: listing available addons, installing/uninstalling, uploading custom addons, and managing addon parameters. It reads addon metadata from JSON and handles addon scripts. The pattern is generic enough to be extracted for any modular shell-based application that needs a plugin/addon system with install, enable/disable, and parameter configuration.