Skip to content
/ poplar Public
forked from IsaacWoods/poplar

Microkernel and userspace written in Rust exploring modern ideas

License

Notifications You must be signed in to change notification settings

rustsbi/poplar

This branch is 5 commits behind IsaacWoods/poplar:main.

Folders and files

NameName
Last commit message
Last commit date
Jul 31, 2021
Mar 18, 2024
Jan 17, 2025
Nov 12, 2023
Jan 9, 2025
Jan 29, 2025
Jan 29, 2025
Dec 19, 2024
Dec 19, 2024
Jan 29, 2025
Jan 29, 2025
Jul 5, 2024
Nov 4, 2024
Sep 7, 2022
Feb 3, 2019
Jan 29, 2025
Sep 17, 2023
Mar 8, 2023

Repository files navigation

Poplar

Build License: MPL-2.0

Poplar is a microkernel and userspace written in Rust, exploring modern ideas. It is not a UNIX, and does not aim for compatibility with existing software. It currently supports x86_64 and RISC-V.

The best way to learn about Poplar is to read the book. The website also hosts some other useful resources.

Building and running

Operating systems tend to be complex to build and run. We've tried to make this as simple as we can, but if you encounter problems or have suggestions to make it easier, feel free to file an issue :)

Getting the source

Firstly, clone the repository and fetch the submodules:

git clone https://github.com/IsaacWoods/poplar.git
git submodule update --init --recursive

Things you'll need

  • A nightly Rust toolchain
  • The rust-src component (install with rustup component add rust-src)
  • A working QEMU installation (one that provides qemu-system-{arch})

Building

This repository includes an xtask-based build tool to simplify building and running Poplar. The tool can be configured in Poplar.toml - this can, for example, be used to set whether to build using the release profile, and the architecture to build for.

  • Running cargo xtask dist will build a disk image
  • Running cargo xtask qemu will build a disk image, and then start emulating it in QEMU

See cargo xtask --help for more information about how to invoke the build system.

About

Microkernel and userspace written in Rust exploring modern ideas

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.3%
  • Other 0.7%