33 lines
1.0 KiB
Markdown
33 lines
1.0 KiB
Markdown
# KornOS
|
|
KornOS is a microkernel-based operating system targeting ARMv6+ and 80386+.
|
|
|
|
## Progress
|
|
### Booting
|
|
- [x] Boot using stivale2 on x86. (Limine is 686+?)
|
|
- [ ] Boot using multiboot(2) on x86.
|
|
- [ ] Boot using BOOTBOOT on x86-64
|
|
- [ ] Boot on Raspberry Pi 0-4
|
|
### Kernel
|
|
- [x] Kernel printing
|
|
- [x] x86-64 GDT parsing
|
|
- [ ] x86-32 GDT parsing
|
|
|
|
## Getting started
|
|
KornOS has an extensive Make-based build system. Making sure all dependencies are present and then `make run` should be sufficient to boot into KornOS for x86-64.
|
|
Note: to clone the repo and ensure all bundled dependencies are pulled in, run `git clone --recurse-submodules https://git.dehosting.club/quintenk/kornos.git`.
|
|
|
|
Quick-start:
|
|
```
|
|
git clone --recurse-submodules https://git.dehosting.club/quintenk/kornos.git
|
|
cd kornos
|
|
make run
|
|
```
|
|
### Dependencies
|
|
- `cc` (for host utilities)
|
|
- `zig` (for `zig cc` cross-compiler)
|
|
- `nasm`
|
|
- `echfs-utils` (Bundled, requires libuuid-devel)
|
|
- `limine` (Bundled)
|
|
- `parted`
|
|
- `qemu-system-x86_64`
|
|
- `gdb` (if you want to debug the kernel) |