Skip to content
main
Switch branches/tags
Code

Latest commit

Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.19 to 0.3.21.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](rust-lang/futures-rs@0.3.19...0.3.21)

---
updated-dependencies:
- dependency-name: futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
c943521

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 #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 #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.

About

πŸ§‘β€πŸ”¬ Operating system

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published