Kali Linux on Jetson TK1

Hello I am interested in flashing kali linux on my Jetson TK1. I didn’t find any documentation about that online. I am on Ubuntu 14.04 so i can also use Jetpack. Any suggestion?

I have no idea if this will do what you need, but flashing uses the driver flash software to install the rootfs…normally that rootfs would be nVidia’s sample rootfs, but there is no reason you couldn’t put your kali on it instead of sample rootfs. You would need to understand that the flash program does edit this somewhat for boot files (u-boot support) and perhaps firmware. But you could do this to an SD card and simply add a u-boot entry in extlinux.conf to test via serial console selecting SD.

Okay, i managed to maybe try to follow the guide for installing Debian. (https://wiki.debian.org/InstallingDebianOn/NVIDIA/Jetson-TK1).
But i don’t know (After flashing u-boot etc…) if the Kali Linux 2 kernel is supported by the board and if i just need to copy the standard installation ISO to the SD Card or unpack it with dd.

Typically boot loader and kernel should be from the L4T for the JTK1. It may be that kernel features need to be changed, but you should use the L4T configuration as a starting point.

When using u-boot you can use a serial console and select multiple boot configurations, e.g., different kernels of different configurations, or selecting alternate rootfs partition like SD card versus eMMC, at boot time (you could install normal L4T on eMMC and then test rootfs changes on SD via serial console). All you’d need to do is edit the extlinux.conf file.

Your biggest problem will be if the root file system requires a kernel from a newer series than the 3.x kernels. If X11 is involved and if you want hardware acceleration you must use the L4T X11 version…nouveau works if you don’t care about CUDA or hardware accelerated graphics, the exact supplied X11 ABI is required to work with the nVidia video/GPU binary.

Thanks for your answer and suggestions.
I tried to follow the guide and flash u-boot with L4T R19.3 (as suggested on the guide).
The u-boot flashing was succesful, I was able to see it in serial console.After that I tried to plug in my HDMI and boot the jetson again. Nothing happens, the HDMI didn’t receive any signal. I also tried to put my standard Kali Linux ISO in the sd card and tried to apply those changes to u-boot:

setenv console ttyS0,115200n8
setenv fdtfile tegra124-jetson-tk1.dtb

and then:

run bootcmd_mmc1

I received an error in response, something like “Invalid EXT2 fs”, and the sdcard was formatted as ext2, with the simple kali ISO inside.
I am a pretty beginner with tegra devices, so maybe there is something i am not understanding.

R19.3 is somewhat old, I’d strongly suggest using R21.5 since many issues have been fixed there.

Rather than editing the boot loader environment you should make alternate entries in extlinux.conf instead…serial console will give you a short moment in which to select the alternate entry (or if you interrupt boot too soon, just continue with the “boot” command on command line). The goal is to keep boot loader and configuration files on eMMC using the extlinux.conf file where possible for any edits. Changing the listed root device from mmcblk0p1 to mmcblk1p1 in the alternate entry will point the rootfs at the SD card instead. Note that this implies your SD card image is visible as the first partition on the SD card regardless of whether the SD card is being viewed by the host or by Jetson (sda is different from sda1…sda corresponds to mmcblk1, sda1 corresponds to mmcblk1p1).

Could the same kali rootfs used for Raspberry Pi 2, works on the jtk1?
Or I need to build a generic ARM (with the official kali build tools)?

Every rootfs needs to be modified for the specific board being booted. Or at least all of the ones I know about. The CPU architecture is the same so in theory it could be adapted with minimal changes (however, “minimal” is a relative term…even “minimal” can be the same as “a lot of effort”). You’d probably need to keep the L4T kernel and its configuration, along with firmware and boot loader.

I do not know how different this would be with the other build tools. You would once again want to use the L4T kernel/boot loader/firmware.

Hey what about making that SDcard and chroot jail I think its called from Ubuntu? and run it like BSD does kind of in a Chroot?, Because I have a TK1 and a LTE K1 tablet that are both behind in OS’s and I also wanted them to work togther, in a cluster some How.

i can handle the technology and build it if its possible. I just dont know where the right resources are for this Artificial Intelligence is all new to me. But ive been Networking PC’s since 1978… Command Line Atari Basic was my Learning platform. Both Parents work at The Phone Company and dad brought his computers home since 1976 Ive been in IT for 2 to 3 times longer than most people even knew what a PC was used for… But this AI has such a Vast Amount of Knowledge base to look over. Where should I start??

I have a Chroot Jail right now, Im runing that Andrax Mobile platform On my Ubuntu Desktop, it runs in /Opt and /Proc and has its own Gui, Terminal. Its amazing. Very Powerful Mobile Pentest distro in a Ubuntu Box. You can run it on Rpi the same way. on RasbianOS… Or a Android Anything thats rooted.

It doesnt interfeare with Ubuntu in any way… Thats how I think Kali should be built, on top of the working OS in the TK1. and Rooted K1 LTE tablet clustered togther since they are almost clones at the core…

Any Help or want to work on this with me? Lets make it Happen!!!


The TK1 (32-bit) is no longer in active development, and most all of the interesting software has now moved on to 64-bit. I think the TK1 is a bit weak for hosting other o/s’s, though technically it could probably do so. You might be able to get something like this working well with newer 64-bit, e.g., with the NX.

So far as a chroot jail goes though, if your chroot environment does not need a GPU (and can use CPU-based graphics if any are needed), I could see this working reasonably well. As soon as you need the GPU or CUDA type applications, then you’d want your Kali to have a version of X server with the correct ABI to load the NVIDIA GPU driver (which depends on the L4T release…you’d basically copy the Ubuntu Xorg X11 server to the Kali chroot). This would not be a trivial process.