Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/project-ocre/ocre-runtime
https://github.com/project-ocre/ocre-runtime
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/project-ocre/ocre-runtime
- Owner: project-ocre
- License: apache-2.0
- Created: 2024-08-15T16:54:46.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-11-07T21:53:01.000Z (3 months ago)
- Last Synced: 2024-11-07T22:35:39.793Z (3 months ago)
- Language: C
- Size: 442 KB
- Stars: 35
- Watchers: 3
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-zephyr-rtos - ocre - OCI compliant application container runtime. (Libraries / Containerization)
README
![Ocre logo](ocre_logo.jpg "Ocre")
# Ocre
[![Build](https://github.com/project-ocre/ocre-runtime/actions/workflows/build.yml/badge.svg)](https://github.com/project-ocre/ocre-runtime/actions/workflows/build.yml)
[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/9691/badge)](https://www.bestpractices.dev/projects/9691)
[![License](https://img.shields.io/github/license/project-ocre/ocre-runtime?color=blue)](LICENSE)
[![slack](https://img.shields.io/badge/slack-ocre-brightgreen.svg?logo=slack)](https://lfedge.slack.com/archives/C07F190CC3X)
[![Stars](https://img.shields.io/github/stars/project-ocre/ocre-runtime?style=social)](Stars)Ocre is a container runtime for constrained devices. It leverages [WebAssembly](https://www.webassembly.org) and [Zephyr](https://www.zephyrproject.org/) to support OCI-type application containers in a footprint up to 2,000 times smaller than traditional Linux-based container runtimes. Our mission is to modernize the embedded applications by making it as easy to develop and securely deploy apps on constrained edge devices as it is in the cloud.
## Getting Started
This guide walks you through building and running Ocre on a simulated device using Zephyr's `native_sim` target. For instructions on building and flashing Ocre to physical hardware, please refer to our [documentation](https://docs.project-ocre.org/quickstart/firmware/hardware/).The application in `./src/main.c` demonstrates basic Ocre runtime usage by writing a hello world application to flash and executing it.
1. **Install Dependencies and Zephyr SDK**
Complete the [Install dependencies](https://docs.zephyrproject.org/3.7.0/develop/getting_started/index.html#install-dependencies) and the [Install the Zephyr SDK](https://docs.zephyrproject.org/3.7.0/develop/getting_started/index.html#install-the-zephyr-sdk) sections for your host operating system from the Zephyr (v3.7.0) [Getting Started Guide](https://docs.zephyrproject.org/3.7.0/develop/getting_started/index.html#getting-started-guide).
2. **Install WEST**
Install the [west](https://docs.zephyrproject.org/latest/develop/west/index.html) CLI tool, which is needed to build, run and manage Zephyr applications.
```
$ pip install west
```3. **Initialize the workspace**
This will checkout the project code and configure the Zephyr workspace.
```
$ mkdir runtime$ cd runtime
$ west init -m [email protected]:project-ocre/ocre-runtime.git
$ west update
```4. **Install Additional Zephyr (pip) requirements**
In order to build the Ocre runtime properly, you'll need to install a few remaining requirements for Zephyr.
```
pip install -r zephyr/scripts/requirements.txt
```5. **Build the application**
The following will build the firmware for the *virtual*, `native_sim` target which will allow you to run the Ocre runtime on a simulated device, rather than a physical board.
```
$ west build -b native_sim ./application -d build -- -DMODULE_EXT_ROOT=`pwd`/application
```
6. **Run the application**Run the following command:
```
$ ./build/zephyr/zephyr.exe
```---
## License
Distributed under the Apache License 2.0. See [LICENSE](https://github.com/project-ocre/ocre-runtime/blob/main/LICENSE) for more information.---
## More Info
* **[Website](https://lfedge.org/projects/ocre/)**: For a high-level overview of the Ocre project, and its goals visit our website.
* **[Docs](https://docs.project-ocre.org/)**: For more detailed information about the Ocre runtime, visit Ocre docs.
* **[Wiki](https://lf-edge.atlassian.net/wiki/spaces/OCRE/overview?homepageId=14909442)**: For a full project overview, FAQs, project roadmap, and governance information, visit the Ocre Wiki.
* **[Slack](https://lfedge.slack.com/archives/C07F190CC3X)**: If you need support, or simply want to discuss all things Ocre head on over to our Slack channel (`#ocre`) on LFEdge's Slack org.