Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/farlepet/lambda-kern

Multi-architecture hobby operating system created in C
https://github.com/farlepet/lambda-kern

armv7 assembly c kernel osdev raspberry-pi x86

Last synced: 2 days ago
JSON representation

Multi-architecture hobby operating system created in C

Awesome Lists containing this project

README

        

Lambda Kernel
=============

Lambda OS is a hobby operating system developed by Peter Farley. Lambda OS
is designed to be portable to multiple systems, and currently supports
x86-based PCs, ARMv7 (Cortex-A9) support is in progress, and x86_64 and RISCV
(RV64I) support is planned.

**NOTE**: This repository only contains the kernel portion of Lambda OS. For a
usable implementation of the kernel, see the lambda-os repository.

Platform support:
- x86
- x86 PC (platform with the most support)
- ARMv7
- Cortex-A9
- Versatile Express A9 (early stages; partially dropped)
- Cortex-A53
- Broadcom BCM2836/7 (Raspberry Pi) (early stages)

Building
--------

To be able to build the Lambda kernel, you need the following tools:
- `gcc`
- If using `gcc`, you must use a cross-compiler. There is a convenience script for building one: `scripts/build-cross-compiler.sh`
- TODO: reintroduce clang support
- `make`
- `eu-readelf` (elfutils)

To build kernel:
- (If fisrt time) Clone the `lambda-kern` code repository
- (If not first time) Run `git pull`
- Make: `make CROSS_COMPILE=`
- Defaults to x86
- For clang: `make CC=clang AS=clang`
- For ARMv7: `make CROSS_COMPILE= ARCH=armv7`
- Using clang with ARMv7 is currently not fully supported
- To speed up compilation, add `-j` argument to the `make` command