# Build a Base Image

## axiom-build

Pick a Packer provisioner 🐣&#x20;

**Running this may not be necessary if `axiom-configure --run` completed successfully.**

### Example Usage

```
# axiom-build default
```

### Usage

```
# axiom-build -h

 █████╗ ██╗  ██╗    ██████╗ ██╗   ██╗██╗██╗     ██████╗
██╔══██╗╚██╗██╔╝    ██╔══██╗██║   ██║██║██║     ██╔══██╗
███████║ ╚███╔╝     ██████╔╝██║   ██║██║██║     ██║  ██║
██╔══██║ ██╔██╗     ██╔══██╗██║   ██║██║██║     ██║  ██║
██║  ██║██╔╝ ██╗    ██████╔╝╚██████╔╝██║███████╗██████╔╝
╚═╝  ╚═╝╚═╝  ╚═╝    ╚═════╝  ╚═════╝ ╚═╝╚══════╝╚═════╝

Maintainer: 0xtavian

𝓫𝓪𝓼𝓲𝓬𝓪𝓵𝓵𝔂, 𝓪𝔁𝓲𝓸𝓶: 𝓽𝓱𝓮 𝓭𝔂𝓷𝓪𝓶𝓲𝓬 𝓲𝓷𝓯𝓻𝓪𝓼𝓽𝓻𝓾𝓬𝓽𝓾𝓻𝓮 𝓯𝓻𝓪𝓶𝓮𝔀𝓸𝓻𝓴 𝓯𝓸𝓻 𝓮𝓿𝓮𝓻𝔂𝓫𝓸𝓭𝔂! - @𝓹𝓻𝔂0𝓬𝓬 @0𝔁𝓽𝓪𝓿𝓲𝓪𝓷 

Description:
  axiom-build supports both legacy Packer JSON files as well as the new HCL format
  axiom-build combines a cloud provider's Builder (~/.axiom/images/$format/builders) with a Provisioner (~/.axiom/images/$format/provisioners)
  to generate the final Packer file (~/.axiom/images/$format/axiom.$format)
  Using Packer, axiom-build creates an image with the tools pre-installed, as defined by the chosen Provisioner
  Choose between multiple Provisioners (barebones, default, reconftw, and extras) or bring your own (custom)

  axiom-build adds your SSH key to the image, allowing you to connect to instances created using the image
  By default, it creates and uses an SSH key located at ~/.ssh/axiom_ssh.pub, but you can specify a custom SSH key if needed
Examples:
  axiom-build --run # Kick off the interactive build wizard
  axiom-build default # Build a new Packer image using the Default Provisioner
  axiom-build barebones --debug # Build a new Packer image using the Barebones Provisioner, run with --debug
  axiom-build --ssh-key ~/.ssh/id_rsa.pub # Set a custom SSH key (default is SSH key in ~/.ssh/axiom_ssh.pub)
Usage:
  <provisioner> (optional)
    Name of provisioner to build, options are barebones, default, reconftw, extras or custom (provisioner must be located in ~/.axiom/images/$format/provisioners)
  --run (optional)
    Start axiom-build setup wizard
  --legacy (optional)
    Use legacy Packer JSON Builder and Provisioner instead of pkr.hcl
  --ssh-key <file to pub key> (optional)
    Build the image using a custom SSH key (instead of using the default ssh key axiom creates ~/.ssh/axiom_ssh.pub)
  --debug (optional)
    Enable debug mode (VERY VERBOSE!)
  --help (optional)
    Display this help menu

```

### Provisoners

You can provide your provisioner inline or after running axiom-build --run.

We currently offer four different base provisioner files to build images.

* Default is our latest iteration of axiom provisioners. It comes with all tools installed and has been optimized for readability. Recommended for axiom-fleet
* ReconFTW includes all tools in ReconFTW and works with most modules. Recommended for ReconFTW.
* Barebones is a decently secure base install, comes with Docker, Go-lang, Interlace and nmap installed. Recommended for templating.
* Extras has more tools installed compared to default

### Custom Images

If you want to bring-your-own Packer JSON provisioner, select custom. Make sure your packer json is placed in `~/.axiom/images/provisioners`

See [Bring Your Own Provisioner](/fundamentals/bring-your-own-provisioner.md)for more information.&#x20;

###


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ax.attacksurge.com/overview/quickstart-guide-1/build-a-base-image.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
