2024-02-22 12:37:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								[](https://github.com/out-of-tree/out-of-tree/actions/workflows/ubuntu.yml)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								[](https://github.com/out-of-tree/out-of-tree/actions/workflows/e2e.yml)
							 
						 
					
						
							
								
									
										
										
										
											2019-08-16 20:51:45 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								[](https://out-of-tree.readthedocs.io/en/latest/?badge=latest)
							 
						 
					
						
							
								
									
										
										
										
											2018-10-05 07:47:49 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-12-02 04:29:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# [out-of-tree](https://out-of-tree.io)
  
						 
					
						
							
								
									
										
										
										
											2018-12-02 02:27:07 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-05-17 11:09:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								*out-of-tree* is the kernel {module, exploit} development tool.
							 
						 
					
						
							
								
									
										
										
										
											2018-10-05 07:47:49 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-05-17 11:09:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								*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").
							 
						 
					
						
							
								
									
										
										
										
											2019-08-21 08:08:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-27 07:12:09 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## Installation
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								### GNU/Linux (with [Nix](https://nixos.org/nix/))
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-05-17 13:32:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    sudo apt install podman || sudo dnf install podman
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-05-17 11:09:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    curl -L https://nixos.org/nix/install | sh
							 
						 
					
						
							
								
									
										
										
										
											2023-05-17 13:32:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    mkdir -p ~/.config/nix
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    echo "experimental-features = nix-command flakes" >> ~/.config/nix/nix.conf
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-05-17 11:09:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # stable
							 
						 
					
						
							
								
									
										
										
										
											2023-05-17 13:32:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    nix profile install nixpkgs#out -of-tree
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-05-17 11:09:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # latest
							 
						 
					
						
							
								
									
										
										
										
											2023-05-17 13:32:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    nix profile install git+https://code.dumpstack.io/tools/out-of-tree
							 
						 
					
						
							
								
									
										
										
										
											2019-12-28 08:50:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-27 07:12:09 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								### macOS
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-07 19:11:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Note: case-sensitive FS is required for the ~/.out-of-tree directory.
							 
						 
					
						
							
								
									
										
										
										
											2023-04-07 19:08:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $ brew install podman
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $ podman machine stop || true
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $ podman machine rm || true
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $ podman machine init --cpus=4 --memory=4096 -v $HOME:$HOME
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $ podman machine start
							 
						 
					
						
							
								
									
										
										
										
											2023-04-06 23:18:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $ brew tap out-of-tree/repo
							 
						 
					
						
							
								
									
										
										
										
											2019-12-27 07:12:09 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $ brew install out-of-tree
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-27 08:30:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Read [documentation ](https://out-of-tree.readthedocs.io ) for further info.
							 
						 
					
						
							
								
									
										
										
										
											2019-12-27 08:25:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-10-27 15:00:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## Examples
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-10-08 15:03:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Download all Ubuntu 24.04 kernels:
							 
						 
					
						
							
								
									
										
										
										
											2018-10-27 17:37:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-10-08 15:03:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $ out-of-tree kernel genall --distro-id=Ubuntu --distro-release=24.04
							 
						 
					
						
							
								
									
										
										
										
											2018-10-27 17:37:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-06 23:32:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Run tests based on .out-of-tree.toml definitions:
							 
						 
					
						
							
								
									
										
										
										
											2018-10-27 15:00:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-05-17 11:09:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $ out-of-tree pew
							 
						 
					
						
							
								
									
										
										
										
											2018-10-27 15:33:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-06 23:32:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Test with a specific kernel:
							 
						 
					
						
							
								
									
										
										
										
											2018-10-27 20:07:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-10-08 15:03:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $ out-of-tree pew --realtime-output  --distro-id=ubuntu --kernel-regex=6.8.0-41-generic
							 
						 
					
						
							
								
									
										
										
										
											2018-10-27 15:33:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-06 23:32:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Run debug environment:
							 
						 
					
						
							
								
									
										
										
										
											2018-12-01 17:05:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-10-08 15:03:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $ out-of-tree debug --distro-id=ubuntu --distro-release=24.04 --kernel-regex=6.8.0-41-generic