SDKManager non-interactive download/install not working

Hi everyone!

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.

Best regards,

Markus

1 Like

FYI: Currently I work around it by creating a container pre-answering those questions and commiting the container as the final image to be used.

BR,

Markus

Thanks Markus,

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:

  1. Use the GUI for the first time on the specific machine
  2. On the login screen, check the “stay login” option
  3. Complete the login process in SDKM
  4. Exit SDKM GUI
  5. Run SDKM using CLI, the “Stay login” option will be respected by the CLI.

To workaround the user data collection pop-up:

  1. Run SDKM in GUI or CLI.
  2. enable/disable usage data collection and continue
  3. Exit SDKM
  4. The selection is saved in SDKM configuration and will not be prompt again.
1 Like

@asahar

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.

[client_arguments]
[post-flash-settings]
postFlash = skip

BR,

Markus

Thanks Markus,

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.

See https://docs.nvidia.com/sdk-manager/docker-containers/index.html for more information on how to use SDK Manager in Docker container.

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:

`sdkmanager --cli install --responsefile ./jetpack_response_skip.ini --exitonfinish --version 4.4 --targetos Linux --target P2888-0001 --additionalsdk DeepStream --product Jetson

jetpack_response_skip.ini.txt (4.2 KB)

Thanks asahr.

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?

BR,

Markus

Hi @asahar ,

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).

jetpack_response_skip.ini.txt (4.2 KB)

sdkmanager --exitonfinish --license accept --offline --cli install --responsefile jetpack_response_skip.ini.txt

BR,

Markus