Orin NX startup exception after kernel opens MPTCP

厄 不是. 我對你燒的東西沒有懷疑.

我要確認的是你抓下來的 " nvidia_kernel_display_driver_source.tbz2" 跟 “public_sources.tbz2” 確定沒抓錯嗎

我确实没保存当时下载源码的链接,所以我将这个源码重新解压进行分析:

yan@yan-Legion-Y9000P-IRX9:~/nvidia/nvidia_sdk/JetPack_5.1.5_Linux_JETSON_ORIN_NANO_TARGETS$ tar xjf public_sources.tbz2 -C tmp/
yan@yan-Legion-Y9000P-IRX9:~/nvidia/nvidia_sdk/JetPack_5.1.5_Linux_JETSON_ORIN_NANO_TARGETS$ cd tmp/
yan@yan-Legion-Y9000P-IRX9:~/nvidia/nvidia_sdk/JetPack_5.1.5_Linux_JETSON_ORIN_NANO_TARGETS/tmp$ ls
Linux_for_Tegra
yan@yan-Legion-Y9000P-IRX9:~/nvidia/nvidia_sdk/JetPack_5.1.5_Linux_JETSON_ORIN_NANO_TARGETS/tmp/Linux_for_Tegra$ 
yan@yan-Legion-Y9000P-IRX9:~/nvidia/nvidia_sdk/JetPack_5.1.5_Linux_JETSON_ORIN_NANO_TARGETS/tmp/Linux_for_Tegra$ ls
source
yan@yan-Legion-Y9000P-IRX9:~/nvidia/nvidia_sdk/JetPack_5.1.5_Linux_JETSON_ORIN_NANO_TARGETS/tmp/Linux_for_Tegra$ cd source/
yan@yan-Legion-Y9000P-IRX9:~/nvidia/nvidia_sdk/JetPack_5.1.5_Linux_JETSON_ORIN_NANO_TARGETS/tmp/Linux_for_Tegra/source$ ls
public
yan@yan-Legion-Y9000P-IRX9:~/nvidia/nvidia_sdk/JetPack_5.1.5_Linux_JETSON_ORIN_NANO_TARGETS/tmp/Linux_for_Tegra/source$ cd public/
yan@yan-Legion-Y9000P-IRX9:~/nvidia/nvidia_sdk/JetPack_5.1.5_Linux_JETSON_ORIN_NANO_TARGETS/tmp/Linux_for_Tegra/source/public$ ls
argus_cam_libavencoder_src.tbz2          gstegl_src.tbz2.sha1sum             gst-nvv4l2camera_src.tbz2            libgstnvcustomhelper_src.tbz2.sha1sum  nvgstapps_src.tbz2                                nv_public_src_build_tos.sh             openwfd_headers.tbz2
argus_cam_libavencoder_src.tbz2.sha1sum  gstjpeg_src.tbz2                    gst-nvv4l2camera_src.tbz2.sha1sum    libgstnvdrmvideosink_src.tbz2          nvgstapps_src.tbz2.sha1sum                        nvsample_cudaprocess_src.tbz2          openwfd_headers.tbz2.sha1sum
atf_src.tbz2                             gstjpeg_src.tbz2.sha1sum            gst-nvvidconv_src.tbz2               libgstnvdrmvideosink_src.tbz2.sha1sum  nvidia-jetson-optee-source.tbz2                   nvsample_cudaprocess_src.tbz2.sha1sum  openwfd_samples.tbz2
atf_src.tbz2.sha1sum                     gst-nvarguscamera_src.tbz2          gst-nvvidconv_src.tbz2.sha1sum       libgstnvvideosinks_src.tbz2            nvidia-jetson-optee-source.tbz2.sha1sum           nvsci_headers.tbz2                     openwfd_samples.tbz2.sha1sum
dtc-1.4.5.tbz2                           gst-nvarguscamera_src.tbz2.sha1sum  gst-nvvideo4linux2_src.tbz2          libgstnvvideosinks_src.tbz2.sha1sum    nvidia_kernel_display_driver_source.tbz2          nvsci_headers.tbz2.sha1sum             public_sources_sha.txt
dtc-1.4.5.tbz2.sha1sum                   gst-nvcompositor_src.tbz2           gst-nvvideo4linux2_src.tbz2.sha1sum  libnl-3.5.0.tbz2                       nvidia_kernel_display_driver_source.tbz2.sha1sum  nvsci_samples_src.tbz2                 spe-freertos-bsp.tbz2
FreeRTOSV8.1.2_src.tbz2                  gst-nvcompositor_src.tbz2.sha1sum   kernel_src.tbz2                      libnl-3.5.0.tbz2.sha1sum               nvidia-xconfig_src.tbz2                           nvsci_samples_src.tbz2.sha1sum         spe-freertos-bsp.tbz2.sha1sum
FreeRTOSV8.1.2_src.tbz2.sha1sum          gst-nvtee_src.tbz2                  kernel_src.tbz2.sha1sum              libv4l2_nvargus_src.tbz2               nvidia-xconfig_src.tbz2.sha1sum                   opencv_gst_samples_src.tbz2            v4l2_libs_src.tbz2
gstegl_src.tbz2                          gst-nvtee_src.tbz2.sha1sum          libgstnvcustomhelper_src.tbz2        libv4l2_nvargus_src.tbz2.sha1sum       nv_public_src_build.sh                            opencv_gst_samples_src.tbz2.sha1sum    v4l2_libs_src.tbz2.sha1sum
yan@yan-Legion-Y9000P-IRX9:~/nvidia/nvidia_sdk/JetPack_5.1.5_Linux_JETSON_ORIN_NANO_TARGETS/tmp/Linux_for_Tegra/source/public$ tar xjf kernel_src.tbz2 
yan@yan-Legion-Y9000P-IRX9:~/nvidia/nvidia_sdk/JetPack_5.1.5_Linux_JETSON_ORIN_NANO_TARGETS/tmp/Linux_for_Tegra/source/public$ cd kernel/
yan@yan-Legion-Y9000P-IRX9:~/nvidia/nvidia_sdk/JetPack_5.1.5_Linux_JETSON_ORIN_NANO_TARGETS/tmp/Linux_for_Tegra/source/public/kernel$ ls
kernel-5.10  nvethernetrm  nvgpu  nvidia
yan@yan-Legion-Y9000P-IRX9:~/nvidia/nvidia_sdk/JetPack_5.1.5_Linux_JETSON_ORIN_NANO_TARGETS/tmp/Linux_for_Tegra/source/public/kernel$ cd kernel-5.10/
yan@yan-Legion-Y9000P-IRX9:~/nvidia/nvidia_sdk/JetPack_5.1.5_Linux_JETSON_ORIN_NANO_TARGETS/tmp/Linux_for_Tegra/source/public/kernel/kernel-5.10$ grep -E '^VERSION|^PATCHLEVEL|^SUBLEVEL|^EXTRAVERSION' Makefile
VERSION = 5
PATCHLEVEL = 10
SUBLEVEL = 216
EXTRAVERSION =

