Install Grinch Kernel for L4T 21.3 on NVIDIA Jetson TK1

With the advent of Linux for Tegra (L4T) version 21.3 many of the issues that were exhibited in the 19.X release have been addressed. Installing the Grinch Kernel on L4T 21.3 increases the capabilities of the Jetson by adding support for a wide variety of external peripherals, addressing some of the still outstanding issues, and enabling different configuration parameters.
WARNING: You must have a version of L4T 21.X installed before adding the Grinch Kernel for 21.X described here. That means that you must have flashed the Jetson board to install a new OS before Grinch Kernel 21.X installation.
Here’s a video on what to expect during the install. Looky here:

Background

In an earlier post, Installing Grinch LinuxForTegra (L4T) on NVIDIA Jetson TK1, we discussed some of the issues with the earlier 19.X release. Several things have changed since that time, including the replacement of fastboot with uboot for the boot loader sequence. This means that it is easier to change the kernel on a flashed Jetson.

The way that USB 3.0 gets enabled is different also, and is simply changed by modifying /boot/extlinux/extlinux.conf. Here’s a blog entry on how to Enable USB 3.0.

These changes make it much easier to modify things on the Jetson side, rather than having to configure kernels and flash them from another Ubuntu host.

Many people, especially those coming from desktop platforms, wonder why the Jetson lacks initial support for a wide variety of external peripherals when removed from the box. The reason is that the Jetson is an embedded development kit, which means its main initial intent was to help developers build devices that include the Tegra K1 chip. If you think about it from that perspective, it wouldn’t make much sense to have extra drivers and cruft installed that a device doesn’t use. For example, if you were building a phone, it doesn’t make sense to have drivers for 20 different wireless cards that the phone doesn’t contain.

However, the Jetson is also powerful enough to be a general purpose desktop computer. Desktop computer users have certain expectations, including being able to add devices and drivers, or have support for common devices available. Fortunately the Jetson community, led by user Santyago built a new Linux kernel named Grinch which includes a lot of the features to which most desktop users are accustomed.

You can get more information about the Grinch Kernel for L4T 21.3 on the NVIDIA Jetson forum. The entry includes a list of changes and supported devices, and is also the place to get support for the Grinch Kernel.

Installation

There are detailed installation instructions on the Jetson forum. I’ve bundled those instructions into a little shell script which is available on the JetsonHacks Github account. Installation is straightforward. You will need to have ‘git’ installed. Git can be installed with the command:

$ sudo apt-get install git

To install the Grinch Kernel:

$ git clone https://github.com/jetsonhacks/installGrinch.git
$ cd installGrinch
$ ./installGrinch.sh

You will need to enter your password after the kernel files have finished downloading. After installation is complete, reboot your Jetson.

Note: The script does a simple ‘wget‘ to get the files from the server. Some people may have issues with firewalls and such. The script does not handle those cases, so you will have to modify the script or manually download the required files.

Note: There is also a file called “installGrinchNoDownload.sh” which is useful for the times when you either must manually download the kernel files, or if you have previously downloaded the kernel files, and only want to copy them to the correct place. The script expects the kernel files to be in the same directory where it is located.

After installation, you may delete the ‘installGrinch‘ folder if desired. It is useful to make a backup of the folder before deletion, so that you can install the Grinch again on a fresh flash without having to download the files again.

21 Comments on Install Grinch Kernel for L4T 21.3 on NVIDIA Jetson TK1

  1. Complete Jetson newbie here. I followed the steps in this guide and upon reboot I see the lines of text scrolling and then a NVIDIA splash screen at which point the screen goes blank. I cannot seem to reach the console from here.

    Any help or guidance would be appreciated.

      • Similar problem here, I had the old 19.2 Kernel. I’m guessing you are going to say to flash the L4T 21.3 Kernel first, then the Grinch install. Is there a way to avoid having to flash, similar to the Grinch install?

        Cheers,

        Jon

        • Hi Jon,

          Am I that predictable? That’s exactly what I was going to say.
          The Grinch install described here is for 21.X version of L4T. For the older L4T 19.X kernels, the Grinch Kernel 19.3.8 described in the Jetson forum at: http://bit.ly/1jcKBug is the correct one.
          Unfortunately the only way to upgrade the OS is to flash the board. Version 21.X has a different boot loader than the 19.X series of L4T.

          • Hi, I have the same problem. What should I do now? After Installing Grinch for I can’t see anything on the screen.

            PS please help

  2. We have Atheros AR9462 Wireless+BT card and have installed Grinch using the instruction described here. The wireless portion is working well. However, we are not able to find the bluetooth device using “hcitool dev” and “dmesg | grep -i blue” does not show the bluetooth driver is being loaded. Does anybody have any success in using the Bluetooth with this card ? Thank you very much.

  3. I have tried “sudo apt-get install linux-firmware” but no luck there.

    I looked at the directory: /lib/modules/3.10.40-grinch-21.3.4/kernel/drivers/bluetooth/, and only see btusb.ko there. I would expect something like ath9kbt.ko there as well ? So it’s probably missing firmware driver issue, as you have suggested.

    I’ll ask this question on the Jetson forum. Thank you very much,

    Norman

  4. Hello, I installed Grinch 21.3, but I would like to go back to L4T 21.4 for driver development. What would be the easiest way to do so? I should be using u-boot, since I installed Grinch over L4T 21.4 without flashing. Thanks!

    • Unless you save a copy of the kernel before Grinch replaced it, I would probably flash L4T 21.4 on the board. I’m sure that there are other ways to go around accomplishing this, but replacing the kernel on a running system can be tricky and do things that take a long time to find/debug. For me, it’s always been better just to bite the bullet and reflash, especially if I’m doing driver development which requires a base system anyway.

    • Hi Allen,
      Unless you save a copy of the kernel before Grinch replaced it, I would probably flash L4T 21.5 on the board using JetPack. I’m sure that there are other ways to go around accomplishing this, but replacing the kernel on a running system can be tricky and do things that take a long time to find/debug. For me, it’s always been better just to bite the bullet and reflash, especially if I’m doing driver development which requires a base system anyway.

3 Trackbacks & Pingbacks

  1. Real Time Clock (RTC) - NVIDIA Jetson TK1 - NVIDIA Jetson TK1 Dev
  2. 【Nvidia Jetson tk1】血汗開發筆記 | ROS On JETSON TK1
  3. Jetson TK1のセットアップ(JetPack, Grinch, ROS Jadeのインストール) – note at home lab

Leave a Reply

Your email address will not be published.


*


%d bloggers like this:
Skip to toolbar