No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ali Raza 877f7c7808 pushing 5 days ago
kernel userspace server panicking 6 days ago
.gitignore userspace server panicking 6 days ago
COPYING server working, need to fix panic 5 months ago
Makefile userspace server panicking 6 days ago
README.md fixing readme 2 weeks ago
interface.c userspace server panicking 6 days ago
kmain.c server working, need to fix panic 5 months ago
multithread.c tls working for kthreads 1 month ago
network_server.c adding multiple threads code 2 months ago
newserver.c pushing 5 days ago
server.c -a 1 week ago
threadsglibc.c tls for kernel working 2 weeks ago
ukl.c pushing 5 days ago
update_kernel.sh running kmemcached 1 week ago

README.md

UKL

A unikernel based on Linux. https://next.redhat.com/2018/11/14/ukl-a-unikernel-based-on-linux/

To Run

Assuming you are running Fedora.

  1. You need the following packages. Run the following command to install them.

    1. QEMU
    2. supermin
    3. git
    4. some kernel development tools sudo dnf install qemu supermin git elfutils-devel kernel-devel sudo dnf groupinstall "C Development Tools and Libraries"
  2. This Makefile assumes that you have a main directory in which you have three further sub directories. Follow the commands below to get the correct directory layout. (This will not be necessary as we update the Makefile)

    mkdir unikernel
    cd unikernel
    git clone [email protected]:torvalds/linux.git
    git clone [email protected]:razaaliraza/ukl.git
    git clone [email protected]:razaaliraza/min-initrd.git
    cd ukl
    
  3. Now just run a few make commands

    make network_server
    make run
    

    You can telnet from another terminal into the unikernel on 127.0.0.1 and 5555 port

     telnet 127.0.0.1 5555
    
  4. To run unikernel with TLS support

    make all
    make run