可以看到解压缩之后,kernel解压缩出来了kernel-5.10目录,并且搜索版本号也确认是5.10;

nvidia_kernel_display_driver_source.tbz2也是被public_sources.tbz2解压出来的,所以应该是没有错;

nvidia_kernel_display_driver_source.tbz2的包只有2M,您可以单独发我JetPack5.1.5使用的源码,然后我重新编译试试
我解压缩出来的disaplay炮md5值如下,您也可以核对看看:

yan@yan-Legion-Y9000P-IRX9:~/nvidia/nvidia_sdk/JetPack_5.1.5_Linux_JETSON_ORIN_NANO_TARGETS/tmp/Linux_for_Tegra/source/public$ md5sum ./nvidia_kernel_display_driver_source.tbz2
49b81c37d7af99cd275fe78b395cf6e4  ./nvidia_kernel_display_driver_source.tbz2

Hi,

剛才我這邊很快的測試了一下.

直接把nvdisplay丟進Jetson之後直接跑make modules -j4 就能直接build出檔案
甚至不需要複製kernel_out上來.

請問上面哪個post是你在機器上編譯碰到的問題?

这是放到Orin NX上编译的报错,我将kernel_out拷贝上去的原因是,在编译的时候,会依赖/usr/lib/modules/5.10.216-tegra/build,而我查看设备上的build软连接,是连接到编译的kernel_out目录的,所以我就把kernel_out拷贝上去编译

我先確認一下

如果你什麼都不改, 使用原本Jetpack 燒錄進去的狀況是能正常編譯的嗎

Hi,WayneWWW:

我作了两个编译测试:

1.关闭mptcp的正常设备中编译display驱动,编译成功(这是以前使用nvidia默认的文件系统的)

2.在打开了mptcp配置的设备上编译display驱动,失败,原因是/usr/lib/modules/5.10.216-tegra/build的软连接是在我编译的kernel_out上,这个不在单板上,也是我上次拷贝kernel_out的原因

