Skip to content
/ boot Public

LKL on Unikraft sample app

Notifications You must be signed in to change notification settings

uk-lkl/boot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

boot: LKL on Unikraft sample

This is "boot" LKL on Unikraft sample app. The original "boot" is from tools/lkl/tests/boot.c, on lkl/linux. This sample currently supports x86/linuxu and x86/kvm.

Build and Run

$ mkdir unikraft
$ cd unikraft
$ git clone [email protected]:uk-lkl/unikraft.git --branch=retrage/lkl-v2
$ mkdir libs && cd libs
$ git clone [email protected]:uk-lkl/newlib.git --branch=retrage/fix
$ git clone --recursive [email protected]:uk-lkl/lkl.git
$ cd ..
$ mkdir apps && cd apps
$ git clone [email protected]:uk-lkl/boot.git
$ cd boot
$ make menuconfig
# Select x86
# Select KVM guest or Linux user space
# For Linux user space, default heap size must be larger than 128MB
$ make
# For x86/linuxu,
$ ./build/boot_linuxu-x86_64
# For x86/kvm,
$ ./run.sh

To debug for x86/kvm,

# Disable "Drop unused functions and data"
# Disable "Link time optimizations (LTO)"
# Enable "Debugging information"
# Enable "Create a symbols file"
# Disable "Strip final image"
$ ./debug.sh
# In another console,
$ gdb ./build/boot_kvm-x86_64

About

LKL on Unikraft sample app

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published