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:
#!/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).
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
libxml2-utils are missing. I added an upgrade, but that’s optional.
#!/bin/bash cat Dockerfile | sudo docker build -t sdkmanager-fixed -
#!/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
- 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/ttyACM0should 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 22yet. 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:
nvidia(maybe your own user works also?)
- 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.