total 2048-ubuntu:/home/nvidia/nvdisplay# ls /usr/lib/modules/5.10.216-tegra/ -l 
lrwxrwxrwx 1 root root    113 Jan 15 01:52 build -> /home/yan/nvidia/nvidia_sdk/JetPack_5.1.5_Linux_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra/source/public/kernel_out
drwxr-xr-x 3 root root   4096 Nov  6 14:05 extra
drwxr-xr-x 9 root root   4096 Jan 22 11:27 kernel
-rw-r--r-- 1 root root 523791 Jan 22 11:27 modules.alias
-rw-r--r-- 1 root root 515303 Jan 22 11:27 modules.alias.bin
-rw-r--r-- 1 root root  28027 Jan 22 11:27 modules.builtin
-rw-r--r-- 1 root root  50963 Jan 22 11:27 modules.builtin.alias.bin
-rw-r--r-- 1 root root  30638 Jan 22 11:27 modules.builtin.bin
-rw-r--r-- 1 root root 156921 Jan 22 11:27 modules.builtin.modinfo
-rw-r--r-- 1 root root  89192 Jan 22 11:27 modules.dep
-rw-r--r-- 1 root root 140207 Jan 22 11:27 modules.dep.bin
-rw-r--r-- 1 root root    187 Jan 22 11:27 modules.devname
-rw-r--r-- 1 root root  46244 Jan 22 11:27 modules.order
-rw-r--r-- 1 root root    802 Jan 22 11:27 modules.softdep
-rw-r--r-- 1 root root 209552 Jan 22 11:27 modules.symbols
-rw-r--r-- 1 root root 260299 Jan 22 11:27 modules.symbols.bin
lrwxrwxrwx 1 root root    121 Jan 22 11:27 source -> /home/yan/nvidia/nvidia_sdk/JetPack_5.1.5_Linux_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra/source/public/kernel/kernel-5.10

我查看编译成功的build软连接指向的路径,重新修正了软连接到/usr/src/linux-headers-5.10.216-tegra-ubuntu20.04_aarch64/kernel-5.10:

nvidia@tegra-ubuntu:~$ ls /usr/lib/modules/5.10.216-tegra/build -l
lrwxrwxrwx 1 root root 69 Jan 22  2026 /usr/lib/modules/5.10.216-tegra/build -> /usr/src/linux-headers-5.10.216-tegra-ubuntu20.04_aarch64/kernel-5.10

再次编译nvidia.ko后成功,这应该是我制作文件系统时导致build的软连接路径发生变化导致的问题,编译成功后,编译出3个库:

nvidia@tegra-ubuntu:~/nvdisplay/kernel-open$ find -name "*.ko"
./nvidia.ko
./nvidia-modeset.ko
./nvidia-drm.ko

我将这三个库拷贝到/usr/lib/modules/5.10.216-tegra/extra/opensrc-disp目录下重启设备,重新上电后还是出现了符号不匹配的打印:

