All Projects → IsaacWoods → Pebble

IsaacWoods / Pebble

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

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Pebble

Zen
Experimental operating system written in Zig
Stars: ✭ 177 (-3.8%)
Mutual labels:  kernel, operating-system, os
Aquila
AquilaOS: UNIX-like Operating System
Stars: ✭ 413 (+124.46%)
Mutual labels:  kernel, operating-system, os
Wingos
a little 64bit operating system written in c++ with smp support
Stars: ✭ 361 (+96.2%)
Mutual labels:  kernel, operating-system, os
Tofita
🍬 All-new kernel for @GreenteaOS
Stars: ✭ 112 (-39.13%)
Mutual labels:  kernel, operating-system, os
Sparrow
My Operating System.
Stars: ✭ 71 (-61.41%)
Mutual labels:  kernel, operating-system, os
Rust Raspberrypi Os Tutorials
📚 Learn to write an embedded OS in Rust 🦀
Stars: ✭ 7,275 (+3853.8%)
Mutual labels:  kernel, operating-system, os
Emerald
An operating system written in C
Stars: ✭ 118 (-35.87%)
Mutual labels:  kernel, operating-system, os
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 (-80.43%)
Mutual labels:  kernel, os, operating-system
Toaru Nih
NOTICE: The ToaruOS-NIH Project has been MERGED UPSTREAM. This repository is now archived.
Stars: ✭ 66 (-64.13%)
Mutual labels:  kernel, operating-system, os
Dennix
Dennix is a unix-like hobbyist operating system written from scratch.
Stars: ✭ 53 (-71.2%)
Mutual labels:  kernel, operating-system, os
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 (+2447.28%)
Mutual labels:  kernel, operating-system, os
Reactos
A free Windows-compatible Operating System
Stars: ✭ 10,216 (+5452.17%)
Mutual labels:  kernel, operating-system, os
Harmonyos
A curated list of awesome things related to HarmonyOS. 华为鸿蒙操作系统。
Stars: ✭ 18,385 (+9891.85%)
Mutual labels:  kernel, operating-system, os
Serenity
SerenityOS is a love letter to '90s user interfaces with a custom Unix-like core. It flatters with sincerity by stealing beautiful ideas from various other systems.
Stars: ✭ 16,842 (+9053.26%)
Mutual labels:  kernel, operating-system, os
Lemonos
The Lemon Operating System https://lemonos.org
Stars: ✭ 260 (+41.3%)
Mutual labels:  kernel, operating-system, os
Qword
Operating system for x86_64 based around a "keep it simple and make it work" philosophy.
Stars: ✭ 367 (+99.46%)
Mutual labels:  kernel, operating-system, os
oneiric
A small kernel + OS based on how dreams work
Stars: ✭ 11 (-94.02%)
Mutual labels:  kernel, os, operating-system
LudOS
A toy monolithic kernel written in C++
Stars: ✭ 38 (-79.35%)
Mutual labels:  kernel, os, operating-system
Fiwix
A UNIX-like kernel for the i386 architecture
Stars: ✭ 38 (-79.35%)
Mutual labels:  kernel, operating-system, os
Harmonyos
鸿蒙系统资料。Docs about HarmonyOS.
Stars: ✭ 1,191 (+547.28%)
Mutual labels:  kernel, operating-system, os

Pebble

License: MPL-2.0 Gitter chat

Pebble is still early in development.

Pebble is a microkernel and userspace written in Rust, with a focus on safety and simplicity. It is designed to be simple to understand, extend, and develop for. Pebble does not aim for POSIX compliance. The best way to learn about Pebble 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/pebble.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 a custom Rust toolchain (hopefully just for now):

  • Clone IsaacWoods/rust and checkout the pebble 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 pebble build/{host triple}/stage1 (e.g. rustup toolchain link pebble build/x86_64-unknown-linux-gnu/stage1)

Using butler to build and run projects

This repository includes a build tool, butler, to simplify building and running Pebble. It is configured as a Cargo alias, cargo bu, to make it easy to access.

Running cargo bu will build a standard Pebble distribution and run it in QEMU. See cargo bu -- --help for how to do more elaborate things with it, including a list of projects.

Contributing

You are very welcome to contribute to Pebble! Have a look at the issue tracker, or come hang out in the Gitter room to find something to work on.

Any contribution submitted for inclusion in Pebble by you shall be licensed according to the MPL-2.0, without additional terms or conditions.

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