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/
- These scripts are tested on Kali Linux
arm64
,x64
, andx86
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 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/
calledkali-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/
calledkali-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.
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
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