PrplOS
Introduction
PrplOS is an open-source operating system designed specifically for embedded devices and networks within the home broadband ecosystem. It is part of the prpl Foundation's initiative to support an open, distributed architecture for service delivery across the digital home. To know more access: https://prplfoundation.org/
This tutorial was tested against PrplOS release version 3.1.0
Advantages
Interoperability: PrplOS provides compatibility with a wide range of devices and platforms, fostering a multi-vendor environment.
Security: Built with security as a priority, PrplOS offers features such as secure boot, firmware updates, and sandboxing to protect devices from potential threats.
Flexibility and Modularity: Its modular architecture allows for customization, enabling developers to tailor the OS to specific device requirements and functionalities.
Efficiency: Optimized for low-power and resource-constrained devices, PrplOS ensures efficient performance suited for various IoT applications.
Community-Driven: As an open-source project, it benefits from community contributions, enhancing its features and ensuring rapid adaptation to new technologies.
Installation
Can be installed on supported hardware platforms using standard interfaces like JTAG or UART. Prebuilt binaries are available for various development boards, allowing a straightforward flashing process with tools such as OpenOCD or manufacturer-specific utilities. This ensures quick deployment and reduces the need for extensive configuration.
For testing and debugging, simulation environments provide an alternative to physical devices. Using emulators like QEMU, developers can run the system in a virtual setup, enabling safe experimentation and troubleshooting. These options make installation adaptable to both hardware deployment and software development workflows.
Quick Start
The easiest and fastest way to get everything running is to download a pre-built image from PrplOS repository releases and deploy it on your target platform. It's very straightforward to transform the image in a format to be used by your prefered hypervisor and launch a VM with Prpl as the operating system.
You get have some knowledge with linux networking and CLI, it's important for setting up the operating system network configuration to reach the outside world and to be able to access the guest host through SSH for convenience. Check more installation options and target platforms at: https://gitlab.com/prpl-foundation/prplos/prplos/-/wikis/home.
Configuration
TR-369 / USP
First, setup a command alias to facilitate the next steps.
Setup new USP Controller Endpoint Id:
"Essentially, obuspa waits for up to 10 minutes for the presence of the Device.DeviceInfo and Device.Time.Status data model entries, ensuring that Device.Time.Status is in a Synchronized state.
This timeout is configurable via Device.LocalAgent.X_VANTIVA-COM_PreConnectTimeout (value in seconds, 0 = disable) and can be modified either in the default obuspa configuration file located at /etc/config/obuspa_param_reset.txt or at runtime [...]"
In the below commands, exchange "<oktopus-controller-host>" for the corresponding value of your scenario.
Define the Controller MTP as MQTT:
Create new MQTT client:
Setup MQTT client broker address:
Associate Local Agent with MQTT Client:
Associate USP Controller with MQTT Client:
Configure MQTT topics:
Enable MQTT client connection:
Device Logs
or
Clean all
In case you get stuck with an issue or misconfiguration clean up your environment.
CAUTION: This action will factory reset all the TR-181 datamodel.
Last updated