Building
This guide provides instructions for building skiftOS from source.
Prerequisites
- Linux or macOS
- Clang (18 or later)
- Python (3.11.5 or later)
- Tools:
llvm
,clang
,ninja
,nasm
,qemu
- Installation: Use your system's package manager (e.g.,
apt
on Ubuntu) to install these dependencies.
Instructions
-
Prerequisites:
Verify that you have the required dependencies installed.
Ubuntu
apt update apt install build-essential git ninja-build libsdl2-dev nasm gcc-multilib qemu-system-x86 mtools liburing-dev bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" llvm 17
Arch Linux
pacman -Syu git clang llvm nasm qemu-full gptfdisk mtools liburing sdl2
-
Clone the Repository:
git clone https://github.com/skift-org/skift.git cd skift
-
Check Build Status (Optional):
Look at the build status badge for any potential issues:
-
Set Up Build Environment:
./skift.sh tools setup
🛈 Note
On Ubuntu, this step also installs dependencies. -
Verify Setup:
./skift.sh tools doctor
-
Download Dependencies:
./skift.sh model install
-
Build and Run:
-
In Virtual Machine:
./skift.sh image start
🛈 Note
Requires a graphical environment and QEMU with graphics support (SDL or GTK). For headless servers, build a disk image instead:./skift.sh image build --format=hdd
-
In simulator:
./skift.sh builder run --mixins=release hideo-shell.main
🛈 Note
The--mixins=release
flag is optional and can be omitted for a debug build.
Enjoy! You now have a working installation of skiftOS.
Need Help? Join the Discord server for assistance in the
#build-issues
channel. -