Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/farlepet/lambda-kern
- Owner: farlepet
- License: mit
- Created: 2013-12-02T03:31:02.000Z (almost 11 years ago)
- Default Branch: develop
- Last Pushed: 2022-12-08T00:04:49.000Z (almost 2 years ago)
- Last Synced: 2024-11-05T18:51:42.648Z (9 days ago)
- Topics: armv7, assembly, c, kernel, osdev, raspberry-pi, x86
- Language: C
- Homepage:
- Size: 3.98 MB
- Stars: 16
- Watchers: 3
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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