Skip to content

rv1106-system

Spec Phase: rv1106-system is in active development. Documentation reflects current build system design.

rv1106-system provides the Linux system infrastructure for RS-1 devices based on the Rockchip RV1106 processor.

The RV1106 is an application processor that runs the main hardwareOS firmware. rv1106-system provides:

  • Buildroot configuration — Reproducible Linux builds
  • Kernel patches — Hardware-specific modifications
  • Root filesystem — Minimal system for embedded use
  • OTA infrastructure — Update partition management
┌─────────────────────────────────────────────────┐
│ Build System │
├─────────────────────────────────────────────────┤
│ Buildroot │
│ ├── Toolchain generation │
│ ├── Package selection │
│ └── Image creation │
├─────────────────────────────────────────────────┤
│ Kernel │
│ ├── RV1106 device tree │
│ ├── Driver configuration │
│ └── Security hardening │
├─────────────────────────────────────────────────┤
│ Root Filesystem │
│ ├── Minimal base system │
│ ├── hardwareOS application │
│ └── OTA agent │
└─────────────────────────────────────────────────┘
Terminal window
# Build dependencies (Ubuntu/Debian)
apt install build-essential git wget cpio unzip rsync bc \
libncurses-dev python3 python3-pip
# Disk space: ~20GB for full build
Terminal window
cd rv1106-system
# Configure for RS-1
make rs1_defconfig
# Build complete system image
make
# Output: output/images/sdcard.img
FileDescription
sdcard.imgComplete bootable image
rootfs.ext4Root filesystem
uImageLinux kernel
u-boot.binBootloader
┌────────────┬────────────┬────────────┬────────────┐
│ Boot │ RootFS A │ RootFS B │ Data │
│ 16MB │ 128MB │ 128MB │ Remaining │
└────────────┴────────────┴────────────┴────────────┘
  • Boot — U-Boot and device tree
  • RootFS A/B — Dual root for A/B updates
  • Data — Persistent configuration

rv1106-system supports A/B partition updates:

  1. Download new image to inactive partition
  2. Verify checksum
  3. Update boot flag
  4. Reboot to new partition
  5. Rollback on boot failure

Edit configs/rs1_defconfig:

BR2_PACKAGE_MY_PACKAGE=y
Terminal window
make linux-menuconfig
make linux-savedefconfig

Device tree source: board/opticworks/rs1/rs1.dts

  1. Modify — Edit Buildroot config or add packages
  2. Buildmake (incremental builds supported)
  3. Test — Flash to device or run in QEMU
  4. Commit — Version control changes
  5. CI — Automated builds verify changes

Source: rv1106-system/README.md, rv1106-system/docs/BUILD.md