Skip to content

Latest commit

 

History

History
73 lines (51 loc) · 2.88 KB

README.md

File metadata and controls

73 lines (51 loc) · 2.88 KB

Kali-ARM Build-Scripts

Kali Linux ARM build-scripts.

These are the same build scripts that we use to generate the pre-generated official Kali Linux ARM images, found here: https://www.kali.org/get-kali/

There are additional scripts included in this repository, supporting more devices, but these will need to be built in order for them to be used.

For more information, please see: https://www.kali.org/docs/arm/


Building

  • These scripts are tested on Kali Linux arm64, x64, and x86 installations only (We recommend x64)
  • Make sure you run the ./common.d/build_deps.sh script before trying to build an image, as this installs all required dependencies. You may need to reboot after installing the build dependencies, if you do, the script will mention it at the end.
  • You will need at least 8GB of RAM or use SWAP file

An example workflow to build a Raspberry Pi 4 Kali Linux image would look like:

$ cd ~/
$ git clone https://gitlab.com/kalilinux/build-scripts/kali-arm
$ cd ~/kali-arm/
$ sudo ./common.d/build_deps.sh
$ sudo ./raspberry-pi.sh
  • Depending on your system hardware & network connectivity, will depend on how long it will take to build (4 core CPU, 8GB RAM, SSD inside a VM takes using a local repo about 100 minutes per script)
  • On x64 systems, after the script finishes running, you will have an image file located in ~/kali-arm/images/ called kali-linux-2021.3-rpi-armhf.img.xz
  • On x86 systems, as they do not have enough RAM to compress the image, after the script finishes running, you will have an image file located in ~/kali-arm/images/ called kali-linux-2021.3-rpi-armhf.img
    • Should you want to try and shrink the file to make it easier to distribute, you will need to use your own preferred compression.

Help

On any build script, add --help. Example:

$ ./raspberry-pi.sh --help
 Usage commands:
# Architectures (arm64, armel, armhf)
./raspberry-pi.sh --arch arm64 or ./raspberry-pi.sh -a armhf

# Desktop manager (xfce, gnome, kde, i3, lxde, mate, e17 or none)
./raspberry-pi.sh --desktop kde or ./raspberry-pi.sh --desktop=kde

# Minimal image - no desktop manager
./raspberry-pi.sh --minimal or ./raspberry-pi.sh -m

# Slim image - no desktop manager & cli tools
./raspberry-pi.sh --slim or ./raspberry-pi.sh -s

# Enable debug & log file (./logs/<file>.log)
./raspberry-pi.sh --debug or ./raspberry-pi.sh -d

# Perform extra checks on the images build
./raspberry-pi.sh --extra or ./raspberry-pi.sh -x

# Help screen (this)
./raspberry-pi.sh --help or ./raspberry-pi.sh -h

Custom Values

Changing builder.txt will allow for custom values, such as using a local LAN mirror:

$ echo 'mirror="http://192.168.1.100/kali"' > ./builder.txt

Thu Jan 27 15:47:28 UTC 2022