[   13.119292] nvidia: disagrees about version of symbol fget
[   13.119296] nvidia: Unknown symbol fget (err -22)
[   13.119336] nvidia: disagrees about version of symbol fd_install
[   13.119337] nvidia: Unknown symbol fd_install (err -22)
[   13.119432] nvidia: disagrees about version of symbol wake_up_process
[   13.119433] nvidia: Unknown symbol wake_up_process (err -22)
[   13.119508] nvidia: disagrees about version of symbol iterate_fd
[   13.119509] nvidia: Unknown symbol iterate_fd (err -22)
[   13.119580] nvidia: disagrees about version of symbol __close_fd
[   13.119581] nvidia: Unknown symbol __close_fd (err -22)
[   13.119791] nvidia: disagrees about version of symbol nvhost_syncpt_unit_interface_get_aperture
[   13.119793] nvidia: Unknown symbol nvhost_syncpt_unit_interface_get_aperture (err -22)
[   13.182053] spi-tegra114 3230000.spi: Adding to iommu group 2
[   13.203712] fusb301 1-0025: failed to read device id, err : 0xffffff87
[   13.216983] fusb301 1-0025: fusb301 not support
[   13.225327] fusb301: probe of 1-0025 failed with error -22
[   13.234181] cpu-throttle-alert cooling device registered.
[   13.240893] irq: IRQ316: trimming hierarchy from :interrupt-controller@f400000-1
[   13.250361] r8168 0008:01:00.0: Adding to iommu group 10
[   13.251679] pps pps2: new PPS source pps_gpio.-1
[   13.255639] tegra-hda 3510000.hda: Adding to iommu group 54
[   13.266753] r8168 Gigabit Ethernet driver 8.053.00-NAPI loaded
[   13.266901] pps pps2: Registered IRQ 316 as PPS source
[   13.276296] r8168 0008:01:00.0: enabling device (0000 -> 0003)
[   13.283748] gpu-throttle-alert cooling device registered.
[   13.298061] tegra-asoc: sound: Adding to iommu group 55
[   13.311475] usb_ch9344 1-2.1:1.0: ttyCH9344USB from 0 - 3: ch9344 device attached.
[   13.319473] cv0-throttle-alert cooling device registered.
[   13.334607] usbcore: registered new interface driver usb_ch9344
[   13.339847] r8168: This product is covered by one or more of the following patents: US6,570,884, US6,115,776, and US6,327,625.
[   13.346409] ch9344: USB serial driver for ch9344/ch348.
[   13.358534] cv1-throttle-alert cooling device registered.
[   13.359595] r8168  Copyright (C) 2024 Realtek NIC software team <nicfae@realtek.com> 
[   13.359595]  This program comes with ABSOLUTELY NO WARRANTY; for details, please see <http://www.gnu.org/licenses/>. 
[   13.359595]  This is free software, and you are welcome to redistribute it under certain conditions; see <http://www.gnu.org/licenses/>. 
[   13.360960] cv2-throttle-alert cooling device registered.
[   13.361962] soc0-throttle-alert cooling device registered.
[   13.362361] soc1-throttle-alert cooling device registered.
[   13.362669] soc2-throttle-alert cooling device registered.
[   13.365088] hot-surface-alert cooling device registered.
[   13.385258] ch9344: V2.3 On 2025.07
[   13.462391] input: NVIDIA Jetson Orin NX HDA HDMI/DP,pcm=3 as /devices/platform/3510000.hda/sound/card0/input1
[   13.476095] input: NVIDIA Jetson Orin NX HDA HDMI/DP,pcm=7 as /devices/platform/3510000.hda/sound/card0/input2
[   13.504907] input: NVIDIA Jetson Orin NX HDA HDMI/DP,pcm=8 as /devices/platform/3510000.hda/sound/card0/input3
[   13.512623] cryptd: max_cpu_qlen set to 1000
[   13.516647] input: NVIDIA Jetson Orin NX HDA HDMI/DP,pcm=9 as /devices/platform/3510000.hda/sound/card0/input4
[   13.631302] nvgpu: 17000000.ga10b          nvgpu_nvhost_syncpt_init:135  [INFO]  syncpt_unit_base 60000000 syncpt_unit_size 4000000 size 10000
[   13.631302] 
[   14.806649] using random self ethernet address
[   14.814173] using random host ethernet address
[   14.986124] using random self ethernet address
[   14.990739] using random host ethernet address
[   17.113818] CPU4: shutdown
[   17.218388] CPU5: shutdown
[   17.274016] CPU6: shutdown
[   17.314629] IRQ 119: no longer affine to CPU7
[   17.319657] CPU7: shutdown
[   18.503721] nvidia: disagrees about version of symbol nvhost_get_default_device
[   18.511274] nvidia: Unknown symbol nvhost_get_default_device (err -22)
[   18.518042] nvidia: disagrees about version of symbol fget
[   18.523694] nvidia: Unknown symbol fget (err -22)
[   18.528580] nvidia: disagrees about version of symbol fd_install
[   18.534758] nvidia: Unknown symbol fd_install (err -22)
[   18.540261] nvidia: disagrees about version of symbol wake_up_process
[   18.546899] nvidia: Unknown symbol wake_up_process (err -22)
[   18.552837] nvidia: disagrees about version of symbol iterate_fd
[   18.561943] nvidia: Unknown symbol iterate_fd (err -22)
[   18.570221] nvidia: disagrees about version of symbol __close_fd
[   18.576916] nvidia: Unknown symbol __close_fd (err -22)
[   18.582582] nvidia: disagrees about version of symbol nvhost_syncpt_unit_interface_get_aperture
[   18.591549] nvidia: Unknown symbol nvhost_syncpt_unit_interface_get_aperture (err -22)
[   18.705534] nvidia: disagrees about version of symbol nvhost_get_default_device
[   18.713149] nvidia: Unknown symbol nvhost_get_default_device (err -22)
[   18.719909] nvidia: disagrees about version of symbol fget
[   18.725549] nvidia: Unknown symbol fget (err -22)
[   18.730443] nvidia: disagrees about version of symbol fd_install
[   18.736621] nvidia: Unknown symbol fd_install (err -22)
[   18.742150] nvidia: disagrees about version of symbol wake_up_process
[   18.748774] nvidia: Unknown symbol wake_up_process (err -22)
[   18.754710] nvidia: disagrees about version of symbol iterate_fd
[   18.760895] nvidia: Unknown symbol iterate_fd (err -22)
[   18.766378] nvidia: disagrees about version of symbol __close_fd
[   18.772553] nvidia: Unknown symbol __close_fd (err -22)
[   18.778230] nvidia: disagrees about version of symbol nvhost_syncpt_unit_interface_get_aperture
[   18.787183] nvidia: Unknown symbol nvhost_syncpt_unit_interface_get_aperture (err -22)

