Author Archives: Re4son

About Re4son

Ultima Ratio Regum


Kali Linux on Raspberry Pi 1/2/3(+)/4/Zero(W) with touch optimized interface in a ready-to-go image
(Refreshed 03-June-2019 with full RasPi 4 support)

Sticky Finger’s Kali-Pi – The pocket size, finger friendly, lean mean hacking machine
Need practice targets? Checkout Sticky Finger’s DV-Pi


Sticky Finger’s Quick Start Guide:

Sticky Finger’s Kali-Pi image comes with the following features out of the box:

  • 2GB image ready to go with all common touch screens.
  • Kali Linux Rolling edition with MSF meta package and all other essential tools
  • Re4son Kali-Pi Kernel 4.14 with bluetooth, touch screen support and wifi injection patch
  • “re4son-pi-tft-setup” tool to set up all common touch screens, enable auto-logon, etc.
  • “kalipi-config” tool to set up the raspberry pi (improved raspi-config for kali)
  • Apache, Pure-FTP, SDR-Scanner, Screenshot Tool, ntop, darkstats, mana-toolkit,
    Kismet classic, Kismet development, Remote Access AP, Sticky Finger’s Kali-Pi Launcher
  • Boots into vanilla kali gui but comes with user “pi” pre-configured to launch
    the “Sticky Finger’s Kali-Pi Launcher” (touch screen interface) after login
  • Just run “re4son-pi-tft-setup” tool for your particular screen and you are up and running.
  • Out of the box support for on-board Bluetooth & wifi with nexmon patches


  • 8GB for Kali-Pi MSF – basic Kali MSF package (this image)
  • 16GB for Kali-Pi Full –  install kali-linux-full and OpenVAS (very tight)
  • 32GB  for Kali-Pi Complete – Install the above plus Snort and other goodies
  • Boot up your Pi and ssh into it with user root and password toor
  • Change passwords (default: root=toor, pi=raspberry, ftp/pi=raspberry, vnc/root=toortoor)
  • Set up the screen with the kalipi-tft-config tool:
  • Optional: setup wifi and enable “Automatic boot into Sticky Finger’s Touch Interface”:
    # Configure wifi
    # Configure boot into command line interface for user pi
    # Change passwords for users "pi" and "root"
    # Set location settings, etc.
  • Edit “/home/pi/Kali-Pi/menu” to define your screensize, enable/disable screensaver and PIN:
    ## Adjust these:
    export KPSCREENSIZE=2.8   ## Screensize in inch, Options= 5.0, 3.5, 2.8
    export KPLAYOUT=9         ## Number of buttons - Currently only 9 is supported
    export KPPIN=0            ## Set to "1" to enforce PIN authentication, run ./set-pin to change PIN from "1337"
    #export KPTIMEOUT=2       ## Minutes before screensaver kicks in, comment out for screensaver off
    export KISMETVER=1        ## Set to "2" to launch kismet github version, "1" to use classic stable version
    export TFT=1              ## Set to "0": no TFT screen,
                              ##        "1": TFT touchscreen,
                              ##        "2": TFT screen with external mouse,
                              ##        "3": resistive HDMI touchscreen, or
                              ##        "4": Raspberry Pi 7" Touchscreen 
    ## End adjustments

Reboot and enjoy 🙂

For updates

Head over to the forums for more information about the menus and tools.

To pair Bluetooth devices, just start the bluetooth services:

systemctl enable bluetooth
service bluetooth start
systemctl enable hciuart
systemctl start hciuart.service

You are now ready to pair your devices, just like this:


[bluetooth]# agent on
Agent registered
[bluetooth]# default-agent
Default agent request successful
[bluetooth]# scan on
Discovery started
[bluetooth]# pair 00:1F:xx:xx:xx:xx
Attempting to pair with 00:1F:xx:xx:xx:xx
Pairing successful
[bluetooth]# trust 00:1F:xx:xx:xx:xx
[CHG] Device 00:1F:xx:xx:xx:xx Trusted: yes
[bluetooth]# connect 00:1F:xx:xx:xx:xx
Attempting to connect to 00:1F:xx:xx:xx:xx
Connection successful

Voila – there it is, Bluetooth device connected.

More details can be found here:

TIP: How to mount the img file in linux

