another hobby operating system :) https://www.benjidial.net/weblog/calcite
Find a file
2025-07-05 13:05:06 -04:00
disk/limine first commit 2025-07-04 21:33:28 -04:00
kernel start on paging system; make our own page tables and switch to them 2025-07-05 13:05:06 -04:00
.gitignore first commit 2025-07-04 21:33:28 -04:00
compile_flags.txt start on paging system; make our own page tables and switch to them 2025-07-05 13:05:06 -04:00
get-dependencies.sh first commit 2025-07-04 21:33:28 -04:00
license.txt first commit 2025-07-04 21:33:28 -04:00
makefile start on paging system; make our own page tables and switch to them 2025-07-05 13:05:06 -04:00
qemu.gdb first commit 2025-07-04 21:33:28 -04:00
readme.txt start on paging system; make our own page tables and switch to them 2025-07-05 13:05:06 -04:00

  ____      _      _ _
 / ___|__ _| | ___(_) |_ ___
| |   / _` | |/ __| | __/ _ \
| |__| (_| | | (__| | ||  __/
 \____\__,_|_|\___|_|\__\___|

Calcite is a hobby operating system. I am maintaining a weblog with occasional
status updates at <https://www.benjidial.net/weblog/calcite>.

Calcite is very much alpha software. Do not expect it to do anything useful.

=== Building

Calcite requires some dependencies before it can be built:
 * curl
 * GCC (Any C compiler supporting both C99 and C23 should work.)
 * GNU Binutils (Specifically, "ld" is used to link the kernel.)
 * GNU Make (I don't think I have used any GNU extensions.)
 * GNU xorriso
 * NASM

On Debian, it is sufficient to run this command:
  apt install binutils curl gcc make nasm xorriso

To build Calcite, first run "sh get-dependencies.sh", then run "make".
This will build a disk image at "build/disk.iso" that can be booted
with either BIOS or UEFI.

=== Debugging

Once Calcite has been built, some more dependencies are required to debug it:
 * GNU's GDB
 * QEMU, including the x86_64 system

On Debian, it is sufficient to run this command:
  apt install gdb qemu-system-x86

Then, just run "make debug". Calcite will be booted in QEMU, and GDB will be
attached to it. Use "c" or "continue" in GDB to start execution.

=== License

Calcite is Copyright 2025 Benji Dial, and licensed under the GNU GPL v3. See
"license.txt" for the text of the license.

The disk image includes the Limine bootloader. Limine is Copyright 2019-2025
Mintsuki and contributors, and is released under the BSD 2-Clause license.
You can find Limine online at <https://github.com/limine-bootloader/limine>.
After running "sh get-dependencies.sh", you can find the license of Limine at
"dependencies/limine/LICENSE". Limine also has its own dependencies. In the
source repository of Limine, you can find a list of these with their licenses
at "3RDPARTY.md".