Kernel Customization on Jetson Nano 2GB

Hi guys,

I recently got my Jetson Nano 2GB development kit to practice developing sensor drivers. I followed the kernel customization on Jetson Linux Developer Guide to build the kernel on the nano.
Under the ‘to build the jetson linux kernel’ procedure, I set the shell variable as: TEGRA_KERNEL_OUT = Tegra_Kernel_Out, and <kernel_source> directory as kernel-4.9, which is under Linux_for_Tegra/source/public/kernel/. As the building process was one, I was not able to locate <release_packagep>/Linux_for_Tegra/kernel/Image or Linux_for_Tegra/kernel/dtb/ for the contents to be replaced. Instead, I did find the new contents at …/kernel-4.9/arch/arm64/boot/Image and …/kernel-4.9/arch/arm64/boot/dts. Should I still replace these two contents mentioned in the guide? Also, in the shell variable I created, TEGRA_KERNEL_OUT = Tegra_Kernel_Out, there is nothing in this directory, is this normal?
Any help is appreciated!

Thanks

1 Like

This was for Xavier NX, not for Nano, but you may have a look to this post as an example.

Hello Honey_Patouceul,

Thanks for replying my post.

I checked my nano L4T version once setup the nano with the sd card method, and got the following info:
NVIDIA Jetson Nano (Developer Kit Version)
L4T 32.5.1 [ JetPack 4.5.1 ]
Ubuntu 18.04.5 LTS
Kernel Version: 4.9.201-tegra
CUDA 10.2.89
CUDA Architecture: 5.3
OpenCV version: 4.1.1
OpenCV Cuda: NO
CUDNN: 8.0.0.180
TensorRT: 7.1.3.0
Vision Works: 1.6.0.501
VPI: ii libnvvpi1 1.0.15 arm64 NVIDIA Vision Programming Interface library
Vulcan: 1.2.70

I noticed that there is a line of the kernel version, does that mean the kernel is already built during setup or should I still download the kernel sources that you mentioned in the other post for developing the sensor drivers?

I think you have a 4.9.201 kernel with local version set to ‘-tegra’ that is expected.
You may build your own kernel and dtb as advised from above, for which version would be ‘-test’, try to build, install and boot.

I will follow the procedure you posted in the other post. The sensor module I want to develop the driver for is also imx219, RPi V2 camera module, the approach should be similar I assume.

Thanks for your help!

Hi Honey_Patouceul,

I was able to turn on the RPi V2 camera module through GStreamer since the default package supports imx219 sensor. In this case, I would assume the package already contains the device tree, header, and other necessary files for imx219 sensor. Do you know which directories those files are possibly in if they do exist in Jetson nano?

Thanks.

I have no Nano for checking, but maybe you would get better advice telling what customization you are trying to acheive for what aim.

My final objective is to develop the sensor driver for a customized camera interposer board supporting up to 6 imx219 sensors for Jetson TX2. After going through the documentation, I got quite lost, and since the TX2 I’m working on does not belong to me and I am new to this field, I bought a nano to practice and get familiar with the development process instead of messing around with the TX2.

@WilliammB
Have go through below document for driver and device tree configure.
Also you can find the imx219 device tree at …/hardware/nvidia/platform/t210/porg/kernel-dts/porg-platforms/tegra210-porg-camera-rbpcv2-imx219.dtsi

https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/camera_dev.html#

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.