BareMetal-kernel

A very minimal, resource efficient exo-kernel

Pure Nim score 15/100 · last commit 2019-04-14 · 1 stars · tests present · no docs generated

Summary

Latest Version Unknown
License Unknown
CI Status Failing
Stars 1
Forks 0
Open Issues 0
Last Commit 2019-04-14
Downloads 0
Last Indexed 2026-09-06 07:40

Installation

nimble install BareMetal-kernel
choosenim install BareMetal-kernel
git clone https://gitlab.com/friedrich12/BareMetal-kernel

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
BareMetal-kernel - - - - - - -

README

BareMetal

Just enough kernel

Official repo of the BareMetal exokernel. It's written from scratch in Assembly, designed for x86-64 hardware, with no dependencies except for the virtual/physical hardware. A 64-bit ARMv8 version is also planned.

What is this?

BareMetal is a very lean kernel. The name is a play on the phrase "bare metal" which means to run directly on physical or virtualized hardware. BareMetal also only offers the "bare essentials" required for a working operating system.

BareMetal provides basic support for symetric multiprocessing, network, and disk access via a low-level abstraction layer.

BareMetal Model

Key features

  • 64-bit: Make use of the extra-wide and additional registers available in 64-bit mode.
  • Mono-processing, multi-core: The system is able to execute a single "program" but can spread the work load amongst available CPU cores.
  • Extremely tiny memory footprint: A minimal bootable image, including bootloader and operating system components, is currently 16K.
  • Standard C library using newlib from Red Hat
  • Physical and virtual hardware support with full virtualization, using x86 hardware virtualization whenever available (it is on most modern x86-64 CPU's). In principle BareMetal should run on any x86-64 hardware platform, even on a physical x86-64 computer, given appropriate drivers. Officially, we develop on QEMU and VirtualBox, which means that you can run BareMetal on both Linux, Microsoft Windows, and Apple macOS.

Try it out!

See the BareMetal-OS repo for a full build environment.

// EOF