# kGym-Kernel-Playground **Repository Path**: wangpengabc/kGym-Kernel-Playground ## Basic Information - **Project Name**: kGym-Kernel-Playground - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-03 - **Last Updated**: 2025-11-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Kernel-Playground Kernel Playground - A playground to run large scale experiments on the Linux Kernel
Below are the list of steps to follow when trying to run a sample experiment from the paper ```kGym: A Platform and Dataset to Benchmark Large Language Models on Linux Kernel Crash Resolution```. :star: **New Updates** :star: 1. We have pushed a larger kernel bug dataset with $504$ data points in the ```Kernel_Benchmark_C_Repro``` folder. These bugs are reproducible using the ```C``` reproducer instead of the ```log``` reproducer. **Note** : Syzkaller was designed to be run with the ```log``` reproducer. The utility that converts this ```log``` reproducer to a ```C``` reproducer is provided for convenience by the Syzkaller team. As such, we place slightly more confidence on the smaller dataset provided in ```Kernel_Benchmark``` than ```Kernel_Benchmark_C_Repro```. To use the ```C``` reproducer instead of the ```log``` reproducer : * The user must change the values of three environment variables as shown below. ``` export KBENCH_PATH="$BASE_PATH/Kernel_Benchmark_C_Repro" export GOLDEN_SUBSET_PATH="$BASE_PATH/golden_subset_C_benchmark_with_kernel_and_image_names.json" export REPRODUCER_TYPE="c" ``` #### List of Submodules in this repository 1. KBDr_Runner - [Kernel Gym](https://github.com/Alex-Mathai-98/kGym-Kernel-Gym) 2. Kernel_Bench_Experiments - [Kernel Bench Experiments](https://github.com/Alex-Mathai-98/kGym-Kernel-Bench-Experiments) #### Initial Steps * Clone this repo and all the submodules ``` git clone --recurse-submodules https://github.com/Alex-Mathai-98/kGym-Kernel-Playground.git ``` * Create a conda environment using the `environment.yml` ``` conda env create -f environment.yml ``` ## Step 0 - Set up kGym Follow the README.md file in KBDr_Runner and bring up kGym ## Step 1 - Clone the linux repository twice ### Step (1A) : Clone the first instance of linux and rename to "linux-2" Run the below commands ``` git clone https://github.com/torvalds/linux.git mv linux linux-2 ``` ### Step (1B) : Clone the second instance of linux Run the below command ``` git clone https://github.com/torvalds/linux.git ``` ## Step 2 - Set the below environment variables ``` export BASE_PATH="