Raspberry Pi 400

    Table of Contents

    The Raspberry Pi 400 has a quad core 1.8GHz processor, with 4GB of RAM, in a keyboard formfactor. Kali Linux runs on a microSD card.

    By default, the Kali Linux Raspberry Pi 400 image contains the kali-linux-default metapackage similar to most other platforms. If you wish to install extra tools please refer to our metapackages page.

    The Raspberry Pi400 has a 64-bit processor and can run 64-bit images. Because it can run 64-bit images, you can choose either Kali Linux RaspberryPi 2, 3, 4 and 400 (img.xz) or Kali Linux RaspberryPi 2 (v1.2), 3, 4 and 400 (64-Bit) (img.xz) as the image to run, the latter being 64-bit.

    We recommend using the 32-bit image on Raspberry Pi devices as that gets far more testing, and a lot of documentation out there expects you to be running RaspberryPi OS which is 32-bit.

    The Raspberry Pi images use Re4son’s kernel, which includes the drivers for external Wi-Fi cards, TFT displays, and the nexmon firmware for the built-in wireless card on the Raspberry Pi 3 and 4. You will not need to download it and install it, and doing so will likely be a downgrade over the current installed kernel.

    Kali on Raspberry Pi400 - User Instructions

    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 pre-built image of the standard build of Kali Linux on your Raspberry Pi400, follow these instructions:

    1. Get a fast microSD card with at least 16GB capacity. Class 10 cards are highly recommended.
    2. Download and validate our preferred Kali Raspberry Pi 400 image from the downloads area. The process for validating an image is described in more detail on Downloading Kali Linux.
    3. Use the dd utility to image this file to your microSD card (same process as making a Kali USB.

    In our example, we assume the storage device is located at /dev/sdX. Do not simply copy these value, change this to the correct drive path.

    This process will wipe out your microSD card. If you choose the wrong storage device, you may wipe out your computers hard disk.

    $ xzcat kali-linux-2024.1-raspberry-pi-armhf.img.xz | sudo dd of=/dev/sdX bs=4M status=progres


    $ xzcat kali-linux-2024.1-raspberry-pi-arm64.img.xz | sudo dd of=/dev/sdX bs=4M status=progres

    This process can take a while, depending on your PC, your microSD card’s speed, and the size of the Kali Linux image.

    Once the dd operation is complete, boot up the Raspberry Pi 400 with the microSD card plugged in.

    You should be able to log in to Kali.

    Kali on Raspberry Pi400 - Tips and Tricks

    The bluetooth service on the Raspberry Pi 400 needs a uart helper service before it works. To enable and start the bluetooth service run the following commands:

    kali@kali:~$ sudo systemctl enable --now hciuart.service
    kali@kali:~$ sudo systemctl enable --now bluetooth.service

    The wireless chip on the Raspberry Pi 400 is NOT supported by nexmon, so if you are planning on doing wireless attacks or research, you will need to use an external wireless device.

    Kali on Raspberry Pi400 Headless - Tips and Tricks

    You can add a wpa_supplicant.conf file to the first partition of the microSD card to connect to a wireless network.

    You can create this file on another Linux system by running wpa_passphrase YOURNETWORK > wpa_supplicant.conf. It will prompt you for the wireless network’s password. You can add the password to the command as you run it, but keep in mind that if you do, your wifi network password will be in your user’s shell history.

    Kali on Raspberry Pi400 - Image Customization

    If you want to customize the Kali Raspberry Pi400 image, including changes to the packages being installed, changing the desktop environment, increasing or decreasing the image file size or generally being adventurous, check out the Kali-ARM Build-Scripts repository on GitLab, and follow the README.md file’s instructions. The script to use is raspberry-pi.sh (32-bit) or raspberry-pi-64-bit.sh (64-bit).

    Updated on: 2024-Feb-28
    Author: steev