Back to rankings

RROrg/rr

Shell

Redpill Recovery (arpl-i18n)

bootloaderdsmredpillsynology
Star Growth
Stars
8.5k
Forks
1.3k
Weekly Growth
Issues
83
5k
Apr 2023May 2024Jun 2025Jul 2026
README
logo

RR: redpill’s preinstallation and recovery environment

GitHub Release GitHub Downloads (all assets, all releases) GitHub Issues or Pull Requests by label

The ultimate solution to self-centralized Synology DSM OS on any local machine with any x86/x64 CPU architecture via a single flash of bootload pre-installation process in addition within recovery environment.

1: Disclaimer

  • 硬盘有价,数据无价,任何对引导的修改都是有风险的,本人/组织不承担数据丢失的责任。本工具仅用作学习交流,严禁用于商业用途。

  • Hardware/hard-drives are priced whilst data are priceless, any user-specific custom modification of the tested & prebuilt bootloader images could potentially cause irreversible data destruction towards your local machine. Us, as (RROrg) are not responsibly liable for damage nor personal loss of any types. The project with its affiliation is released for educational and learning purpose only, commercial application of the software is strictly prohibited.

2: Documentation & FAQ

3: Components

  • During the compilation process, you need to connect to the Internet to obtain model and version information and download the corresponding ROM. If you cannot connect to the Internet, please build a pre-compiled bootloader through RR-CUSTOM.

  • Proxmox VE One Click Install:

    curl -fsSL https://github.com/RROrg/rr/raw/refs/heads/main/scripts/pve.sh | bash -s -- --bltype usb
    
    # Optional Parameters:
    --onboot <0|1>           Enable VM on boot, default 1 (enable)
    --efi <0|1>              Enable UEFI boot, default 1 (enable)
    --bltype <sata|usb|nvme> Bootloader disk type, default sata
    --storage <name>         Storage name for images, as local-lvm, default auto get
    --v9ppath <path>         Set to /path/to/9p to mount virtio 9p share
    --vfsdirid <dirid>       Set to <dirid> to mount virtio fs share
    --tag <tag>              Image tag, download latest release if not set
    --img <path>             Local image path, use local image if set
    
  • Docker Compose:

    # 请从最新版本中下载 rr.img 文件。
    # 并将 <path_to_rr.img> 替换为你的 rr.img 文件的实际路径.
    # Please download the rr.img file from the latest release.
    # And replace <path_to_rr.img> with the actual path to your rr.img file.
    
    version: "3.9"
    services:
      rr:
        image: qemux/qemu:latest
        container_name: rr
        environment:
          BOOT: ""
          RAM_SIZE: "4G"  # >= 4G recommended for DSM
          CPU_CORES: "2"
          DISK_FMT: "qcow2"
          DISK_TYPE: "sata"
          DISK_SIZE: "32G"  # data disk size
          ARGUMENTS: "-device nec-usb-xhci,id=usb0,multifunction=on -drive file=/rr.img,media=disk,format=raw,if=none,id=udisk1 -device usb-storage,bus=usb0.0,port=1,drive=udisk1,bootindex=999,removable=on"
        devices:
          - /dev/kvm
          - /dev/net/tun
        cap_add:
          - NET_ADMIN
        ports:
          - 5000:5000  # For DSM management
          - 5001:5001  # For DSM management
          - 7681:7681  # For RR management
          - 7304:7304  # For RR management
          - 7080:7080  # For RR management
          - 8006:8006  # For QEMU management
        volumes:
          - ./rr.img:/rr.img  # <path_to_rr.img>:/rr.img
          - ./data:/storage
        restart: always
        stop_grace_period: 2m
    

4: GPU:

5: Contributing

  • The following is a roughly truncated guide to involve in project localization for internationalization.
# If deletion nor addition proces of code hunk is not required, comply with the following process
sudo apt install gettext
git clone https://github.com/rrorg/rr.git
cd files/initrd/opt/rr
xgettext -L Shell --keyword=TEXT *.sh -o lang/rr.pot
sed -i 's/charset=CHARSET/charset=UTF-8/' lang/rr.pot
# If you have to replace certain language string of the project, please suggest and modify translation changes within each correlated PO file
mkdir -p lang/zh_CN/LC_MESSAGES
msginit -i lang/rr.pot -l zh_CN.UTF-8 -o lang/zh_CN/LC_MESSAGES/rr.po
# Update translation files
for I in $(find lang -path *rr.po); do msgmerge --width=256 -U ${I} lang/rr.pot; done
# This formatting process will be automatically conducted during packaging.
for I in $(find lang -path *rr.po); do msgfmt ${I} -o ${I/.po/.mo}; done
  • PRs of new language translations towards the project is welcomed with appreciation.

  • Community maintainers of each supporting list of languages are accredited below.

    • de_DE: @Tim Krämer: Tim Krämer
    • en_US: @rrorg
    • ja_JP: @andatoshiki & @toshikidev
    • ko_KR: @EXP : jeong1986
    • ru_RU: @Alex: TG
    • tr_TR: @miraç bahadır öztürk: miracozturk
    • vi_VN: @Ngọc Anh Trần: mr.ngocanhtran
    • zh_CN: @rrorg
    • zh_HK: @rrorg
    • zh_TW: @March Fun: 豪客幫

6: Acknowledgment & Credits

7.1: Group

7: Sponsoring

8: License

Related repositories
daliansky/Hackintosh

Hackintosh long-term maintenance model EFI and installation tutorial

ShellMIT Licensehackintoshmacos
10k1.2k
nhivp/Awesome-Embedded

A curated list of awesome embedded programming.

The Unlicenseembeddedmicrocontroller
nhivp.github.io/Awesome-Embedded/
8.9k1.2k
CTCaer/hekate

hekate - A GUI based Nintendo Switch Bootloader

CGNU General Public License v2.0nintendo-switch-bootloaderbootloader
8.5k672
klange/toaruos

Complete, independent operating system built by humans.

CUniversity of Illinois/NCSA Open Source Licenseoperating-systemtoaruos
toaruos.org
6.8k540
zenfyrdev/bootloader-unlock-wall-of-shame

Keeping track of companies that "care about your data 🥺"

Otherandroidbootloader
5k148
MlgmXyysd/Xiaomi-HyperOS-BootLoader-Bypass

A PoC that exploits a vulnerability to bypass the Xiaomi HyperOS community restrictions of BootLoader unlocked account bindings.

PHPPackagistandroidandroid-development
neko.ink
4.7k464
MlgmXyysd/Xiaomi-BootLoader-Questionnaire

小米 BootLoader《解锁资格答题测试》更新记录

androidbootloader
xmbl.neko.ink
4.2k129
huangyz0918/Hackintosh-Installer-University

Open source tutorial & information collector for hackintosh installation.

Rich Text Formathackintoshclover
4k994
Limine-Bootloader/Limine

Modern, secure, portable, multiprotocol bootloader and boot manager.

CBSD 2-Clause "Simplified" Licensebootloaderbios
3.5k212
vvaltchev/tilck

A Tiny Linux-Compatible Kernel

CBSD 2-Clause "Simplified" Licensex86kernel
3.1k142
checkra1n/PongoOS

pongoOS

COthercheckra1nbootloader
checkra.in
2.7k480
evanpurkhiser/rEFInd-minimal

A stunningly clean theme for the rEFInd UEFI boot manager.

MIT Licensebootloaderuefi
evanpurkhiser.com/rEFInd-minimal/
2.3k233