我查看编译后的nvidia.ko:

filename:       /usr/lib/modules/5.10.216-tegra/extra/opensrc-disp/./nvidia.ko
firmware:       nvidia/35.5.0/gsp.bin
import_ns:      DMA_BUF
alias:          char-major-195-*
version:        35.5.0
supported:      external
license:        Dual MIT/GPL
srcversion:     8BBA78784B9642CDBD0225C
alias:          pci:v000010DEd*sv*sd*bc06sc80i00*
alias:          pci:v000010DEd*sv*sd*bc03sc02i00*
alias:          pci:v000010DEd*sv*sd*bc03sc00i00*
alias:          of:N*T*Cnvidia,tegra234-displayC*
alias:          of:N*T*Cnvidia,tegra234-display
depends:        
name:           nvidia
vermagic:       5.10.216-tegra SMP preempt mod_unload modversions aarch64
parm:           NVreg_ResmanDebugLevel:int
parm:           NVreg_RmLogonRC:int
parm:           NVreg_ModifyDeviceFiles:int
parm:           NVreg_DeviceFileUID:int
parm:           NVreg_DeviceFileGID:int
parm:           NVreg_DeviceFileMode:int
parm:           NVreg_InitializeSystemMemoryAllocations:int
parm:           NVreg_UsePageAttributeTable:int
parm:           NVreg_EnablePCIeGen3:int
parm:           NVreg_EnableMSI:int
parm:           NVreg_TCEBypassMode:int
parm:           NVreg_EnableStreamMemOPs:int
parm:           NVreg_RestrictProfilingToAdminUsers:int
parm:           NVreg_PreserveVideoMemoryAllocations:int
parm:           NVreg_EnableS0ixPowerManagement:int
parm:           NVreg_S0ixPowerManagementVideoMemoryThreshold:int
parm:           NVreg_DynamicPowerManagement:int
parm:           NVreg_DynamicPowerManagementVideoMemoryThreshold:int
parm:           NVreg_EnableGpuFirmware:int
parm:           NVreg_EnableGpuFirmwareLogs:int
parm:           NVreg_OpenRmEnableUnsupportedGpus:int
parm:           NVreg_EnableUserNUMAManagement:int
parm:           NVreg_MemoryPoolSize:int
parm:           NVreg_KMallocHeapMaxSize:int
parm:           NVreg_VMallocHeapMaxSize:int
parm:           NVreg_IgnoreMMIOCheck:int
parm:           NVreg_NvLinkDisable:int
parm:           NVreg_EnablePCIERelaxedOrderingMode:int
parm:           NVreg_RegisterPCIDriver:int
parm:           NVreg_EnableDbgBreakpoint:int
parm:           NVreg_RegistryDwords:charp
parm:           NVreg_RegistryDwordsPerDevice:charp
parm:           NVreg_RmMsg:charp
parm:           NVreg_GpuBlacklist:charp
parm:           NVreg_TemporaryFilePath:charp
parm:           NVreg_ExcludedGpus:charp
parm:           NVreg_DmaRemapPeerMmio:int
parm:           rm_firmware_active:charp

nvidia.ko也没有相关依赖,所以这应该和我是不是要重新编译nvidia.ko没关系,您是否试过打开mptcp后编译烧写并运行呢?

或者有nvidia.ko在我的ubuntu编译环境中能成功交叉编译的方法,我也可以使用ubuntu的交叉编译环境编译后,测试是否能正常使用。

Hi,WayneWWW:

我查询到设置mptcp可能会导致linux kernel crc发生重算,这会导致crc发生变化,所以不是在我的打开mptcp的kernel下重编译的所有kernel都会有符号匹配的问题,请帮忙确认这一情况是否属实,如果确实打开mtcp触发了kernel crc重置,那所有的ko都需要重新编译。