How I got Jetpack flashed to the device

Thanks to the approach in this gist, I found a way to get it working with Jetpack 5.1.1, using the Ubuntu 20.04 docker, running from Ubuntu 22.04. I’m sharing my notes here:

/usr/bin/sdkmanager-docker:

#!/bin/bash

docker run -it --rm --privileged --net=host \
  --volume /dev/bus/usb:/dev/bus/usb \
  --volume /dev:/dev \
  --volume /home/vincent/sdkmanager:/home/nvidia \
  --name sdkmanager sdkmanager-fixed $@

To get losetup to work, the /dev:/dev was required. I choose another name, as I had also sdkmanager installed (using the “fake 20.04” trick).

./Dockerfile:

FROM sdkmanager
RUN sudo apt update
RUN sudo apt upgrade -y
RUN sudo apt install -y binutils xxd lz4 libxml2-utils
ENTRYPOINT [ "/usr/bin/sdkmanager" ]

Finally they include xxd, but now lz4 and libxml2-utils are missing. I added an upgrade, but that’s optional.

./build.sh

#!/bin/bash

cat Dockerfile | sudo docker build -t sdkmanager-fixed -

./flash.sh

#!/bin/bash

sudo sdkmanager-docker --cli install --logintype devzone --product Jetson --version 5.1.1 --targetos Linux --target JETSON_AGX_XAVIER_TARGETS --flash all --datacollection disable --license accept @0

This covers P2888-0001. I have the P2888-0004 (32GB), but it works on all three version with this variable. I assume that

Steps:

  • choose the first option (no username or password) when flashing
  • wait till flashed.
  • the device should have finished the installation of Ubuntu and be in normal operation work - I foudn this not to be working.
  • the device /dev/ttyACM0 should exist. If this does not work (ttyACM0 not there), restart the device (turn off and turn on again).
  • assumption: device not reachable via nc -z -vv -w 5 192.168.55.1 22 yet. If it works, then Ubuntu-install was finished for you.
  • log in via minicom: sudo minicom -D /dev/ttyACM0 -8 -b 115200.
  • you should see Ubuntu setup. If not, exit sdkmanager and flash again
  • finish the Ubuntu setup.
    • Needs confirmation: I selected eth0 for DHCP, wait, and then choose not to setup right now. Not sure if this was useful, but I had DHCP on eth0 when finished.
  • check if the device is reachable via USB: nc -z -vv -w 5 192.168.55.1 22. If not, then something else is wrong for you.
  • go back to sdk-manager. Continue the installation. Use:
    • network 192.168.55.1
    • username nvidia (maybe your own user works also?)
    • password nvidia
  • it should now install all the packages. If not, silently weep

Assume that the package is not maintained well, and fixes are added at random. So if you are installing Jetpack other than 5.1.1, all of the above probably does not work. One approach might be to install 5.1.1 with the above instructions, and then upgrade.

When I did an “apt update && apt upgrade” I saw a quite a large list of packages that could be autoremoved, but these looked important (opencv-related) - probably another badly configured part, so best to just leave it.

Thanks for your sharing.

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