Has anyone managed to use SDKManager (1.3) without any user interaction (e.g., download, …)? I am trying to use it in a CI to generate certain artifacts (custom modules, dtb and config and maybe store the rootfs somewhere. For this I am trying to cache the downloads on our shared Gitlab cache and require a non-interactive mode. Everything is done inside a docker container.
The authentication does not support --user anymore for Devzone-accounts. But I can live with the manual login via the static auth URL (as I do not execute the download only when needed). But even with --license acceptI get some user queries like for the privacy policy regarding usage collection and I am guessing I would get those even if I am in offline mode later when installing.
Any other solution or could NVIDIA just add options to answer any query?
Ideally we could set it directly via an arg or via --settings option.blah value or via the response file.
Btw: If I use the settings mode interactively sdkmanager crashes locally (and continues to crash) after I answer the “Update” question with No.
Error: unhandledRejection
at Object.cliCrash (/snapshot/__main__/headless.bundle.js)
at process.<anonymous> (/snapshot/__main__/headless.bundle.js)
at process.emit (events.js:315:20)
at processEmit [as emit] (/snapshot/__main__/node_modules/signal-exit/index.js:161:32)
at processPromiseRejections (internal/process/promises.js:209:33)
at processTicksAndRejections (internal/process/task_queues.js:98:32)
Also manually configuring settings interactively via the command line using sdkmanager --settings before executing the download command still asks the user interactively, although data collection was enbaled or disabled via settings before.
We are fixing the issues you reported by providing additional CLI options to better serve automation workflows. We are planning to release a patch for SDK Manage which will include these fixes - ETA is within couple of weeks.
Meanwhile, please see below workaround for the issues you reported.
To workaround the login issue:
Use the GUI for the first time on the specific machine
On the login screen, check the “stay login” option
Complete the login process in SDKM
Exit SDKM GUI
Run SDKM using CLI, the “Stay login” option will be respected by the CLI.
To workaround the user data collection pop-up:
Run SDKM in GUI or CLI.
enable/disable usage data collection and continue
Exit SDKM
The selection is saved in SDKM configuration and will not be prompt again.
Ah and I discovered it is not possible to run it at root level already (docker container) it always requires a sudo password. Maybe if empty skip sudo or check if executing as root?
Currently I can work around it by supplying a fake password (as a root does not need a password).
I am running into another issue that some response file params do not work. For example when skipping any “postflash” activities sdkmanager it shows the option as “skipped” but is still waiting for the user to select.
Ah and I discovered it is not possible to run it at root level already (docker container) it always requires a sudo password. Maybe if empty skip sudo or check if executing as root? Currently I can work around it by supplying a fake password (as a root does not need a password).
Can you please clarify which process you executed as root? SDK manager should NOT be executed as root user.
I am running into another issue that some response file params do not work. For example when skipping any “postflash” activities sdkmanager it shows the option as “skipped” but is still waiting for the user to select
Please see attached a “response file” example of JetPack 4.4 with Jetson AGX Xavier which is working with SDK Manager version 1.3 - can you please check if it is working on your side? You will need to use the following command line:
I run sdkmanager as root (inside a docker container). But it works if I just use a fake sudo password as sudo never asks for one for root.
So far I only encountered the problem that I can not skip any install/postflash steps. I will retry it with your response ini probably tomorrow. But just to note: I’ve set post flash to skip already but maybe the response ini must be set completely, like yours, and not like I did via the args and the small ini I used?
I now tested it with your ini but it still stalls/asks the user to install or skip. In Attachments you’ll find the settings I used (as some stuff needed to be set). All executed as root user (inside a container).