Skip to content

TinkerWorks/tinker-distro

Repository files navigation

TinkerDistro

License: GPL v3 Community Chat

Yocto-based Embedded OS with Reliable OTA Updates

TinkerDistro offers two specialized profiles for IoT deployments:

  • 🖥️ Kiosk Image (300MB) with Chromium browser
  • 📡 Sensors Image (200MB) for embedded sensing

🧩 Image Profiles

Feature Sensors Image (200MB) Kiosk Image (300MB)
Base System Read-only rootfs Read-only rootfs
Includes Python 3, MQTT, GPIO tools Chromium (Ozone/Wayland)
Networking CoAP/MQTT support WebSocket enabled
UI Headless Kiosk-mode browser
Hardware Acceleration Basic I²C/SPI OpenGL ES, touchscreen

🚀 Key Features

  • RAUC OTA Updates: Atomic A/B updates with rollback protection
  • Immutable Core: Read-only root filesystem by default
  • Dual Profiles: Optimized for both sensing and display use cases
  • Yocto Foundation: Reproducible builds with OpenEmbedded
  • Compact Sizes: 200MB (sensors) / 300MB (kiosk) base images

🔨 Build from Source

Setup Environment

source poky/oe-init-build-env build
bitbake-layers add-layer ../meta-raspberrypi
bitbake-layers add-layer ../meta-raspberrypi
bitbake-layers add-layer ../meta-openembedded/meta-oe
bitbake-layers add-layer ../meta-openembedded/meta-python
bitbake-layers add-layer ../meta-openembedded/meta-networking
bitbake-layers add-layer ../meta-openembedded/meta-webserver
bitbake-layers add-layer ../meta-rauc
bitbake-layers add-layer ../meta-rauc-community/meta-rauc-raspberrypi
bitbake-layers add-layer ../meta-tinker
bitbake-layers add-layer ../meta-clang
bitbake-layers add-layer ../meta-browser/meta-chromium

Create example keys

source poky/oe-init-build-env build
../meta-rauc-community/create-example-keys.sh || true

Build HomeSensorHub sensors image

source poky/oe-init-build-env build
export MACHINE=raspberrypi0-wifi
export DISTRO=poky-tinker
bitbake homesensorhub-image homesensorhub-bundle

Build ControlCenter kiosk image

source poky/oe-init-build-env build
export MACHINE=raspberrypi-armv8
export DISTRO=poky-tinker-gui
bitbake controlcenter-image controlcenter-bundle

📥 Flashing

HomeSensorHub image:

sudo bmaptool copy build/tmp/deploy/images/raspberrypi0-wifi/homesensorhub-image-raspberrypi0-wifi.rootfs.wic.bz2 /dev/sdX

ControlCenter kiosk image:

sudo bmaptool copy build/tmp/deploy/images/raspberrypi-armv8/controlcenter-image-raspberrypi-armv8.rootfs.wic.bz2 /dev/sdX

🔄 RAUC Update System

Diagram Code

Basic OTA Commands:

# Check update status
rauc status

# Install bundle HomeSensorHub
rauc install http://example.com/homesensorhub-bundle-raspberrypi0-wifi.raucb

# Install bundle Control Center
rauc install http://example.com/controlcenter-bundle-raspberrypi-armv8.raucb

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages