Skip to content
This repository contains the source code of toro kernel
Branch: master
Clone or download
MatiasVara Issue #240: Add ring buffer for debugging
This commit adds a ring buffer for the debugging messages.
Latest commit e5c294c May 2, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
boot Issue #223: Add support for multiboot Dec 11, 2018
builder Fix for #276 and #278 Jan 25, 2019
ci
examples Issue #314: Add warning if ld is not 2.26.1 May 1, 2019
rtl Issue #240: Add ring buffer for debugging May 2, 2019
tests Issue #240: Add ring buffer for debugging May 2, 2019
.gitignore Issue 27 and 37: Rename tests to examples and move build to builder Oct 29, 2017
.travis.yml Add travis.test.py Mar 20, 2019
COPYING Issue #160: add license Feb 8, 2018
README.md Update bibliography Feb 5, 2019

README.md

Toro Kernel

Introduction

Toro is a kernel that allows the user to dedicate a whole kernel to run a single application. Toro is a set of libraries that compiles together with the user application. This results in a image that can run on top of a hypervisor, e.g., KVM, Xen, VirtualBox, or baremetal. To know more about Toro, visit the blog and the wiki.

Features

  • Support to x86-64 architecture
  • Support up to 512GB of RAM
  • Support to KVM, Xen, HyperV, VirtualBox and Qemu-Lite
  • Cooperative Scheduler
  • Virtual FileSystem
  • Network Stack
  • Network drivers:
    • Virtio-net, E1000, NE2000
  • Disk drivers:
    • ATA disks
  • FileSystem drivers:
    • Ext2, Fat
  • Fast boot up
  • Tiny image

Examples

The repository of Toro includes examples that show basic functionalities of the kernel. These examples are in the examples directory. Each example contains the instruction to compile it and run it on QEMU-KVM. We recommend to start with the HelloWorld example. Before go to the example, you need to install Lazarus and QEMU-KVM:

apt-get install lazarus

sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils virtinst

To try Toro, you can follow a simple tutorial here that aims at running a static web server inside a docker image.

Contributing

To contribute to Toro project, go here

License

GPLv3

References

[0] Matias Vara. A Dedicated Kernel named Toro. FOSDEM 2015.

[1] Matias Vara. Reducing CPU usage of a Toro Appliance. FOSDEM 2018.

[2] Matias Vara, Cesar Bernardini. Toro, a Dedicated Kernel for Microservices. Open Source Summit Europe 2018.

[3] Matias Vara. Speeding Up the Booting Time of a Toro Appliance. FOSDEM 2019.

You can’t perform that action at this time.