commit 80e86f4ec0944be84e9a78b74ee8ac39b2cabbdd Author: Jack Halford Date: Tue Apr 23 19:39:21 2019 +0200 first commit diff --git a/unikernel-demo/Makefile b/unikernel-demo/Makefile new file mode 100644 index 00000000..324dca0b --- /dev/null +++ b/unikernel-demo/Makefile @@ -0,0 +1,6 @@ +export ukl-obj-m := fs1.o + +all: + $(MAKE) -C ../whiterose/ UKL=$(PWD) bzImage +qemu: + qemu-system-x86_64 -enable-kvm -m 1G -s -kernel ../whiterose/arch/x86/boot/bzImage -append "console=ttyS0 ukl quiet" -nographic diff --git a/unikernel-demo/README.md b/unikernel-demo/README.md new file mode 100644 index 00000000..ede7ed8f --- /dev/null +++ b/unikernel-demo/README.md @@ -0,0 +1 @@ +# unikernel-demo diff --git a/unikernel-demo/fs1.c b/unikernel-demo/fs1.c new file mode 100644 index 00000000..6f0a7a52 --- /dev/null +++ b/unikernel-demo/fs1.c @@ -0,0 +1,25 @@ +#include +#include + +#ifndef USERSPACE +# define main ukl_main +#endif + +int main(void) { + char buf[256] = { 0 }; + int fd = open("/etc/passwd", O_RDONLY); + ssize_t ret; + + if (fd == -1) + return 1; + + while ((ret = read(fd, buf, sizeof(buf)))) + { + buf[ret] = 0; + write(1, buf, ret); + } + + close(fd); + + return 0; +}