RuffOS Porting Guide

Ruff is a portable operation system that can run on different hardware. Developers can port Ruff to their own hardware.


  • Please confirm you have correct version of Ruff OS to match with the toolchain.
  • Please ensure your hardware connect to Internet.

Step 1: Downloading and Configuring Ruff OS SDK

  1. Download Ruff SDK and extract the contents.
  2. Refer to SDK Installation to configure it.

Step 2: Downloading and Configuring Ruff OS

  • Select Ruff OS that matches with the hardware and toolchain.
  • Transmit Ruff OS to the development board. For example, if SSH is supported, it can be done with following command:
scp /path/to/ruffos-<target>-<version>.zip your_pi_user@your_pi_ip:/tmp
  • Login your development board
ssh your_user@your_board_ip
  • Extract and run Ruff OS
cd /tmp/
unzip ruffos-<target>-<version>.zip
cd ruffos-<target>-<version>
  • Using following command on PC to verify Ruff OS is running:
rap system info <hostip>

If Ruff OS information is shown, Ruff OS is running.

Step 3: Defining The Board

Ruff Board Description describes hardware interfaces (such as GPIO), and on-board devices (such as LED) that application can control. The board is a prerequisite condition for any Ruff app to run on a real board.

Skip this step if your board is added to Rap Registry.

Visit Board - Getting Started for detail information of adding a board.

Step 4: Creating a Project

  • Create a new project folder (like hello-ruff), and then change the directory to the folder, and then use rap to initialize the application.

Note: Please create your new project folder outside of the Ruff SDK directory.

mkdir hello-ruff
cd hello-ruff

rap init --local-board /path/to/your_board_project

The board is specified here as a board argument for the init task.

  • Fill in information as prompted. You can use default values for all fields. rap will initialize the project and download configuration info for the development board, and also generate hardware configuration files.

Step 5: Getting Started

Please refer to Getting Started to write your own Ruff application.