PeernetOfficial / core

Core library. Use this to create a new Peernet application.
MIT License
36 stars 5 forks source link

Providing support for Uni-kernels #97

Open Akilan1999 opened 2 years ago

Akilan1999 commented 2 years ago

What are Uni-kernels ?

A unikernel is a specialised, single address space machine image constructed by using library operating systems.[1] A developer selects, from a modular stack, the minimal set of libraries which correspond to the OS constructs required for the application to run. These libraries are then compiled with the application and configuration code to build sealed, fixed-purpose images (unikernels) which run directly on a hypervisor or hardware without an intervening OS such as Linux or Windows.

The first such systems were Exokernel and Nemesis in the late 1990s. source: https://en.wikipedia.org/wiki/Unikernel

This issues was created to tackle all problems that pop up in regards to providing support for Uni-kernels.

The current Uni-kernel tested against is OSv:

Issue faced:

open data/log backend.txt: no such file or directory
unexpected fault address 0x0
fatal error: fault
[signal SIGSEGV: segmentation violation code=0x412b2a08 addr=0x0 pc=0x1000005a04c9]

goroutine 1 [running]:
runtime.throw({0x1000005a2c0b?, 0xc000021fd0?})
        /snap/go/9848/src/runtime/panic.go:992 +0x71 fp=0xc00011bd88 sp=0xc00011bd58 pc=0x10000020a491
runtime.sigpanic()
        /snap/go/9848/src/runtime/signal_unix.go:825 +0x305 fp=0xc00011bdd8 sp=0xc00011bd88 pc=0x10000021f8c5
main.main()
        /home/akilan/Documents/peernet/Cmd/Main.go:60 +0x329 fp=0xc00011bf80 sp=0xc00011bdd8 pc=0x1000005a04c9
runtime.main()
        /snap/go/9848/src/runtime/proc.go:250 +0x213 fp=0xc00011bfe0 sp=0xc00011bf80 pc=0x10000020cbb3
runtime.goexit()
        /snap/go/9848/src/runtime/asm_amd64.s:1571 +0x1 fp=0xc00011bfe8 sp=0xc00011bfe0 pc=0x100000239461