Go to file
Ilja Kartašov 26f05b04d7 Add context switching and basic scheduler 2020-01-20 09:14:13 +01:00
docs Update code due to new rules 2020-01-15 10:56:04 +01:00
kernel Add context switching and basic scheduler 2020-01-20 09:14:13 +01:00
.gitignore Initiated 2019-02-23 21:22:20 +01:00
AUTHORS Update code due to new rules 2020-01-15 10:56:04 +01:00
LICENSE.md Update code due to new rules 2020-01-15 10:56:04 +01:00
Makefile Fix uart_mini initialization and emulation 2019-12-02 12:59:40 +01:00
Makevars.mk Fix uart_mini initialization and emulation 2019-12-02 12:59:40 +01:00
README.md Update code due to new rules 2020-01-15 10:56:04 +01:00

README.md

Leos

Operating System for ARMv8 (aarch64) Architecture


The Idea

Löwe OS is being developed to be a lightweight desktop operating system for ARM-based computers, tablets, mobile phones etc. Here are some concepts behind it:

  1. The OS is free with open source codes, distributed under terms of CC BY-ND 4.0.
  2. The OS will have POSIX-compliant API.
  3. The OS will include graphical system, shell and generic utilities as a part of it, being designed to work as a solid product.
  4. The OS will respect user's privacy and will not track his/her actions and data.
  5. The OS will stive to be secure and robust.

Hardware

Early development is going for Raspberry PI3 board and its emulation using QEMU.

Documentation

Compilation

To compile Löwe OS run make from repository root, make sure Clang compiler is installed on your system.

$ make

Output files will be stored inside newly created build folder.

Run

To run Löwe OS on QEMU, execute make run command for the repository root.

To run Löwe OS on Raspberry PI3, follow these steps:

  1. Compile project and copy build/kernel8.img and config.txt files to Micro SD card
  2. Make sure latest boot code is installed on the SD card
  3. Insert SD card into your Raspberry PI3 and power it up

Debug

If you have gdb-multiarch and QEMU installed, then debugging should be as easy as make debug.

Roadmap

  1. Generic kernel features: Loadable Kernel file UART logging Memory pages avalability bitmap Interrupt vectors table Basic task scheduler Context switching Memory Mapping Unit
  2. Input/output: Graphical driver USB driver Keyboard input driver Mouse input driver
  3. Graphical system
  4. Shell and utilities
  5. Networking
  6. Sound system

Contribution