I flashed the Kali Linux RaspberryPi w/TFT image from the official website.

However, booting gets stuck after "Started Network Manager Script Dispatcher Service."


Alternatively, instead of using the TFT image, it is possible to flash the Rpi0w Nexmon image for a Pi 1, though it only contains a shell but no desktop.

Using the TFT image without TFT will be a problem because booting will appear stuck or frozen on the HDMI screen, according to a thread post:

@re4son wrote:

The one you used does work, but it is configured for a tft display, i.e. when the screen freezes it has switched the output from hdmi to tft, which makes it tricky to use if you don't have a tft ;-)

In a different thread, @re4son wrote:

In this case, however, you have to do some minor work yourself to get it running because there is currently no official image for the Pi 1 available.

The first image on the site is for a different processor architecture and the second probably works perfectly well on your Pi, except that you can't see what's going on because it displays everything on the non-existing adafruit tft screen that it is configured for

That's not a problem though; you can either:

a) create your own image using the official Kali Linux build scripts, available under: https://github.com/offensive-security/kali-arm-build-scripts, or

b) download the "Raspberry Pi w/TFT" image and manually remove the bits and pieces responsible for directing the output to the tft screen

Compiling an entire image seems like a lot of work.

However, by comparing the "rpi-tft.sh" and "rpi.sh" build scripts, I have figured it out -- how to disable the TFT without compiling a new image.

The first change that you need to reverse starts on line 236:

cat << EOF > ${basedir}/bootp/cmdline.txt

In "cmdline.txt" on the FAT partition, you want to replace the same line from the "rpi.sh" build script, which does not include the "fbcon=map:10 fbcon=font:VGA8x8".

Next, on the Linux partition, replace the "/etc/modules" file with the default "modules" file, or just remove the lines added. It is just a header with comments:

# /etc/modules: kernel modules to load at boot time.
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

Next, delete the "/etc/modprobe.d/pitft.conf" file.

Next, replace the "/root/.profile" with the default ".profile" file:

# ~/.profile: executed by Bourne-compatible login shells.

if [ "$BASH" ]; then
  if [ -f ~/.bashrc ]; then
    . ~/.bashrc

mesg n || true

Finally, delete the entire "/etc/X11/xorg.conf.d/" directory. It should only contain the two files "10-fbdev.conf" and "99-calibration.conf".

Someone could make a script to automate this.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.