Skip to content

1. Building the Operating System.

Pradosh edited this page Oct 10, 2025 · 4 revisions

Prerequisites

Packages

  • For Debian based OS (Ubuntu, Pop_OS, Kali, etc.)
    sudo apt install -y make bison flex texinfo nasm mtools wget tar binutils build-essential doxygen git jq curl qemu-system-x86 xorriso
  • For Arch based OS (Arch, Manjaro etc.)
    sudo pacman -S make bison flex texinfo nasm mtools wget tar binutils base-devel doxygen git jq curl qemu qemu-system-x86 xorriso

Building the Cross Compiler.

It is simple, just open your terminal git clone fwtoolchain repository by,

git clone https://github.com/Frost-Wing/fwtoolchain.git

then cd into the cloned directory and just run

./build.sh

Build executables

After installation, the standard GNU tools are available under custom names for convenience:

gcc      -> fwgcc
g++      -> fwg++
ld       -> fwld
as       -> fwas
ar       -> fwar
objcopy  -> fwobjcopy
objdump  -> fwobjdump
nm       -> fwnm

The Window Manager!

Before building the OS itself, you have to build the window manager.

  • Get the Window Manager

    git clone https://github.com/Frost-Wing/FrostedWM.git
  • Build the Window Manager

    make
  • Copy the libFrostedWM.so

    You must copy the libFrostedWM.so if not (A) The OS would not build into a final OS. (B) Would have problems during booting. (C) Will have a older version of the window manager.

    You must copy the libFrostedWM.so to ./source/boot/ (assuming you are currently in the root path of the OS.)


Building FrostWing

  1. Clone this repository to your local machine

    git clone https://github.com/pradosh-arduino/FrostWing
  2. Change into the FrostWing directory:

    cd FrostWing
  3. Install the bootloader

    • Latest Version of Limine Bootloader
      git clone https://github.com/limine-bootloader/limine.git --branch=v6.x-branch-binary --depth=1
    • Compile the Limine bootloader
      make -C limine
  4. Build FrostWing for your target architecture:

    make -C source
    make
  5. (Optional - Untested) To use your own custom cross compiler:

    make -C source CC="xx" LD="xx"
    make

Note

A suitable cross-compiler was built for x86_64 and the OS is meant to work for it. Other cross compilers are not tested thus use it with your own risk.


Quick building the OS

If you quickly need to clean, compile, build-iso and test run it with QEMU all together. You can run:

make everything

Now you can scream "I use frostwing btw"

image

Clone this wiki locally