Kernel module build fail or not changed?

I want to change the driver in tx2 driver/i2c, use the command make O=$TEGRA_KERNEL_OUT modules to compile and output the following information?

make[1]: Entering directory 'source/kernel-out/kernel'

CHK include/config/kernel.release
GEN ./Makefile
CHK include/generated/uapi/linux/version.h
Using sources/kernel/kernel-4.4 as source for kernel
CHK include/generated/utsrelease.h
make[2]: ‘include/generated/mach-types.h’ is up to date.
CHK include/generated/timeconst.h
CHK include/generated/bounds.h
CHK include/generated/asm-offsets.h
CALL sources/kernel/kernel-4.4/scripts/
DTC drivers/misc/mods/mods.dtb
DTB drivers/misc/mods/mods.dtb.S
AS [M] drivers/misc/mods/mods.dtb.o
LD [M] drivers/misc/mods/mods.o
rm drivers/misc/mods/mods.dtb drivers/misc/mods/mods.dtb.S
Building modules, stage 2.
MODPOST 143 modules
WARNING: could not open drivers/misc/mods/mods.dtb.S: No such file or directory
LD [M] drivers/misc/mods/mods.ko
make[1]: Leaving directory ‘kernel-out/kernel’

Did my driver compile successfully? If successful, how should I apply it to the target board? Overwrite /lib/module? I tried it, but it didn’t work? Can someone help me this newbie?

Check the step 7 from below document.

Yes, I checked step 7 and packaged the driver files, but it didn’t work either。

Did you flash the device with recreate the system image.

sudo ./ jetson-xxx mmcblk0p1

When I use sudo ./ jetson-xxx mmcblk0p1, the system prompts “The system is running in low graphics mode” and asks for root privileges.

I can only temporarily use the previously copied image file and update the kernel and /lib/module/ directory

Did you export the kernel sub version by below command when build the kernel?

$ export LOCALVERSION=-tegra

correct. How can I fix “The system is runing in low-graphics mode”?

Do I need to download and replace with a new file system?


low graphic mode is mostly caused by

  1. Incompatible file system

  2. Wrong nvgpu driver.

Just ask you one question: How many modification have you done to your system? I meant compared with the default jetpack release.

The downloaded default file system then copies the /lib/module/4.4.38-xx directory。


Could you make sure the kernel module you built is using the same release version as your system?

How should I confirm it?

  1. Where do you get the kernel source? Which version is that?

  2. Which release is your jetpack version?

Just need to match (1) and (2).

kernel source version is 4.4 and


I think this may lead to a mistake… let me confirm again.
Where do you download the kernel source? Which link ? or through script?

Obtained from the script in jetpack… (9.1 KB)

Ok. Then the source is not the problem.

Could you share the result of “lsmod” on your device?

Wait a minute, I need to re-flash, thank you. I am thinking, if I re-download Tegra_Linux_Sample-Root-Filesystem_R28.2.1_aarch64.tbz2 and unzip it to Linux_for_Tegra, and then execute 4,5,6,7 in the link to see if it is normal

Yes, It is also worth trying.