Hi Nvidia,
JetPack 6.0 (L4T36.3.0)
Orin NX 16GB
Customer carrier board based on p3509-a02
The HDMI worked fine if I use original default defconfig.
But I modify the defconfig, the hdmi is no display after system boot. (I can login by terminal)
The same defconfig file is worked fine on JetPack 6.2 but 6.0 is not.
defconfig.txt (31.6 KB)
Update the dmesg llog.
It got following error:
[ 30.176687] nvidia: disagrees about version of symbol module_layout
[ 30.548120] nvidia: disagrees about version of symbol module_layout
[ 30.684672] nvidia: disagrees about version of symbol module_layout
[ 30.821984] nvidia: disagrees about version of symbol module_layout
[ 30.955333] nvidia: disagrees about version of symbol module_layout
dmesg.txt (60.7 KB)
Did you rebuild the display drivers (nvidia.ko/nvidia-drm.ko/nvidia-modeset.ko) after you used a new kernel?
Yes, I do following command.
cd source
make -C kernel
sudo -E make install -C kernel
cp kernel/kernel-jammy-src/arch/arm64/boot/Image ../kernel/Image
make modules
sudo -E make modules_install
make dtbs
cp nvidia-oot/device-tree/platform/generic-dts/dtbs/* ../kernel/dtb/
cd Linux_for_Tegra
sudo ./tools/l4t_update_initrd.sh
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_t234_nvme.xml -p "-c bootloader/generic/cfg/flash_t234_qspi.xml" --showlogs --network usb0 p3509-a02-p3767-0000 internal
These steps do not build display drivers.
Display drivers are in separate source tarball.
Hi Wayne,
But when I run:
make modules
sudo -E make modules_install
I got
LD [M] /mnt/NVMe2/OrinNX/JP6.0/Linux_for_Tegra/source/nvdisplay/kernel-open/nvidia-drm.ko
LD [M] /mnt/NVMe2/OrinNX/JP6.0/Linux_for_Tegra/source/nvdisplay/kernel-open/nvidia-modeset.ko
LD [M] /mnt/NVMe2/OrinNX/JP6.0/Linux_for_Tegra/source/nvdisplay/kernel-open/nvidia.ko
================================================================================
make modules_install - nvidia-display ...
================================================================================
make -C /mnt/NVMe2/OrinNX/JP6.0/Linux_for_Tegra/source/out/nvidia-linux-header \
M=/mnt/NVMe2/OrinNX/JP6.0/Linux_for_Tegra/source/nvdisplay/kernel-open modules_install
make[1]: Entering directory '/mnt/NVMe2/OrinNX/JP6.0/Linux_for_Tegra/source/out/nvidia-linux-header'
INSTALL /mnt/NVMe2/OrinNX/JP6.0/Linux_for_Tegra/rootfs//lib/modules/5.15.136-tegra/updates/nvidia-drm.ko
SIGN /mnt/NVMe2/OrinNX/JP6.0/Linux_for_Tegra/rootfs//lib/modules/5.15.136-tegra/updates/nvidia-drm.ko
INSTALL /mnt/NVMe2/OrinNX/JP6.0/Linux_for_Tegra/rootfs//lib/modules/5.15.136-tegra/updates/nvidia-modeset.ko
SIGN /mnt/NVMe2/OrinNX/JP6.0/Linux_for_Tegra/rootfs//lib/modules/5.15.136-tegra/updates/nvidia-modeset.ko
INSTALL /mnt/NVMe2/OrinNX/JP6.0/Linux_for_Tegra/rootfs//lib/modules/5.15.136-tegra/updates/nvidia.ko
SIGN /mnt/NVMe2/OrinNX/JP6.0/Linux_for_Tegra/rootfs//lib/modules/5.15.136-tegra/updates/nvidia.ko
DEPMOD /mnt/NVMe2/OrinNX/JP6.0/Linux_for_Tegra/rootfs//lib/modules/5.15.136-tegra
Or how do I check I build the display drivers?
Could you check if the nvidia.ko loaded on your device is really the one you built?
I rebuild image again and check the driver timestamps.
I think they’re from my built
~$ ls -al /lib/modules/5.15.136-tegra/updates/nvidia*
-rw-r--r-- 1 root root 990617 一 28 18:18 /lib/modules/5.15.136-tegra/updates/nvidia-drm.ko
-rw-r--r-- 1 root root 4481585 一 28 18:18 /lib/modules/5.15.136-tegra/updates/nvidia.ko
-rw-r--r-- 1 root root 2457833 一 28 18:18 /lib/modules/5.15.136-tegra/updates/nvidia-modeset.ko
Would running insmod on them give you the same error as you saw before?
drm and modeset got Unknown synbol error.
I will try to rebuid them.
Hi Wayne,
I rebuild the driver and still got error.
nvidia: disagrees about version of symbol module_layout
I can reproduce the issue on the Xavier dev kit.
Could you help test it on your side using the defconfig?
HW: Orin NX 16GB + Xavier devkit carrier board
SW:
jetson_linux_r36.3.0_aarch64.tbz2
tegra_linux_sample-root-filesystem_r36.3.0_aarch64.tbz2
./source_sync.sh -t jetson_36.3
I just only change the defconfig file.
Where did you build the nvidia.ko file? Is it on your host PC or you directly build it on your Jetson?
Hi Wayne,
I got the key point, the rootfs and source Module.symvers are not match.
Linux_for_Tegra$ grep "module_layout" ./rootfs/usr/src/linux-headers-5.15.136-tegra-ubuntu22.04_aarch64/3rdparty/canonical/linux-jammy/kernel-source/Module.symvers
0x8aa1adfc module_layout vmlinux EXPORT_SYMBOL
Linux_for_Tegra$ grep "module_layout" ./source/kernel/kernel-jammy-src/Module.symvers
0xdf261632 module_layout vmlinux EXPORT_SYMBOL
But I don’t know why. I follow the document step by step to build image.
Just want to clarify. Did you see such behavior when you build latest Jetpack6?
Jetpack6.0 is basically old release that won’t have any update. If same build method won’t make such behavior in later release, then it means it was fixed in later release.
Hi Wayne,
This issue doesn’t happen in JP6.2.
But my customer is using JP6.0 so I need to fix it.
Host PC:
$ grep "module_layout" ./source/kernel/kernel-jammy-src/Module.symvers
0xdf261632 module_layout vmlinux EXPORT_SYMBOL
$ sha256sum kernel/Image
fd95391c299dec557f5883cde783fa817edcbf276677305d8b6f89daecf8e3eb kernel/Image
Orin NX:
$ grep "module_layout" ./source/kernel/kernel-jammy-src/Module.symvers
0xdf261632 module_layout vmlinux EXPORT_SYMBOL
$ sha256sum /boot/Image
fd95391c299dec557f5883cde783fa817edcbf276677305d8b6f89daecf8e3eb /boot/Image
They looks OK.
I also try to build nvdisplay driver on Orin NX.
But I still got symbol module_layout error.
I have no idea now.