My attempt to write a x86_64 OS kernel :D
Still Very early stages
Planned idea: something unix-like, partially posix, monolithic/hybrid kernel.
Currently written in C, a bit of nasm. Uses gnu23 C standard in kernel.
To build and run FeudOS, you'll need:
makex86_64-elf-gcccross compiler (version 15 or newer)nasmliminexorriso
Optional:
qemu-system-x86_64(to run the ISO in a VM)x86_64-elf-binutils(for debugging)tigervnc(if you want to run qemu with VNC, would be useful if you're on wayland - seerun_qemu_wayland.shcomments)
sudo apt update
sudo apt install \
build-essential \
nasm \
xorriso \
qemu-system-x86 \
gitBuild x86_64-elf-gcc yourself or get a binary from a third-party source.
Build Limine:
git clone https://github.com/limine-bootloader/limine.git
cd limine
make
# Optionally install limine somewhere in your PATH.sudo dnf install \
make \
gcc \
nasm \
xorriso \
qemu-system-x86 \
gitAgain, build the cross compiler yourself or get it from a third-party source.
Build Limine the same way as above.
sudo pacman -S --needed \
base-devel \
nasm \
xorriso \
qemu-desktop \
gitYou can build the cross compiler using the AUR package x86_64-elf-gcc or from source.
Example with yay:
yay -S x86_64-elf-gcc
# yay -S x86_64-elf-binutils # if neededLimine is also available in the AUR:
yay -S liminepkg install \
gmake \
nasm \
xorriso \
qemu \
gitBuild the cross compiler and Limine yourself (or get them from a third-party source).
Run the build with gmake instead of make.
brew install \
make \
nasm \
xorriso \
qemu \
gitBuild x86_64-elf-binutils, x86_64-elf-gcc, and Limine manually, or install them from a tap that provides an ELF cross toolchain.
git clone https://github.com/Freemorger/feudos
cd feudos
make # Build the ISO
make run-iso # Build and run the ISO in QEMUNote
Wayland users might encounter rendering issues with default QEMU screen.
See run_qemu_wayland.sh script comments to learn more