gthvn1 / mini-zos

A unikernel written in zig that runs on top of Xen and provides runtime for Wasm binaries...

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Warning This project has been archived because the main project is now barebones. My idea is too merge barebones and zanzibar at some point to be able to run barebones on Xen with zanzibar as monkey REPL


Mini-Zos

Inspired by mini-os that is a small OS kernel running on Xen hypervisor.

Cool links

Build

  • We are targeting the native x86_64 architecture.
  • Just run zig build -Doptimize=ReleaseSmall
  • the build will produce a binary zig-out/bin/mini-zos

Tadam...

~/git/mini-zos master* ⇡
❯ zig build -Doptimize=ReleaseSmall

~/git/mini-zos master* ⇡
❯ objdump -d zig-out/bin/mini-zos

zig-out/bin/mini-zos:     file format elf64-x86-64


Disassembly of section .text:

0000000000010000 <.text>:
   10000:       bc 00 30 01 00          mov    $0x13000,%esp
   10005:       e8 03 00 00 00          call   0x1000d
   1000a:       f4                      hlt
   1000b:       eb fd                   jmp    0x1000a
   1000d:       90                      nop
   1000e:       90                      nop
   1000f:       c3                      ret

The ultimate goal

The ultimate goal is to run a unikernel written in zig that runs on top of Xen and provides runtime for Wasm binaries... Cool no :)

Web Assembly

Look into the repo wasm_apps to have a little sneak peek of Wasm.

About

A unikernel written in zig that runs on top of Xen and provides runtime for Wasm binaries...

License:GNU General Public License v3.0


Languages

Language:Zig 75.1%Language:WebAssembly 14.6%Language:Nix 5.7%Language:JavaScript 4.5%