All Projects → IsaacWoods → poplar

IsaacWoods / poplar

Licence: MPL-2.0 license
Microkernel and userspace written in Rust exploring modern ideas

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to poplar

beeos
A simple "Unix-like" kernel trying to be POSIX compliant
Stars: ✭ 103 (-52.53%)
Mutual labels:  kernel, os, osdev, operating-system
Cyjon
A simple, clean code, multi-tasking operating system written in pure assembly language for 64-bit processors from the AMD64 family.
Stars: ✭ 184 (-15.21%)
Mutual labels:  kernel, os, osdev, operating-system
Reactos
A free Windows-compatible Operating System
Stars: ✭ 10,216 (+4607.83%)
Mutual labels:  kernel, os, osdev, operating-system
Macaron
A sweet hobby made operating system written in C++ for x86 CPUs with GUI
Stars: ✭ 34 (-84.33%)
Mutual labels:  kernel, os, osdev, operating-system
duckOS
Yet another hobby x86 UNIX-like operating system written in C and C++. Features a dynamically linked userspace, an in-house c standard library, and more! And yes, it runs DOOM.
Stars: ✭ 250 (+15.21%)
Mutual labels:  kernel, os, osdev, operating-system
Toaru Nih
NOTICE: The ToaruOS-NIH Project has been MERGED UPSTREAM. This repository is now archived.
Stars: ✭ 66 (-69.59%)
Mutual labels:  kernel, os, osdev, operating-system
Emerald
An operating system written in C
Stars: ✭ 118 (-45.62%)
Mutual labels:  kernel, os, osdev, operating-system
Toaruos
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
Stars: ✭ 4,687 (+2059.91%)
Mutual labels:  kernel, os, osdev, operating-system
Cardinal
Operating system designed to be fast and secure.
Stars: ✭ 20 (-90.78%)
Mutual labels:  kernel, os, osdev, operating-system
MoonOS
MoonOS (just a kernel atm) is a micro kernel designed for the x86_64 and arm architecure.
Stars: ✭ 82 (-62.21%)
Mutual labels:  os, osdev, operating-system, microkernel
Dennix
Dennix is a unix-like hobbyist operating system written from scratch.
Stars: ✭ 53 (-75.58%)
Mutual labels:  kernel, os, osdev, operating-system
SnowFlake
Technology is free, SnowFlakeOS
Stars: ✭ 38 (-82.49%)
Mutual labels:  kernel, os, osdev, operating-system
Aquila
AquilaOS: UNIX-like Operating System
Stars: ✭ 413 (+90.32%)
Mutual labels:  kernel, os, osdev, operating-system
biefircate
Running x86-16 or x86-32 code from x86-64 UEFI; _very experimental_ • mirror of https://gitlab.com/tkchia/biefircate • developer notes at https://gitlab.com/tkchia/biefircate/-/blob/main/doc/NOTES.asciidoc
Stars: ✭ 47 (-78.34%)
Mutual labels:  kernel, os, osdev, operating-system
Wingos
a little 64bit operating system written in c++ with smp support
Stars: ✭ 361 (+66.36%)
Mutual labels:  kernel, os, osdev, operating-system
Tofita
🍬 All-new kernel for @GreenteaOS
Stars: ✭ 112 (-48.39%)
Mutual labels:  kernel, os, osdev, operating-system
LudOS
A toy monolithic kernel written in C++
Stars: ✭ 38 (-82.49%)
Mutual labels:  kernel, os, osdev, operating-system
fpos
Free Pascal Operating System (FPOS) is a operating system consists of a minimal kernel built on FreePascal. It contains a Scheme implementation of a hard drive (ATA) driver, keyboard (PS2), serial (8250 UART), FAT32 filesystem and a small real time clock manager. The project was built to experiment with developement of operating system using a h…
Stars: ✭ 36 (-83.41%)
Mutual labels:  kernel, os, operating-system, microkernel
Unikraft
Unikraft is an automated system for building specialized POSIX-compliant OSes known as unikernels. (Core repository)
Stars: ✭ 183 (-15.67%)
Mutual labels:  kernel, os, osdev, operating-system
chaos-2
A hand-made SMP-aware kernel
Stars: ✭ 20 (-90.78%)
Mutual labels:  kernel, os, osdev, operating-system

Poplar

Build status License: MPL-2.0

Poplar was previously called Pebble. It was renamed to avoid confusion with the OS that runs on the defunct Pebble smartwatches

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.

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})

To compile userspace programs, you'll need to build our custom Rust toolchain:

  • Clone IsaacWoods/rust and checkout the poplar branch
  • (Optional) rebase against rust-lang/rust to get the latest chages
  • Copy isaacs_config.toml to config.toml (or use your own)
  • Run ./x.py build -i library/std to build a stage-1 compiler and libstd
  • Create a toolchain with rustup toolchain link poplar build/{host triple}/stage1 (e.g. rustup toolchain link poplar build/x86_64-unknown-linux-gnu/stage1)

You don't need this toolchain to build the bootloaders, kernel, or no_std user programs, so you can get started without it!

Building

This repository includes an xtask-based build tool to simplify building and running Poplar.

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

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

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