DP port not work when flash orin agx use custom build kernel

I want to build the kernel from source ,and flash the orin agx with my built kernel

the difference from the original images is that I set the LOCALVERSION to a cutom string,not “-tegra”

here is this process

  1. modify the LOCALVERSION

  2. build kernel and modules

  3. replace kernel

    cp $KERNEL_OUT_DIR/arch/arm64/boot/Image $TOP_DIR/kernel/Image
  4. replace dtb
    cp $KERNEL_OUT_DIR/arch/arm64/boot/dts/nvidia/* $TOP_DIR/kernel/dtb/

  5. replace kernel_supplements.tbz2 file

            tar --owner root --group root -cjf kernel_supplements.tbz2 lib/modules
        cp kernel_supplements.tbz2 $TOP_DIR/kernel/kernel_supplements.tbz2
  6. apply_binaries.sh

    sudo ./apply_binries.sh --t

after all of above , I make a full flash

and dp can not display anything? only the uart can show init process, and dp port not work? any sugesstion?

Did you use the correct tool chain to build the kernel?

I think its right… as follow…

export ARCH=arm64
export CROSS_COMPILE=~/nvidia/nvidia_sdk/JetPack_5.0_DP_Linux_DP_JETSON_AGX_ORIN_TARGETS/Linux_for_Tegra/source/aarch64--glibc--stable-final/bin/aarch64-buildroot-linux-gnu-

export KERNEL_OUT_DIR=~/nvidia/nvidia_sdk/JetPack_5.0_DP_Linux_DP_JETSON_AGX_ORIN_TARGETS/Linux_for_Tegra/kernel_out
export TOP_DIR=~/nvidia/nvidia_sdk/JetPack_5.0_DP_Linux_DP_JETSON_AGX_ORIN_TARGETS/Linux_for_Tegra

export LOCALVERSION="-senior-V0.1"

make O=${KERNEL_OUT_DIR} DEFCONFIG_PATH=arch/arm64/configs tegra_defconfig
make O=${KERNEL_OUT_DIR} -j14

sudo cp $KERNEL_OUT_DIR/drivers/gpu/nvgpu/nvgpu.ko $TOP_DIR/rootfs/usr/lib/modules/5.10.65-senior-V0.1/kernel/drivers/gpu/nvgpu/nvgpu.ko

cp $KERNEL_OUT_DIR/arch/arm64/boot/Image $TOP_DIR/kernel/Image

cp $KERNEL_OUT_DIR/arch/arm64/boot/dts/nvidia/* $TOP_DIR/kernel/dtb/

tar --owner root --group root -cjf kernel_supplements.tbz2 lib/modules
cp kernel_supplements.tbz2 $TOP_DIR/kernel/kernel_supplements.tbz2


sudo ./apply_binries.sh --t

final, flash all

sudo ./flash.sh jetson-agx-orin-devkit mmcblk0p1

in fact, I think the kernel boot successful, only the DP port drvier not load correctly. may because I change the “LOCALVERSION”, the DP driver is module ? the it not match with the kernel release number? I don’t know…

Copy all the modules. Not only nvgpu.

we load nvgpu.ko is successful,but the ubuntu-desktop start failed. the error information below:

I didn’t ask anything about nvgpu.ko… I mean other modules as well…

hi. you may copy /lib/modules/5.10.65-tegra/extra/opensrc-disp/*.ko to /usr/lib/modules/5.10.65-senior-V0.1/extra/opensrc-disp/, and execute “sudo depmod -a”.

BTW, source code tarball of those opensrc-disp modules is nvidia_kernel_display_driver_source.tbz2 which is included in public_sources.tbz2.

yes when i run the sudo ./apply_binries.sh --t all the files in rootf/lib/moduleswill be replace with the context in kernel_supplements.tbz2

it mean all *.ko will be update

thank you for your reply @sunge

i think it may be the right direction to solve the problem.

but recently i don’t have the condition to debug if it works for me

anyway, accroding to you suggestion,

  1. just copy the /lib/modules/5.10.65-tegra/extra/opensrc-disp/*.ko will work? I mean that I modify the relase number. if just copy, when the kernel load the display module will the system report an error? because the different release number?
  2. what the “sudo depmod -a”. do?
  3. third, i’m confluse about how to build the source code ? any suggestion ?

waiting for your reply ,thx!!

You can check the lsmod result on devkit and compare with your case and see if those ko files are missing.

  1. it suppose to work if you just changed LOCALVERSION to a custom string.
  2. it will update modules.dep (/lib/modules/$(uname -r)/modules.dep) and map files. see manual pages of depmod for details.
  3. it’s unnecessary at this moment. you may find out and use those missing pre-built ko files at first.

thank you, it works

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