Welcome to FrostWing, a lightweight and flexible operating system designed for x86_64 platform. This README will guide you through the process of understanding the overall concept of the FrostWing Operating System.
Note
To get a really good overview of this repository please visit https://githubtracker.com/Frost-Wing/osdev
- Interrupts
- ACPI
- Shutdown
- Reboot
- AHCI
- Detecting Disks
- CPU-ID
- GDT
- BIOS
- UEFI
- TSS
- Hardware abstraction layer (HAL)
- Memory
- Heap memory allocator
- Paging
- PCI
- Probing
- Initializing required drivers
- Storing the devices list
- Timing
- Real Time Clock
- Programmable Interval Timer
- Secure Boot
- UEFI
- BIOS
- PS/2
- Keyboard
- Mouse
- Graphics
- OpenGL Renderer
- Terminal emulator
- Graphics card support
- Networking
- Ethernet
- RTL Cards
- RTL-8139 Networking
- RTL Cards
- Ethernet
- Serial communications (with Arduino, NodeMCU, Sparkfun, etc.)
- Audio
- PC Speaker
AND MUCH MORE...
FrostWing's ELF loader supports x86-64 ELF interpreters and starts the program's
interpreter; dynamically linked programs must also have every DT_NEEDED
library available in the root filesystem. Build a musl-linked program with its
normal dynamic defaults, then stage it and its dependencies before creating the
root disk:
musl-gcc input.c -o input
./scripts/stage-elf.py ./input
make root-diskThe staging helper inspects ELF metadata without executing the input, copies the
program to fs_root/bin, and places its interpreter and recursive shared-library
dependencies under fs_root/lib or fs_root/lib64 according to the interpreter
path. make root-disk replaces the existing disk.img, so back up any data on
that image first. Review the staged files before distributing an image. This supports
musl-linked x86-64 programs to the extent of FrostWing's Linux syscall
compatibility; copying a glibc executable and its libraries does not make
arbitrary Linux/glibc programs compatible.
Please refer wiki for steps for compiling*
- CPU Currently any x86_64 proccessor
- RAM 75 MB
- Storage Nothing required yet.
- Graphics Only Framebuffer.
- CPU Currently any x86_64 proccessor
- RAM 170 MB
- Storage Nothing required yet.
- Graphics Only Framebuffer.
- CPU Currently any x86_64 proccessor
- RAM 128 MB
- Storage Nothing required yet.
- Graphics Integrated Graphics
- CPU Currently any x86_64 proccessor
- RAM 256 MB
- Storage Nothing required yet.
- Graphics Integrated Graphics
This operating system is real machine bootable and tested under the following circumstances:
Boot Disk information:
- Using 32 GB Pendrive
- GPT Disk (MBR Also works)
- Both BIOS / UEFI supported
- Ventoy loaded
- FrostWing.iso in the root directory
Important
It is recommended to use Ventoy because you will not have the risk of flashing and failing of USB-Drives.
We welcome contributions to FrostWing! If you'd like to contribute code, report bugs, or suggest enhancements, please check our contribution guidelines.
FrostWing is open-source software released under the CC0-1.0 License. Feel free to use, modify, and distribute it as per the terms of this license.
- Owner, founder & "The Dev" - Pradosh (@PradoshGame)
- OpenGL & Head Developer - GAMINGNOOB (@GAMINGNOOBdev) (inactive)
- Sources
- Flanterm from Mintsuki
- ACPI and Shutdown from Mintsuki
- Floating Point Arithmetic from Kevin Lange
- UEFI Binary from BlankOn
- Interrupts from MakenOS Kernel