Reboot System no response, no login interface after Update File System

Hello everyone,
I encountered a strange problem like that when I package compressed the normal file system on the development board and updated the file system to another development board, I connected the display with DP, but the display showed nothing and there was no login interface. However, the serial port login is normal.

First The board is ok,Everything is all right. steps like this:
1、cd Linux_for_Tegra/rootfs , sudo tar cvpzf backup.tar.gz --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.gz --exclude=/mnt --exclude=/sys --exclude=/media /
2、cd Linux_for_Tegra/rootfs , sudo rm -rf bin dev/ home/ opt/ root/ sbin srv/ tmp/ var/ boot/ etc/ lib run/ snap/ usr/
3、cd Linux_for_Tegra/rootfs ,sudo tar xzf backup.tar.gz
4、cd Linux_for_Tegra , sudo ./flash.sh jetson-agx-orin-devkit mmcblk0p1
5、reboot ,display showed nothing and there was no login interface

I don’t know if that would work or not, but if permissions are not also identical, then it would fail. Keep in mind that the account IDs on the Jetson might be different than from the host PC, and that if a host PC ID does not exist, then it will use a default of some sort. Thus, in tar, you might consider always using “--numeric-owner”. See if that helps.

Also, if flash uses a different release between the original rootfs content and the new rootfs content, then I would expect failures or odd behavior. You can see if the two rootfs installs are the same release with “head -n 1 rootfs/etc/nv_tegra_release” (or the “/etc/nv_tegra_release” of a running Jetson).

Hello , The monitor showed nothing after I updated the device tree and kernel with ‘‘R34.1.1’’

Flash dtb steps:
1、 Copy tegra234-p3701-0000-p3737-0000.dtb to Linux_for_Tegra/kernel/dtb/tegra234-p3701-0000-p3737-0000.dtb;
2、Remove /boot/dtb/kernel_tegra234-p3701-0000-p3737-0000.dtb;
3、Reboot and flash dtb with “sudo ./flash.sh -r -k A_kernel-dtb jetson-agx-orin-devkit mmcblk0p1”

Flash Image steps:
1、 Copy customized Image to Linux_for_Tegra/kernel/;
2、Remove /boot/Image;
3、Reboot and flash Image with “sudo ./flash.sh -r -k A_kernel jetson-agx-orin-devkit mmcblk0p1”

With "demesg | grep display " is nothing, but my dtb have display message


orin_display-fault.txt (58.3 KB)

Hi,

So are you asking for display kernel issue or you are talking about device no response? Is it on devkit or your custom board? I know you have a HDMI bring up issue on another thread.

You better clarifying the situation more clearly.

HIi WayneWWW,
Yes, I have the two questions :
First question,I get the sysytem from “Tegra_Linux_Sample-Root-Filesystem_R34.1.1_aarch64”, the display is Ok, but I update the dtb and kernel from that I compile the source code “public_sources”,after reboot ,the display is nothing .but I only update the dtb , the kernel is keep from that tar “Tegra_Linux_Sample-Root-Filesystem_R34.1.1_aarch64”, the display is OK. All of the above operations are on the devkit.

Second question , I get the sysytem from “Tegra_Linux_Sample-Root-Filesystem_R34.1.1_aarch64”, the display is Ok, I update the dtb from that I compile the source code “public_sources”, reboot , the display is ok on the devkit. but on the my carries boards ,the HDMI display is nothing. just like talked about yesterday.

Hi,

The second issue is related to the HDMI display bring up, so it is not only software and it will need more time to check. For that issue, please just track in your another post.

For your first issue, please check lsmod and see if those modules I mentioned (nvidia.ko/ nvgpu.ko/nvidia-modeset.ko) are loaded up or not.

yes, you are right. the first issue , I check lsmod, it is nothing!

Probably due to missing export LOCALVERSION=-tegra when you built the kernel image.

It is kind of a common sense when building kernel. Otherwise modprobe cannot find where to load the kernel modules.

Hi WayneWWW,
The following is my command to compile the kernel. Is there any problem with the operation?
make mrproper
make ARCH=arm64 O=$TEGRA_KERNEL_OUT tegra_defconfig
make ARCH=arm64 O=$TEGRA_KERNEL_OUT menuconfig
make ARCH=arm64 CROSS_COMPILE=$CROSS_COMPILE O=$TEGRA_KERNEL_OUT -j4 Image
make ARCH=arm64 CROSS_COMPILE=$CROSS_COMPILE O=$TEGRA_KERNEL_OUT -j4 dtbs
make ARCH=arm64 CROSS_COMPILE=$CROSS_COMPILE O=$TEGRA_KERNEL_OUT -j4 modules
make ARCH=arm64 O=$TEGRA_KERNEL_OUT modules_install INSTALL_MOD_PATH=$KERNEL_MODULES_OUT

Did you set “CONFIG_LOCALVERSION” to “-tegra” before compile? The command “uname -r” has a base of the software release, e.g., on some it would be '4.9.140". The suffix is from “CONFIG_LOCALVERSION”. If not set, then “uname -r” is just that base version; if it is set to “-tegra”, then the example “uname -r” would result in “4.9.140-tegra”. Modules are searched for in this path:
/lib/modules/$(uname -r)/kernel

Should you compile with the wrong “uname -r” path, then all modules must also be installed. If you are reusing the old modules, then you must make sure “uname -r” does not change and lose “-tegra”.

Hi , I export LOCALVERSION=-tegra before compile kernel , I’m sure it’s the same with uname -r, it is nothing with"lsmod".But I change the compile “Toolchain aarch64–glibc–stable-final” from “gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu” . Recompiling the kernel ,Flash Image,many modules inmod ,but the nvgpu.ko and nvidia-modeset.ko are failed to load up.
orin_Image-error.txt (78.8 KB)

What error would you see if you modprobe the drivers manually?

insmod nvidia-modeset.ko is ok ,but insmod nvgpu.ko is failed;

Are you sure your kernel module and image are using the same host and source code to build?

yes, kernel module and image are using the same host and source code to build.
1、build kernel_sources , I get the “tegra234-p3701-0000-p3737-0000.dtb” 、“Image” and “kernel_supplements.tbz2” ;
2、copy kernel_supplements.tbz2 that to /Linux_for_tegra/kernel cover old kernel_supplements.tbz2.
3、sudo ./apply_binaries.sh
4、sudo ./flash jetson-agx-orin-devkit mmcblk0p1
5、reboot and flash Image that from step 1.

I can’t help much on this, but in general, an unknown symbol implies the module needs a kernel feature which was not found. Examples of this:

  • The feature is provided by a different module, and that other module must be loaded before the module which gave the error.
  • The feature was never configured during kernel compile, and so the dependency is missing.
  • The module and the kernel are far enough apart in release version that the missing feature either no longer exists or was not yet invented. I only include this to be thorough since it looks like your kernel source was probably correct, and since there are both 4.x kernel sources available for most Jetsons (L4T R32.x and previous releases) and a 5.x version for the L4T R34.x releases for Xavier and Orin (see “head -n 1 /etc/nv_tegra_release” to find your L4T release).

The gist is that the module wants something from the kernel which is missing and configurable.

Sounds like you didn’t apply your kernel modules to the rootfs?

Hi WayneWWW , linuxdev
yes,you are right ! it‘s like this. I verified that use “Linux_for_tegra/nvbuild.sh” to build kenel , It’s Ok , but i use my make rules like above "make ARCH=arm64 … " is failed.

Thanks!

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