Skip to content
Microkernel and userspace written in Rust, with first-class message passing
Branch: master
Clone or download
bors and IsaacWoods Merge #29
29: Kernel objects r=IsaacWoods a=IsaacWoods

This reorganises a bit of stuff and starts work on the new concept of 'kernel objects' - things that can be interacted with using system calls.

Co-authored-by: Isaac Woods <>
Latest commit 82189ae Apr 5, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
acpi @ c7199a1 [acpi] Update acpi submodule Jan 5, 2019
cargo-pebble [x86_64] Add types for memory addressess Oct 18, 2018
kernel [kernel] Make the `Test` variant of `KernelObject` unhygenic Apr 4, 2019
libpebble [kernel libpebble] Generalise ProcessId into KernelObjectId Mar 8, 2019
x86_64 [kernel x86_64] Delete old Process stuff and clean up imports Apr 4, 2019
.gitignore [boot kernel] Set up kernel recursive mapping and access page tables … Dec 24, 2018
.gitmodules [acpi] Add acpi submodule Dec 29, 2018
.travis.yml [build] Use Makefile target to run tests from CI Feb 5, 2019 Add code of conduct Oct 23, 2018
LICENSE Move to the MPL-v2 Feb 3, 2019
Makefile [build] Add target to run the kernel tests Feb 3, 2019 Update readme Mar 2, 2019
bors.toml [build] Remove GRUB from Travis and add bors Nov 11, 2018
rustfmt.toml [build] Add rustfmt config file Jan 19, 2019


Build Status 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 other useful resources, such as rustdoc-generated documentation of the components.


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.


You can’t perform that action at this time.