If you are curious to see what’s in the image file before you write it to the SD card, here is how you can mount it in linux:

  1. Check the file system table with fdisk:
     fdisk -l StickyFingers-Kali-Pi-Small-160827.img
  2. Create a mount point for each image
    mkdir img1 img2
  3. Mount each image
    mount StickyFingers-Kali-Pi-Small-160827.img -o loop,offset=$(( 512 * 1)) img1/
    mount StickyFingers-Kali-Pi-Small-160827.img -o loop,offset=$(( 512 * 125001)) img2/

For questions or comments please join the discussion in our forum:

For updates



Kali Linux 2017.3 on the GPD Pocket

Unofficial Kali ISO Image available now for download
UPDATE: ISO 20171226-1  & Kernel 4.15.0-rc5-re4son+_8

Touch screen
Screen rotation
Proper display scaling & fan control
Built natively with debian lb and d-i

What is working:

  • Proper screen orientation for graphical debian-installer
  • Display properly rotated in terminal buffer, login screen & desktop
  • Scaling set to 0.60 ( 0.50 in gdm )
  • Touchscreen aligned to rotation
  • Multitouch
  • Wifi
  • Screen brightness
  • Cooling fan
  • Bluetooth
  • Sleep/wake
  • HDMI port
  • Charging at full speed
  • USB-C for data
  • Audio & Headphones

What needs some more work:

  • Encrypting the root partition is not supported yet. Coming in mid Jan.



  1. Download the latest ISO image from here:
  2. Write the image to a USB drive
  3. Insert the stick into your GPD pocket, turn on and press F7 until boot menu pops up
  4. Select boot from USB stick
  5. In the Kali menu, select “Kali Live” and boot into desktop
  6. In Kali, run GParted and unmount primary partition
  7. Run debian-installer-launcher
  8. Install
  9. Reboot
  10. Enjoy
  • The Pocket-Kali image comes with a limited set of tools to keep the size down (i.e. “top10” and “wireless” meta packages).
    Just install “kali-linux-full” to get the whole shebang.
  • Install the latest kernel as documented in the next chapter
  • Follow @Re4sonKernel on Twitter for notifications on updates

Kernel updates:

Version included in ISO: 4.15.0-rc4-re4son+_2

The Kernel is based on Hans’ source tree with all the latest patches to support the GPD Pocket.
You should update to this one:

Latest Stable Version: 4.15.0-rc5-re4son+_8

  • Improved hardware support, performance and stability
  • Workaround for touchscreen I2C errors after resume from suspend
  • Fix for ugly “pcspkr” message on boot
  • Fix for missing objtool during runtime compilations
  • kalified kernel config
  • includes installer

Latest Test Version: 4.15.0-rc7-re4son+_2

  • All of the above, plus
  • Latest kernel updates
  • KTPI patch
  • touchscreen workaround replaced by permanent fix
  • workaround for debian bug #862175
  1. Download and install new kernel via:
    # Either download the stable version:
    # (SHA256: 0e4720abcf7246489d63339773c08a3eeb3fb7a3097d878cdcf313f5e907fb72)
    wget -O re4son-pocket-kernel.tar.xz
    # Or download the test version:
    # (SHA256: 3d036b373b22e1a79e663090a0137c6e80320ac8bf32bbfa1696af826d60152a)
    wget -O re4son-pocket-kernel.tar.xz 
    tar xJf re4son-pocket-kernel.tar.xz
    cd 4.15.0-rc5*
  2. Remove old re4son kernel, e.g.:
    apt remove linux-image-4.15.0-rc4-re4son+ && apt remove linux-headers-4.15.0-rc4-re4son+

Fixes (Not required for ISO versions 20171226-1 and later):

Backlight Control:

Please copy and paste this into a terminal:

echo "pwm-lpss" >> /etc/initramfs-tools/modules
echo "pwm-lpss-platform" >> /etc/initramfs-tools/modules
echo "i915" >> /etc/initramfs-tools/modules
update-initramfs -u

That’ll fix it. The next image will include this.


Please copy and paste this into a terminal:

wget -O /etc/pulse/daemon.conf
mkdir -p /usr/share/alsa/ucm/chtrt5645
wget /usr/share/alsa/ucm/chtrt5645/HiFi.conf
wget /usr/share/alsa/ucm/chtrt5645/chtrt5645.conf
wget /etc/acpi/events/headphone-jack
wget /etc/acpi/


Feedback and help:

Please join the forums to provide feedback and support. Any help to improve the image is greatly appreciated.


Massive thanks:

Stockmind and friends for the audio and backlight fixes:

Hans de Goede for the kernel patches: