Flash Jetson Tx2

Hi
Actually, I want to flash my device tree in Jetsontx2 by a host machine, the error of not finding
Linux_for_Tegra/rootfs/etc/wpa_supplicant.conf
stopped me. In Rootfs for L4T R32.5.1 is missing files, I found that I should implement the following step from ~/Linux_for_Tegra directory.
sudo ./apply_binaries.sh

But I confronted with a new error:

Using rootfs directory of: ~/Linux_for_Tegra/rootfs

||||||||||||||||||||||| ERROR |||||||||||||||||||||||

  1. The root filesystem, provided with this package,
    has to be extracted to this directory:
    ~/Linux_for_Tegra/rootfs
  2. The root filesystem, provided with this package,
    has to be extracted with ‘sudo’ to this directory:
    ~/Linux_for_Tegra/rootfs
    Consult the Development Guide for instructions on
    extracting and flashing your device.

Now, can you help me to solve my problem to flash my target board for update my kernel?

Is your disk space/partition to put this ~/Linux_for_Tegra/ a ext4 partition?

The wpa_supplcant.conf message is misleading; in fact, it is a file which is referenced by the flash script and therefore is mandatory to exist in the rootfs directory, which should hold the file tree to include in the designated image blob for the target device.

So, in conjunction with the last error you posted, there are several possible causes for this result after running apply-binaries.sh (i guess the above error is output from apply-binaries.sh, not from flash.sh?):

  1. The directory does not exists, it is not a directory (e.g it is a file) or it does not contain a root file system.
  2. The directory (and its subdirectories) is (are) not owned by User/Group root or User root has no rwx permission on it.
  3. You haven’t provided a valid rootfs device tree under that directory (e.g. the extracted contents of the Sample-RootFS Archive for your Jetson platform - available at the NVIDIA Download Center).

There exists certain circumstances in which the flash.sh script (more precise: the image build process) fails with the wpa_supplicant.conf (or another equivalent) error, then quits /wo reverting the process steps already finished till that point and thus cannot be rerun again correctly.

To reset the rootfs and/or the image blob build to original state(s), simply run the following steps:

  • cd ~/Linux_for_Tegra ; sudo rm -rf rootfs
  • AS ROOT/SUDO: (Re-)Extract the root filesystem archive to rootfs/
  • build your custom kernel, modules etc. as described in the L4T
  • AS ROOT/SUDO: install your custom modules etc. in the rootfs (e.g. sudo make modules_install)
  • sudo ./apply_binaries.sh (this should work now!)
  • run the flash.sh command /w the appropriate options & config for your device

Note that you need some custom .deb packages (at least for kernel & bootloader) to use the apply_binaries.sh script /wo any further option switch, or you have to provide the kernel-supplementles.bz2 archive for use with that script. If you did not either, there is always the possibility that, during apply_binaries.sh (on host system) or an upgrade process (on target system), your custom bootloader or kernel is overwritten by the contents of the NVIDIA packages. (This behaviour is probably not wanted by any user who is trying to flash some custom modifications to some jetson device, i don’t understand why the whole process is designed like this)

I used /home/@USER to store /Linux_for_Tegra folder.

Is there any file in your rootfs?

yes, I sent a picture from rootfs contents.

Are you using a ubuntu host?

yes, I sent an image from ~Linux_For_Tegra/rootfs contents.

Hi,

Why not you directly use sdkmanager ? SDKM will also install Linux_for_Tegra on your host. But it will automatically set it so you don’t need to install them manually.

yes! ubuntu 18.0.4. Just now I have no access to my host machine. But conetnts are similar.

I want to change device tree and disable all of peripherals like hdmi to save the power. I found this solution in nvidia site.

It does not matter. SDKM will also install Linux_for_Tegra for you…

It means I leave guidances in Kernel Customization page (https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/kernel_custom.html#) and I use another way to install Linux_for_Tegra.
Where can I find how to install Linux_for_Tegra by SDKM?

SDKM is a GUI tool to help you flash the board.

And it will also install a Linux_for_Tegra folder under your ~/.

If even sdkmanager fails to install rootfs, then it is time to check the permission or partition format of your disk…

I should check, I infrom you then. thanks for your quick replies.

1 Like

Thanks I solved my problem to flash target machine with no error.

1 Like

Thanks. you’re right. I have some problems to install rootfs.

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