No description
  • C 76.2%
  • C3 19.4%
  • Linker Script 2.2%
  • Shell 1.6%
  • Assembly 0.6%
Find a file
2026-09-23 13:14:40 +02:00
linker-scripts Push current state 2026-09-23 12:08:42 +02:00
scripts Push current state 2026-09-23 12:08:42 +02:00
src Fix bug where phys allocator would allocate reserved space 2026-09-23 13:14:40 +02:00
.gitignore Get printf functioning 2026-08-24 16:28:44 +02:00
bochsrc Add bochsrc 2026-08-29 15:00:29 +02:00
LICENSE Initial commit 2026-08-05 14:06:40 +02:00
limine.conf Change timeout to 0 seconds 2026-08-29 15:02:50 +02:00
project.json Add amd64-debug build option 2026-08-29 15:00:53 +02:00
README.md Update c3c version 2026-08-29 16:27:04 +02:00

Nsics

Nsics is a kernel targeting aarch64 and x86_64 targets written in C3.

Compiling

Dependencies

To compile you need to have c3c installed. This repository was made and tested for c3c version 0.8.4

Run c3c build deps to get the required dependencies to build this project (Limine and OVMF)


To compile only a binary run: c3c build <arch>

Supported architectures are aarch64 and amd64.

A binary will plop out at build/kernel

Running

To package the binary into an ISO and run it with QEMU run c3c build <arch>-run

So to build, package and run the aarch64 version, for example, you can do c3c build aarch64-run

Third-party projects

Thanks to all the contributors of:

  • Limine: for the bootloader
  • Flanterm: for the terminal interface
  • OVMF: for the UEFI implementation used with QEMU