80 lines
1.4 KiB
ReStructuredText
80 lines
1.4 KiB
ReStructuredText
Installation (from source)
|
|
============
|
|
|
|
OS/Distro-specific
|
|
==================
|
|
|
|
Ubuntu
|
|
------
|
|
|
|
Install dependencies::
|
|
|
|
$ sudo snap install go --classic
|
|
$ # Install docker: https://docs.docker.com/engine/install/ubuntu/
|
|
$ sudo apt install qemu-system-x86 build-essential gdb
|
|
|
|
macOS
|
|
-----
|
|
|
|
Install dependencies::
|
|
|
|
$ brew install go qemu
|
|
$ brew cask install docker
|
|
|
|
NixOS
|
|
-----
|
|
|
|
There's a minimal configuration that you need to apply::
|
|
|
|
#!nix
|
|
{ config, pkgs, ... }:
|
|
{
|
|
virtualisation.docker.enable = true;
|
|
virtualisation.libvirtd.enable = true;
|
|
environment.systemPackages = with pkgs; [
|
|
go git
|
|
];
|
|
}
|
|
|
|
Gentoo
|
|
------
|
|
|
|
Install dependencies::
|
|
|
|
$ sudo emerge app-emulation/qemu app-emulation/docker dev-lang/go
|
|
|
|
Fedora
|
|
------
|
|
|
|
Install dependencies::
|
|
|
|
$ sudo dnf install go qemu moby-engine
|
|
|
|
Common
|
|
======
|
|
|
|
Setup environment::
|
|
|
|
$ echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc
|
|
$ source ~/.bashrc
|
|
|
|
Build *out-of-tree*::
|
|
|
|
$ git clone https://code.dumpstack.io/tools/out-of-tree
|
|
$ cd out-of-tree
|
|
$ CGO_ENABLED=1 go build -o ~/bin/out-of-tree
|
|
|
|
.. note::
|
|
On a GNU/Linux you need to add your user to docker group if you want
|
|
to use *out-of-tree* without sudo. Note that this has a **serious**
|
|
security implications. Check *Docker* documentation for more
|
|
information.
|
|
|
|
Test that everything works::
|
|
|
|
$ cd out-of-tree/examples/kernel-exploit
|
|
$ out-of-tree kernel autogen --max=1
|
|
$ out-of-tree pew --max=1
|
|
|
|
Enjoy!
|