is there any recommended way of synchronizing sysroot if sysroot is located on Ubuntu machine in specific folder? In standard way, toolchain sysroot is downloaded from target device, e.g. raspberry pi. But in our case, necessary files are not available on target device (it’s flash is quite small), but it’s available on our Ubuntu build server in specific folders, not in default folders. This looks to be an issue as Synchronize sysroot feature uses default location of sysroot folders. Sysroot we would like to download / synchronize is generated by Yocto. Currently, we download sysroot manually from Ubuntu build server and then overwrite sysroot folder on Windows machine (e.g. C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot).
The automatic sysroot synchronization indeed can only download the files from the root of the target filesystem. The easiest way to work around it would be to synchronize the files manually using SmarTTY, or add custom project shortcuts (requires Custom edition or higher) for downloading the arbitrary directories from arbitrary machines into the toolchain’s sysroot. Once defined as a custom shortcut, you will be able to trigger synchronization via the Project menu.
Regarding the case sensitivity, such files will indeed override each other on the Windows side. You can try enabling the case-sensitive mode for a specific NTFS folder as described here, but this may not be handled correctly by the toolchain or Visual Studio itself. Generally, unless you are building custom kernels, this should not be a problem as this type of file name collisions is rare. If it does interfere with your projects, please consider creating an Advanced CMake-based project configured to directly access the remote filesystem via SSH. This mode will properly handle case-sensitive file names, although you would need a Linux machine to build the code.