ERROR: could not run targetfstool [invalid mount config for type "bind": bind source path does not exist]

Please provide the following info (check/uncheck the boxes after creating this topic):
Software Version
DRIVE OS Linux 5.2.6
DRIVE OS Linux 5.2.6 and DriveWorks 4.0
DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version
other

Target Operating System
Linux
QNX
other

Hardware Platform
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)
other

SDK Manager Version
1.9.1.10844
other 2.2.0.12021

Host Machine Version
native Ubuntu 18.04
other

Trying build the Drive Software 10.0 (Rev. 2) Linux for Drive AGX Pegasus (target device). The status of all target components are all successful, showing OS image ready, up until the DRIVE Software Platform component, as shown in the screenshot below:

The error is under DRIVE Software Platform / Drive Platform Targetfs as shown in the screenshot below:

The specific error in the NV_DRIVE_PLATFORM_RFS_TARGET_COMP.log is as follows:

10:30:23.636 - Info: INFO: Running /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DRIVE_AGX_PEGASUS_XT/DriveSW_Components/DrivePlatform/tools/linux/targetfstool_5_1_6_x_avrfs.py to targetfs at /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DRIVE_AGX_PEGASUS_XT/DRIVEOS/drive-t186ref-linux/targetfs.
10:30:23.661 - Info: docker: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DRIVE_AGX_PEGASUS_XT/DriveSW_Components/DrivePlatform/tools/linux.
10:30:23.661 - Info: See 'docker run --help'.
10:30:23.664 - Info: ERROR: could not run targetfstool

Full log here:
NV_DRIVE_PLATFORM_RFS_TARGET_COMP.log (37.0 KB)

I have checked that bind source path directory does exist:

ls -l /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DRIVE_AGX_PEGASUS_XT/DriveSW_Components/DrivePlatform/tools/linux/
total 72
drwxr-xr-x 2 nvidia nvidia  4096 Nov 11  2019 misc
-rwxr-xr-x 1 nvidia nvidia  1722 Jun 28  2019 nv-bom-enter.sh
-rwxr-xr-x 1 nvidia nvidia   947 Jun 28  2019 nv-bom-read.sh
-rw-r--r-- 1 nvidia nvidia   307 Aug 14  2019 nv_ssh_rekey_run_once.service
-rwxr-xr-x 1 nvidia nvidia  2988 Aug 14  2019 nv_ssh_rekey_run_once.sh
-rw-r--r-- 1 nvidia nvidia 19862 Nov 11  2019 targetfstool_5_1_6_x_avrfs.py
-rw-r--r-- 1 nvidia nvidia   682 Nov 11  2019 targetfstool_5_1_6_x_avrfs_internal.py
-rw-r--r-- 1 nvidia nvidia  5501 Nov 11  2019 targetfstool_5_1_6_x_drivesw.py
-rw-r--r-- 1 nvidia nvidia   686 Nov 11  2019 targetfstool_5_1_6_x_drivesw_internal.py
-rw-r--r-- 1 nvidia nvidia 16233 Nov 12  2019 targetfstool_linux.py

Dear @sleff ,
Could you attach ~/.nvsdkm/logs and ~/.nvsdkm/sdkm.log ?
Also, is host connected to internet?

I found the solution.

The problem was caused because I was running sdkmanager as a docker container. The step logged by NV_DRIVE_PLATFORM_RFS_TARGET_COMP.log actually creates a docker container inside the sdkmanager docker container.

So we need to deal with docker in docker, particularly how "bind’ works: Volume bind mounting from docker in docker? - Stack Overflow. The behaviour of docker in docker and bind, is the bind source path must exist on the original host. In the case where sdkmanager is a docker container, the bind source path must exist on the host:

bind source path does not exist: /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DRIVE_AGX_PEGASUS_XT/DriveSW_Components/DrivePlatform/tools/linux.

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