From charlesreid1

No edit summary
No edit summary
Line 1: Line 1:
[[Image:KaliPi.jpg|400px]]
This is a guide to installing Kali Linux on an SD card for a Raspberry Pi. General info about running Kali on the Pi here: [[Kali Raspberry Pi]]
This is a guide to installing Kali Linux on an SD card for a Raspberry Pi. General info about running Kali on the Pi here: [[Kali Raspberry Pi]]



Revision as of 02:15, 18 January 2016

KaliPi.jpg

This is a guide to installing Kali Linux on an SD card for a Raspberry Pi. General info about running Kali on the Pi here: Kali Raspberry Pi

More info about all-things Kali Linux: Kali

Installing Kali 2.0.1 on Raspberry Pi

Download and verify the "Raspberry Pi" image (if you have a Raspberry Pi model B) or the "Raspberry Pi 2" image (if you have a Raspberry Pi model B+) from Offensive Security's web page: https://www.offensive-security.com/kali-linux-arm-images/

To install Kali Linux on the Pi, you'll download the image, decompress it, and flash an SD card with that image. You will need an 8 GB or larger SD card to run Kali 2.0.

Step 0: Download image from Kali

Kali provides custom images for Raspberry Pis, so download the compressed img file for your Pi: https://www.offensive-security.com/kali-linux-arm-images/

Download the image, which is an xz file.

Decompress the xz file with tar xz kali-2.0.1-rpi.img.xz.

You will flash the SD card with the resulting .img file.

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-2.0.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.

Step 4: 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.111.111 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.111.111

For more details on this procedure, see Kali Raspberry Pi/Headless or RaspberryPi/Headless

For more details on how the SD card works, see below.


(Outdated) Instructions for Kali Version 1 on Pi

For instructions installing the older version of Kali, version 1.0, on the Pi, see Kali Raspberry Pi/Installing Version 1

Kali Linux SD Card

How it works

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

Running the "dd" utility means you are copying, literally bit-for-bit, the image file onto the SD card. The image you downloaded has two partitions, one boot partition and one file partition. The boot partition is 64 MB, and contains everything the boot loader on the Pi will need to boot into Kali. The second partition is 3 GB and contains the operating system, user files, etc.

If you are on the Mac, and you plug in an SD card flashed with Kali RPi Linux, you will only see the boot partition - the Mac will not mount the filesystem partition. You will only need to edit the partition if you want to modify the contents of the Linux installation (e.g., add a startup service, modify run levels, or change configuration files for software) without turning on the Pi and logging in to it.

On the Mac you can install the MacFUSE bundle, which will allow you to mount ext4 filesystems as though they are native filesystems, in order to mount that partition and modify it from the Mac. If you are on Linux, you will not need any extra software to see the ext4 filesystem partition.

The SD Card from Mac

Here's the SD card on the Mac:

KaliSDMac.png

and the output of diskutil list:

$ diskutil list
[...]
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.9 GB    disk1
   1:             Windows_FAT_32 NO NAME                 64.0 MB    disk1s1
   2:                      Linux                         3.1 GB     disk1s2

I could only see the 64 MB FAT partition from the Mac.

The SD Card from Linux

I rebooted my Mac laptop into Kali to take a look at the SD card again.

The SD card did not show up when plugged directly into the internal SD card slot on the Mac laptop. The SD card worked fine when plugged into an external USB device for reading SD cards.

The parted utility is the Linux version of Mac's "Disk Utility":

$ parted -l 

Model: USB Mass  Storage Device (scsi)
Disk /dev/sdb: 15.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      512B    64.0MB  64.0MB  primary  fat16        lba
 2      64.0MB  3146MB  3082MB  primary  ext4

Now we can see both partitions of the SD card, and even modify the contents of the Linux filesystem. But before we do anything to the SD card, we have to mount it. Make a folder for each of the partitions, and mount them:

$ mkdir usb1
$ mount /dev/sdb1 usb1
$ mkdir usb2
$ mount /dev/sdb2 usb2