Skip to content
Frost-WingPublic

Repository files navigation

FrostWing - Readme

FrostWing Banner

FrostWing is a lightweight, flexible x86_64 operating system with a clean, aesthetic design. This README will guide you through the process of understanding the overall concept of the FrostWing Operating System.

GitHub all releases GitHub GitHub code size in bytes GitHub repo size GitHub Workflow Status (with event)

Note

To get a really good overview of this repository please visit https://githubtracker.com/Frost-Wing/osdev

Table of Contents

Gallery

Refer the wiki for Gallary.*

Currently working Features

  • 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
  • Serial communications (with Arduino, NodeMCU, Sparkfun, etc.)
  • Audio
    • PC Speaker

AND MUCH MORE...

Dynamically linked user programs

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-disk

The 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.

Getting started

Please refer wiki for steps for compiling*

Hardware/Software (Emulator) Requirements

Works on any x86_64 processor

BIOS (min) BIOS (recommended) UEFI (min) UEFI (recommended)
RAM 75 MB 128 MB 170 MB 256 MB
Graphics Framebuffer Integrated Framebuffer Integrated

Booting to real machine

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.

Contributing

We welcome contributions to FrostWing! If you'd like to contribute code, report bugs, or suggest enhancements, please check our contribution guidelines.

License

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.

FrostWing Team

Releases

Used by

Contributors

Languages