Jetson Xavier hangs on the bootup

Hello,

yesterday I wanted to install the DALI library on the Jetson using this command

pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/cuda/10.0 nvidia-dali

as described here: https://docs.nvidia.com/deeplearning/sdk/dali-developer-guide/docs/quickstart.html.

The installation failed because there was not enough space left on the device. After that I shut down the machine. When I started it today, it hung up during the boot process.

As far as I can see all the command lines shown during startup start with [ OK ], except for the following:

iwlwifi 0002:01:00.0: Direct firmware load for iwlwifi-8265-25.ucode failed with error -2
iwlwifi 0002:01:00.0: Falling back to user helper
iwlwifi 0002:01:00.0: Direct firmware load for iwlwifi-8265-24.ucode failed with error -2
iwlwifi 0002:01:00.0: Falling back to user helper
iwlwifi 0002:01:00.0: Direct firmware load for iwlwifi-8265-23.ucode failed with error -2
iwlwifi 0002:01:00.0: Falling back to user helper
thermal thermal_zone8: failed to read out thermal zone (-5)

The last lines on the display when the boot is hanging are:

[ OK ] Reached target Graphical Interface.
       Starting Update UTMP about System Runlevel Changes...
[ OK ] Started Update UTMP about System Runlevel Chages.
[ OK ] Started Load/Save RF Kill Switch Status.

When the last line is displayed, the display is alternating between one second of showing the boot status lines and one second of just black.

Is there any solution for that? Thank you

I think re-flash is the fast way to recover. DALI can only work on host PC but not jetson.

Please check the link you pasted.

Prerequisites
Linux x64.
NVIDIA Driver supporting CUDA 9.0 or later (i.e., 384.xx or later driver releases).

Thank you.

Is there any chance of creating a backup even tough the Jetson does not boot?

If I try to enter the recovery mode by pressing the power button while holding the recovery button nothing happens.

You can clone. This provides two fairly large files, a “.img” file (sparse, essentially a poor man’s version of compressed…I throw these away), and “.img.raw” (a raw file, very useful). The raw image can be loopback mounted, examined, copied, edited, used as a flash source (the sparse image can be used as a flash source, but there is nothing else it can be used for), so on.

Instructions for clone change with release version, but usually the task goes something like this:

  1. Put the Jetson in recovery mode with the correct USB connected (USB-C for Xavier).
  2. Verify the Linux host PC sees the recovery mode Xavier with "lsusb -d 0955:7019".
  3. Find the "flash.sh" file (SDK Manager/JetPack installs this...somewhere in "~/nvidia/nvidia_sdk/JetPack_Linux_P2888/Linux_for_Tegra/" you will find this content).
  4. Make sure you have a lot of spare disk space there, e.g., 32GB: "df -H .".
  5. ``` sudo ./flash.sh -r -k APP -G my_backup.img jetson-xavier mmcblk0p1 ```
  6. After a lot of time make sure you have "my_backup.img" and "my_backup.img.raw". I suggest deleting "my_backup.img" and keeping the ".raw".

Clone should also be described in the official documents. Expect a patch to be needed to flash.sh for R31.1:
https://devtalk.nvidia.com/default/topic/1048747/jetson-agx-xavier/cloning-xavier-with-jetpack-4-2/post/5322540/#5322540

Note that the image flashed to a Jetson is generated each time by default, and results in “Linux_for_Tegra/bootloader/system.img”. If you command line flash, then you can use the “-r” option to “reuse” the system.img. If you copy backup.img.raw to become system.img, and use “-r”, then this gets flashed. You can loopback mount that image, edit it, and then use the updated copy for flashing. Just be careful to not lose your original, and be careful to not fill your disk (at about 30GB per raw image it takes a lot of time to copy and image…and even two copies can fill an entire disk).