Skip to content

About

Spidermine: Low Overhead User-Level Prefetcher

Topics

Resources

Stars

2 stars

Watchers

2 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

Repository files navigation

GitHub last commit GitHub contributors GitHub code size in bytes

Spidermine Kernel

Project Reference

J. Won§, J. Ahn§, S. Yun, J. Kim, and K. Kang*, "Spidermine: Low Overhead User-Level Prefetching," in Proc. 38th ACM/SIGAPP Symp. on Applied Computing (SAC), 2023.

Kernel Build

Preparing to Build

Update the system and the available packages to the latest versions

sudo apt update
sudo apt upgrade -y

Check the current Linux Kernel

uname -r

Install the required packages and build tools

sudo apt install build-essential dwarves python3 libncurses-dev flex bison libssl-dev bc libelf-dev zstd gnupg2 wget git -y

Download Linux Kernel

The linux Kernel can be gotten from the kernel.org I use the Linux kernel 6.2.10

Download

wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.2.10.tar.xz

Extract

tar xvf linux-6.2.10.tar.xz
cd linux-6.2.10/

Configuration

Copy config file to our project

cp -v /boot/config-$(uname -r) .config
make menuconfig

And then Save and Exit

Modify the created config by disabling SYSTEM_REVOCATION_KEYS

scripts/config --disable SYSTEM_REVOCATION_KEYS
make localmodconfig

Compile

Compile the Linux Kernel

make bzImage -j$(nproc)

It's gonna take a long time

Compile the Linux Kernel modules

make modules -j$(nproc)

Optional Step

Enable Kernel Selection

sudo vi /etc/default/grub

Make the below line to comment

GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0

Update grub

sudo update-grub

Install

Install kernel modules

sudo make modules_install -j$(nproc)

Install kernel

sudo make install -j$(nproc)

And then reboot

sudo reboot -i

About

Spidermine: Low Overhead User-Level Prefetcher

Topics

Resources

Stars

2 stars

Watchers

2 watching

Forks

Contributors

Languages