All Projects → tomaka → Redshirt

tomaka / Redshirt

Licence: gpl-3.0
🧑‍🔬 Operating system

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Redshirt

Hidamari
Modern operating system aimed at running WebAssembly code.
Stars: ✭ 49 (-95.47%)
Mutual labels:  kernel, wasm
Eggos
A Go unikernel running on x86 bare metal
Stars: ✭ 1,232 (+13.86%)
Mutual labels:  kernel, wasm
Book
The Rust and WebAssembly Book
Stars: ✭ 1,021 (-5.64%)
Mutual labels:  wasm
Mylinux
myLinux is a small UNIX like OS for embedded systems based on Westermo NetBox
Stars: ✭ 53 (-95.1%)
Mutual labels:  kernel
Hvue
A GopherJS & go/wasm binding for Vue.js
Stars: ✭ 50 (-95.38%)
Mutual labels:  wasm
Uno.ch9
Ch9 - Uno Reference Implementation project
Stars: ✭ 45 (-95.84%)
Mutual labels:  wasm
Wasmjit
Small Embeddable WebAssembly Runtime
Stars: ✭ 1,063 (-1.76%)
Mutual labels:  wasm
Tinygo
Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
Stars: ✭ 9,068 (+738.08%)
Mutual labels:  wasm
Skift
🥑 A simple, handmade, operating system with a graphical user interface.
Stars: ✭ 1,068 (-1.29%)
Mutual labels:  kernel
Ipfspics Server
Content-addressable, peer-to-peer method of storing and sharing images on the internet.
Stars: ✭ 1,071 (-1.02%)
Mutual labels:  peer-to-peer
Asm Dom Boilerplate
A simple boilerplate to start using asm-dom without configuration.
Stars: ✭ 49 (-95.47%)
Mutual labels:  wasm
Xwasm
[Work In Progress] WebAssembly Packager and WASM tooling for modern frontend
Stars: ✭ 45 (-95.84%)
Mutual labels:  wasm
Cuteos
A 64-bit SMP-safe kernel for the PC architecture.
Stars: ✭ 51 (-95.29%)
Mutual labels:  kernel
Todomvc Wasm
A TODO MVC implementation using web-sys to make WASM
Stars: ✭ 44 (-95.93%)
Mutual labels:  wasm
Pvekclean
Easily remove old/unused PVE kernels on your Proxmox VE system
Stars: ✭ 54 (-95.01%)
Mutual labels:  kernel
Cilium
eBPF-based Networking, Security, and Observability
Stars: ✭ 10,256 (+847.87%)
Mutual labels:  kernel
Golkadot
Polkadot Substrate implementation in Go (WIP)
Stars: ✭ 48 (-95.56%)
Mutual labels:  wasm
Aioli
Framework for building fast genomics web tools with WebAssembly and WebWorkers
Stars: ✭ 51 (-95.29%)
Mutual labels:  wasm
Linux On Pixel C
Documentation on how to run a Linux Distro on the Google Pixel C (2015)
Stars: ✭ 55 (-94.92%)
Mutual labels:  kernel
Turtlebot3
Autonomous delivery robot with turtlebot3 and Jetson TX2
Stars: ✭ 54 (-95.01%)
Mutual labels:  kernel

The redshirt operating system is an experiment to build some kind of operating-system-like environment where executables are all in Wasm and are loaded from an IPFS-like decentralized network.

See the docs/introduction.md file for an introduction.

How to test

Important: At the moment, most of the compilation requires a nightly version of Rust. See also https://github.com/tomaka/redshirt/issues/300. Your C compiler must be recent enough to be capable of compiling to WebAssembly. This is for example the case for clang 9. See also https://github.com/tomaka/redshirt/issues/257.

You also need to install the wasm32-wasi target, as the Wasm programs are compiled for Wasi, and the rust-src component in order to build the standalone kernel.

rustup toolchain install --target=wasm32-wasi nightly
rustup component add --toolchain=nightly rust-src

Building the freestanding kernel is then done through the utility called standalone-builder:

cd kernel-standalone-builder
cargo +nightly run -- emulator-run --emulator qemu --target x86_64-multiboot2

Repository structure

Short overview of the structure of the repository:

  • docs contains a description of what redshirt is and how it works. Start with docs/introduction.md.
  • interfaces contains crates that provide definitions and helpers for Wasm programs to use (examples: tcp for TCP/IP, window for windowing).
  • kernel contains the code required to run the kernel.
  • kernel-standalone-kernel contains a utility allowing to run and test the standalone kernel.
  • programs contains Wasm programs.

Contributing

Please note that so far this is mostly a personal project. I reserve the right to change anything at any time, including the license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].