moonshot

releases

0.1.0 “quiet boye”

the first release of moonshot. it boots via Multiboot + GRUB in QEMU, has preemptive multitasking with a round-robin scheduler, its own pixel framebuffer and font renderer, a tiled windowing layer, an interactive shell with tab completion and command history, a built-in text editor with syntax highlighting and visual selection, a c0 REPL with a JIT compiler, a disk-backed filesystem with permissions, and ring-3 userspace with syscall support.

github.com/cofflang/moonshot

boot the pre-built image

the repository includes a pre-built moonshot.iso you can boot right away. you need qemu-system-x86_64 installed:

# create a disk image for the filesystem
dd if=/dev/zero of=disk.img bs=512 count=20480

# headless (serial console only)
qemu-system-x86_64 -cdrom moonshot.iso -display none -no-reboot \
  -serial file:serial.log -m 128 \
  -drive file=disk.img,format=raw,if=ide,index=0,media=disk

# interactive graphical window (needs qemu-ui-gtk on Arch)
qemu-system-x86_64 -cdrom moonshot.iso -display gtk -m 128 \
  -drive file=disk.img,format=raw,if=ide,index=0,media=disk

source

moonshot lives at github.com/cofflang/moonshot. coff, the self-hosted compiler for c0, is at github.com/cofflang/coff.