~eliasnaur/unik

A Go unikernel capable of running Gio GUI programs
virtio/gpu: improve the error message for when Qemu is too old
initial import

refs

main
browse  log 

clone

read-only
https://git.sr.ht/~eliasnaur/unik
read/write
git@git.sr.ht:~eliasnaur/unik

You can also use your local clone with git send-email.

#Unik

Unik is a Go module for running Go programs as unikernels, without an underlying operating system. The included demo is a functional Gio GUI program that demonstrates the virtio GPU and tablet drivers.

#Requirements

  • Linux
  • Qemu >= 4.2.0
  • mtools (for creating FAT images)
  • OVMF UEFI firmware (dnf install edk2-ovmf on Fedora)
  • (Optional) gnu-efi (for building the UEFI boot loader)

#Building

The build.sh script takes a go package or file list, builds the Go program and a bootable FAT image with the bootloader and program. To build the demo, run

$ ./build.sh ./cmd/demo

#Executing

The qemu.sh script runs the bootable image inside Qemu, with the virtio GPU and tablet devices enabled. If everything goes well,

$ ./qemu.sh

should give you a functional GUI program with mouse support. There is not yet support for the keyboard input.