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
The root filesystem, provided with this package,
has to be extracted to this directory:
~/Linux_for_Tegra/rootfs
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?
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?):
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.
The directory (and its subdirectories) is (are) not owned by User/Group root or User root has no rwx permission on it.
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)
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.