1
0
2023-05-18 18:48:09 +00:00
2023-05-21 20:39:52 +00:00
2023-05-22 06:56:12 +00:00
2023-03-16 18:46:46 +00:00
2023-05-16 11:47:17 +00:00
2023-04-07 21:38:30 +00:00
2023-05-18 12:53:46 +00:00
2023-05-16 11:47:17 +00:00
2023-05-18 12:53:46 +00:00
2023-05-18 18:48:09 +00:00
2023-05-16 11:47:17 +00:00
2023-05-15 15:09:09 +00:00
2023-05-16 11:47:17 +00:00
2023-05-21 21:43:18 +00:00
2018-10-08 20:54:18 +00:00
2023-05-21 21:43:18 +00:00
2023-05-17 13:32:31 +00:00
2023-05-16 11:47:17 +00:00

Codacy Badge Go Report Card Documentation Status

out-of-tree

out-of-tree is the kernel {module, exploit} development tool.

out-of-tree was created to reduce the complexity of the environment for developing, testing and debugging Linux kernel exploits and out-of-tree kernel modules (hence the name "out-of-tree").

Screenshot

Installation

GNU/Linux (with Nix)

sudo apt install podman || sudo dnf install podman

curl -L https://nixos.org/nix/install | sh
mkdir -p ~/.config/nix
echo "experimental-features = nix-command flakes" >> ~/.config/nix/nix.conf

# stable
nix profile install nixpkgs#out-of-tree

# latest
nix profile install git+https://code.dumpstack.io/tools/out-of-tree

macOS

Note: case-sensitive FS is required for the ~/.out-of-tree directory.

$ brew install podman
$ podman machine stop || true
$ podman machine rm || true
$ podman machine init --cpus=4 --memory=4096 -v $HOME:$HOME
$ podman machine start
$ brew tap out-of-tree/repo
$ brew install out-of-tree

Read documentation for further info.

Examples

Generate all Ubuntu 22.04 kernels:

$ out-of-tree kernel genall --distro=Ubuntu --ver=22.04

Run tests based on .out-of-tree.toml definitions:

$ out-of-tree pew

Test with a specific kernel:

$ out-of-tree pew --kernel='Ubuntu:5.4.0-29-generic'

Run debug environment:

$ out-of-tree debug --kernel='Ubuntu:5.4.0-29-generic'
Description
out-of-tree kernel {module, exploit} development tool
Readme 7.2 MiB
Languages
Go 93.8%
Dockerfile 2.5%
Shell 2%
Python 0.9%
Nix 0.8%