This repository will demonstrate how to set up a basic x86-64 kernel in Zig using Limine.
Any make command depends on GNU make (gmake) and is expected to be run using it. This usually means using make on most GNU/Linux distros, or gmake on other non-GNU systems.
All make all* targets depend on Zig, at least version 0.11.x.
Additionally, building an ISO with make all requires xorriso, and building a HDD/USB image with make all-hdd requires sgdisk (usually from gdisk or gptfdisk packages) and mtools.
Running make all will compile the kernel (from the kernel/ directory) and then generate a bootable ISO image.
Running make all-hdd will compile the kernel and then generate a raw image suitable to be flashed onto a USB stick or hard drive/SSD.
Running make run will build the kernel and a bootable ISO (equivalent to make all) and then run it using qemu (if installed).
Running make run-hdd will build the kernel and a raw HDD image (equivalent to make all-hdd) and then run it using qemu (if installed).
The run-uefi and run-hdd-uefi targets are equivalent to their non -uefi counterparts except that they boot qemu using a UEFI-compatible firmware.