The Raspberry Pi is a low-cost, credit-card-sized ARM computer. Despite being a good bit less powerful than a laptop or desktop PC, its affordability makes it an excellent option for a tiny Linux system and it can do far more than act as a media hub.
The Raspberry Pi provides a SD card slot for mass storage and will attempt to boot off that device when the board is powered on.
By default, the Kali Linux Raspberry Pi image has been streamlined with the minimum tools, similar to all the other ARM images. If you wish to upgrade the installation to a standard desktop installation, you can include the extra tools by installing the kali-linux-full metapackage. For more information on metapackages, please refer to our tools page.
Kali Linux on Raspberry Pi — Pre-built Version
If you’re unfamiliar with the details of downloading and validating a Kali Linux image, or for using that image to create a bootable device, it’s strongly recommended that you refer to the more detailed procedures described in the specific articles on those subjects.
To install a prebuilt image of the standard build of Kali Linux on your Raspberry Pi, the general process goes as follows:
- Get a fast SD card with at least 8 GB capacity. Class 10 cards are highly recommended.
- Download and validate the Kali Linux Raspberry Pi image from the Offensive Security downloads area. The process for validating an image is described in more detail in the article on “Downloading Kali Linux”.
- Use the dd utility to image this file to your SD card. The full process for creating a bootable USB or SD device is described in the article on “Making a Kali Live USB Drive”. In the following example, we assume that the image is named “kali-2.1.2-rpi.img”, that it’s is in your current working directory, and that the SD card is located at /dev/sdb. Do not simply copy these value, change this to the correct drive path corresponding to your SD card.
This process can take a while depending on your SD card’s device speed and image size. Once the dd operation is complete, insert the SD card into the Raspberry Pi and power it on.
You should be able to log into Kali (as user root, using the password toor) and execute the startx command at the shell prompt to start up the XFCE desktop environment.
Changing the SSH host keys can be accomplished by doing the following:
root@kali:~ dpkg-reconfigure openssh-server
root@kali:~ service ssh restart
Kali Linux on Raspberry Pi — Custom Build
If you are a developer and want to tinker with the Kali Raspberry Pi image, including changing the kernel configuration, customizing the packages included, or making other modifications, you can work with the rpi.sh script in the kali-arm-build-scripts repository on github, and follow the README.md file’s instructions.
You will need to set up an ARM cross-compilation environment before you can build a Raspberry Pi image of Kali Linux. A general overview of the build process for ARM devices can be found in the article on “Preparing a Kali Linux ARM chroot”.