blob: 141c89ff152f1130a6bfe0b086492ee400af9f69 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
TeachOS Kernel
==============
The TeachOS kernel for the core of the operating system.
It is implemented in assembly and C++, where the amount of assembly is kept to a minimum.
The primary design goal of the kernel is to be teachable and useful as part of the operating systems lecture track at OST.
Therefore, subsystems might not be implemented in a runtime performance optimal way but rather to be understandable and clear.
Development
-----------
Development happens primarily on Linux.
Other platforms (e.g. Windows, macOS) may allow building of the kernel as well, however at the time of this writing they are not officially supported.
Required Tools
~~~~~~~~~~~~~~
In order to build the kernel, the following tools are required:
- Docker to run the development container
- Visual Studio Code for development
Setup
~~~~~
Open this directory in Visual Studio Code and then reopen the project in the development container
Launching
~~~~~~~~~
The build systems ships with a target (`bootable-iso`) that creates an ISO image containing a GRUB setup, capable of booting the kernel.
Additionally, the development container includes GDB and QEMU making it possible to run the configured GDB launch configuration to debug the kernel.
|