From charlesreid1

This page is a guide on installing Kali Linux on the Raspberry Pi.

For generic installation instructions with Raspbian on a Raspberry Pi, see this page: RaspberryPi/Installing

For general information/pages about Kali Linux, see this page: Kali


Installing Kali on Raspberry Pi

To install Kali Linux on a Raspberry Pi, you'll need to go through the usual process of putting a disk image on an SD card, then booting the Pi from the image. This follows the usual steps.

Step 0: Download image from Kali

Kali provides custom images for Raspberry Pis, so download the compressed img file for your Pi. Download it, and unzip it.

Step 1: Find SD Card

When you run this command, you should be able to spot the SD card from its size. If you can't figure out which one it is, run it before and after you plug in the SD card.

$ diskutil list

Mine's at /dev/disk1.

Step 2: Unmount Disk

$ diskutil unmountDisk /dev/disk1

Step 3: Format Disk

WARNING: You can screw up your disks with the dd command. Be careful.

$ dd bs=1m if=kali-1.1.1-rpi.img of=/dev/disk1
3000+0 records in
3000+0 records out
3145728000 bytes transferred in 1535.984002 secs (2048021 bytes/sec)

This should take about 20 minutes.

Modify Startup Command

Before you eject the SD card, you'll want to modify the startup command. Edit the file /Volumes/NO NAME/cmdline.txt and add a static IP address ip=169.254.113.200 to the end:

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 elevator=deadline root=/dev/mmcblk0p2 rootfstype=ext4 rootwait ip=169.254.113.200

(see Kali Raspberry Pi/Headless or RaspberryPi/Headless for details on this procedure)



How the Startup Disk Works

What happens when you actually flash the image onto the SD card?

Well, it creates two different partitions on the SD card. The first partition is about 64 MB, that contains everything the Pi needs to boot. The second partition is about 3 GB, and contains the operating system files itself.

However, if you're on a Mac, the Mac won't mount the second, larger partition, because it's managed with the ext4 file system, so you will only see one 64 MB partition.

Do you need to be able to edit the large partition? Only if you want to modify the contents of the Linux installation, such as adding startup services, modifying run levels, or changing configuration files for software. Otherwise, you'll only need to modify the boot partition.

If you do need to modify the larger Linux ext4 partition, you can install the whole MacFUSE bundle, which will allow you to mount ext4 filesystems as though they're native filesystems. Or you can use a Linux computer for those edits.