Skip to content

Instantly share code, notes, and snippets.

@tstellanova
Last active February 12, 2016 14:04
Show Gist options
  • Save tstellanova/4ca2e04638506af4a136 to your computer and use it in GitHub Desktop.
Save tstellanova/4ca2e04638506af4a136 to your computer and use it in GitHub Desktop.
Howto install grinch alternative kernel on NVIDIA Jetson TK1 (supports many wifi devices, USB3 by default)

For this process you will need:

  • A flashing computer, preferably an Ubuntu Linux machine (or VM)
  • Micro USB cable, same as the one provided with the Jetson TK1 kit
  • Jetson TK1 and power supply
  • Optional: DB9 null modem cable
  1. Download NVIDIA Linux4Tegra (L4T) Board Support Package (BSP) and Sample Root Filesystem from NVIDIA

wget https://developer.nvidia.com/sites/default/files/akamai/mobile/files/L4T/Tegra124_Linux_R19.3.0_armhf.tbz2
wget https://developer.nvidia.com/sites/default/files/akamai/mobile/files/L4T/Tegra_Linux_Sample-Root-Filesystem_R19.3.0_armhf.tbz2
  1. Extract NVIDIA files (BSP and rootfs)

tar -xvf Tegra124_Linux_R19.3.0_armhf.tbz2
cd Linux_for_Tegra/rootfs
sudo tar xpf <path_to>/Tegra_Linux_Sample-Root-Filesystem_R19.3.0_armhf.tbz2
  1. Grab Grinch custom kernel files

cd ..
wget http://www.jarzebski.pl/files/jetsontk1/grinch-19.3.6/zImage -O kernel/zImage
wget http://www.jarzebski.pl/files/jetsontk1/grinch-19.3.6/kernel_supplements.tbz2 -O kernel/kernel_supplements.tbz2
wget http://www.jarzebski.pl/files/jetsontk1/grinch-19.3.6/tegra124-pm375.dtb -O kernel/dtb/tegra124-pm375.dtb
  1. Apply binaries

sudo ./apply_binaries.sh
  1. Connect the Jetston TK1 to the flashing linux computer via the micro-usb cable, and place the Jetson TK1 into recovery mode (by holding down the hardware Recovery button on the board and either pushing the Reset button if power is already plugged in, or plug in power for the first time).
  2. Run lsusb on your flashing computer and make sure you see some kind of NVIDIA device
  3. Flash the entire board from flashing computer command line (this will take some time to build the image and then download everything via usb)

sudo ./flash.sh -S 14580MiB jetson-tk1 mmcblk0p1

If you get an error loop device failed, edit flash.sh on your flashing computer to replace this line:

losetup /dev/loop0 system.img > /dev/null 2>&1

with this line:

losetup --find --show system.img
  1. You should eventually see Reset the board to boot from internal eMMC. At that point, press the Reset button on the board or power cycle it.
  2. Connect to your Jetson using eg the DB9 null modem cable and screen /dev/cu.usbserial-A602FDXV 115200 8N1 and verify that boot messages scroll by after reset.
  3. Default login is user ubuntu, password ubuntu. You can sudo su to change to root user if necessary.
  4. Configure /etc/wpa_supplicant.conf and /etc/network/interfaces as needed to support WPA wifi

Note: if you just want to flash the kernel (this should be fast):


sudo ./flash.sh -k 6 jetson-tk1 mmcblk0p1
@tomwoodsnh
Copy link

My flashing computer stops with:
'creating gpt (ppt.img)... ./flash.sh: line 1039: ./mkgpt: cannot execute binary file
failed.'

How can i fix this?
Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment