Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aar10n/osdev
64-bit UNIX hobby operating system with a UEFI bootloader
https://github.com/aar10n/osdev
kernel osdev uefi x86-64
Last synced: about 8 hours ago
JSON representation
64-bit UNIX hobby operating system with a UEFI bootloader
- Host: GitHub
- URL: https://github.com/aar10n/osdev
- Owner: aar10n
- License: mit
- Created: 2019-06-09T18:02:52.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-11-13T03:02:24.000Z (about 2 months ago)
- Last Synced: 2025-01-03T12:09:40.291Z (7 days ago)
- Topics: kernel, osdev, uefi, x86-64
- Language: C
- Homepage:
- Size: 7.29 MB
- Stars: 78
- Watchers: 5
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hobby Operating System
This is a modern 64-bit UEFI based UNIX-like hobby operating system. It has been an
ongoing project for a while and I treat it like a sandbox to learn about operating
system design and other low-level concepts. It is not yet fully working (no userspace
or shell), but I have been slowly working towards the goal of running doom in userspace.Currently, it has a working bootloader, memory management, scheduler, usb support (hid,
mass storage), and a few other things. I read a lot of source code from other projects
while working on this so maybe this could be useful to someone else.```
├── boot uefi edk2 bootloader
├── drivers external device drivers
├── fs filesystem types
│ └── ramfs generic in-memory filesystem driver
├── include header files
├── kernel core kernel code
│ ├── acpi acpi drivers
│ ├── bus pci & pcie drivers
│ ├── cpu cpu related code and assembly routines
│ ├── debug debugging facilities (DWARF, stacktrace, etc)
│ ├── device apic, ioapic and other related drivers
│ ├── gui graphics code
│ ├── mm memory management (physical and virtual)
│ ├── sched scheduler and scheduling algorithms
│ ├── usb usb and usb device drivers
│ └── vfs virtual filesystem code
├── lib data structure, algorithm and other useful libraries
├── sbin system binaries
├── scripts build related scripts and support files
├── third-party third party dependencies
└── toolchain toolchain build files and patches
```# Toolchain
To build the full toolchain from source:
```shell
make -C toolchain all -j$(nproc)
```