NVIDIA-AI-IOT / jetbot

An educational AI robot based on NVIDIA Jetson Nano.
MIT License
3.04k stars 1.03k forks source link

different images are not found / building of containers not possible #406

Closed Jonathan-hdbw closed 2 years ago

Jonathan-hdbw commented 3 years ago

When following the steps from the documentation, the following errors occur:

jonathan@jonathan-jetson:~/jetbot/docker$ ./enable.sh $HOME
JETBOT_BASE_IMAGE not found for 32.5.1.  Please manually set the JETBOT_BASE_IMAGE environment variable. (ie: export JETBOT_BASE_IMAGE=...)
Synchronizing state of docker.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable docker
Unable to find image 'jetbot/jetbot:display-0.4.3-32.5.1' locally
docker: Error response from daemon: manifest for jetbot/jetbot:display-0.4.3-32.5.1 not found: manifest unknown: manifest unknown.
See 'docker run --help'.
Unable to find image 'jetbot/jetbot:jupyter-0.4.3-32.5.1' locally
docker: Error response from daemon: manifest for jetbot/jetbot:jupyter-0.4.3-32.5.1 not found: manifest unknown: manifest unknown.
See 'docker run --help'.

Also when trying to run docker/build.sh, only the following error appears:

jonathan@jonathan-jetson:~/jetbot/docker$ ./build.sh $HOME
invalid argument "/jetbot:base--" for "-t, --tag" flag: invalid reference format
See 'docker build --help'.
./build.sh: line 2: cd: models: No such file or directory
./build.sh: line 3: cd: display: No such file or directory
./build.sh: line 4: cd: jupyter: No such file or directory
./build.sh: line 5: cd: camera: No such file or directory

How to fix the error?

Srafington commented 3 years ago

I have also had this issue, and decided to use a pre-built image. However that had its own issues, as it would seem that the most recent image (for the Nano 2GB) is bad, as the Jetson cannot boot from it. Using the previous prebuilt image did work, however

Hoehlenbaer commented 3 years ago

Hi together, For me it looks like the files on Github as well as the files in the Jetbot folder on the robot have the wrong version. All docker files are still referencing L4T 32.4.3, while Jetbot version 0.43 has been built using L4T 32.5.1. In addition the configure.sh script can't distinguish between 32.5.1 and 32.5.0, so it will never find a matching base image (as it looks like there's no pytorch-32.5.1 image). Can you provide the right files on Github? I don't want to modify the build script by myself, because I don't know which versions the python libraries need to be. In addition it might be helpful to build the camera and model images on the SD image as well. In this case one could easily run the already existing images without the need to go to the whole build process.

SatyaSudheer commented 3 years ago

JETBOT_BASE_IMAGE not found for 32.5.1. Please manually set the JETBOT_BASE_IMAGE environment variable. (ie: export JETBOT_BASE_IMAGE=...) Synchronizing state of docker.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable docker Unable to find image 'jetbot/jetbot:display-0.4.3-32.5.1' locally docker: Error response from daemon: manifest for jetbot/jetbot:display-0.4.3-32.5.1 not found: manifest unknown: manifest unknown. See 'docker run --help'. Unable to find image 'jetbot/jetbot:jupyter-0.4.3-32.5.1' locally docker: Error response from daemon: manifest for jetbot/jetbot:jupyter-0.4.3-32.5.1 not found: manifest unknown: manifest unknown. See 'docker run --help'.

Can someone help me, what base image I need to use.

Taitan2010 commented 3 years ago

I am facing the same issue with you. The error message commented by Mr.SatyaSudheer is displayed.

Considering the following insight, does the installation of the following 32.4.3 drivers effective? https://developer.nvidia.com/embedded/linux-tegra-r32.4.3

Hi together, For me it looks like the files on Github as well as the files in the Jetbot folder on the robot have the wrong version. All docker files are still referencing L4T 32.4.3, while Jetbot version 0.43 has been built using L4T 32.5.1. In addition the configure.sh script can't distinguish between 32.5.1 and 32.5.0, so it will never find a matching base image (as it looks like there's no pytorch-32.5.1 image). Can you provide the right files on Github? I don't want to modify the build script by myself, because I don't know which versions the python libraries need to be. In addition it might be helpful to build the camera and model images on the SD image as well. In this case one could easily run the already existing images without the need to go to the whole build process.

Taitan2010 commented 3 years ago

Or can we solve the problems if we replace the following programs to the scripts on the following URL?

docker/base/build.sh docker/configure.sh

https://github.com/NVIDIA-AI-IOT/jetbot/commit/ea7c7cdf0df8ba05ec56d3bf5c4d368cd43c3012

bkircher67 commented 3 years ago

Hello,

after manipulating the configure.sh file I was able to experiment with my jetbot.

export L4T_VERSION="32.5.0"

if [[ $L4T_VERSION = "32.4.3" ]]
then
        JETBOT_BASE_IMAGE=nvcr.io/nvidia/l4t-pytorch:r32.4.3-pth1.6-py3
elif [[ "$L4T_VERSION" == "32.4.4" ]]
then
        JETBOT_BASE_IMAGE=nvcr.io/nvidia/l4t-pytorch:r32.4.4-pth1.6-py3
elif [[ "$L4T_VERSION" == "32.5.0" ]]
then
        JETBOT_BASE_IMAGE=nvcr.io/nvidia/l4t-pytorch:r32.5.0-pth1.6-py3
else
        echo "JETBOT_BASE_IMAGE not found for ${L4T_VERSION}.  Please manually set the JETBOT_BASE_IMAGE environment variable. (ie: export JETBOT_BASE_IMAGE=...)"
fi

My experience was that L4T 32.5.1 didn't work at all - so I faked it to 32.5.0

KR Bernd

Taitan2010 commented 3 years ago

Dear Bernd Thank you for your comment. If we write the above program somewhere, does it mean that Jetson Nano of 2GB Type can also be used? If so, where should it be written?

Taitan2010 commented 3 years ago

Hello,

after manipulating the configure.sh file I was able to experiment with my jetbot.

export L4T_VERSION="32.5.0"

if [[ $L4T_VERSION = "32.4.3" ]]
then
        JETBOT_BASE_IMAGE=nvcr.io/nvidia/l4t-pytorch:r32.4.3-pth1.6-py3
elif [[ "$L4T_VERSION" == "32.4.4" ]]
then
        JETBOT_BASE_IMAGE=nvcr.io/nvidia/l4t-pytorch:r32.4.4-pth1.6-py3
elif [[ "$L4T_VERSION" == "32.5.0" ]]
then
        JETBOT_BASE_IMAGE=nvcr.io/nvidia/l4t-pytorch:r32.5.0-pth1.6-py3
else
        echo "JETBOT_BASE_IMAGE not found for ${L4T_VERSION}.  Please manually set the JETBOT_BASE_IMAGE environment variable. (ie: export JETBOT_BASE_IMAGE=...)"
fi

My experience was that L4T 32.5.1 didn't work at all - so I faked it to 32.5.0

KR Bernd

Dear Bernd Thank you for your comment. If we write the above program somewhere, does it mean that Jetson Nano of 2GB Type can also be used? If so, where should it be written?

bkircher67 commented 3 years ago

Hello Taitan2010,

sorry, as I don't have the 2GB version I cannot guaranty that my workaround works with this hardware (I'm using the original 4GB version).

But according to nvidia they say that:

and

Developer preview support for Jetson TX2 NX module Developer preview of pre-built Real-Time Kernel package https://developer.nvidia.com/jetson_linux_driver_package_release_notes_r32.5.1_ga.pdf for Jetson AGX Xavier

So basically it should work.

KR Bernd

Am 2021-05-12 um 13:47 schrieb Taitan2010 @.***>:

Dear Bernd Thank you for your comment. If we write the above program somewhere, does it mean that Jetson Nano of 2GB Type can also be used? If so, where should it be written?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/NVIDIA-AI-IOT/jetbot/issues/406#issuecomment-839706214, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEPDNW7SFGZEWBYVOBPQ6LTNJTELANCNFSM4ZVPX67Q.

nikhilnnk commented 3 years ago

Use SD card image for docker given in the link . Note that normal software installation of jetson nano should be done before going to the docker image file booting. Hope it helps :)

santaimpersonator commented 3 years ago

The workaround from @bkircher67 works with the latest 2GB Jetson Nano pre-built image: jetbot-043_nano-2gb-jp45.zip on jetbot.org.

In the bash history of the pre-built image nvcr.io/ea-linux4tegra/l4t-pytorch:r32.5.0-pth1.7-py3 is used, but nvcr.io/nvidia/l4t-pytorch:r32.5.0-pth1.6-py3 is compatible between both boards.

santaimpersonator commented 3 years ago

@Srafington You will need to boot the board with the blank/plain image (jetson-nano-2gb-jp451-sd-card-image.zip) first. The initial setup configuration will reflash the bootloader, which will allow the board to use the new pre-built image.

See the call out at the bottom of Step 1 here: http://jetbot.org/master/software_setup/sd_card.html

vnguyen13 commented 1 year ago

Hello,

after manipulating the configure.sh file I was able to experiment with my jetbot.

export L4T_VERSION="32.5.0"

if [[ $L4T_VERSION = "32.4.3" ]]
then
        JETBOT_BASE_IMAGE=nvcr.io/nvidia/l4t-pytorch:r32.4.3-pth1.6-py3
elif [[ "$L4T_VERSION" == "32.4.4" ]]
then
        JETBOT_BASE_IMAGE=nvcr.io/nvidia/l4t-pytorch:r32.4.4-pth1.6-py3
elif [[ "$L4T_VERSION" == "32.5.0" ]]
then
        JETBOT_BASE_IMAGE=nvcr.io/nvidia/l4t-pytorch:r32.5.0-pth1.6-py3
else
        echo "JETBOT_BASE_IMAGE not found for ${L4T_VERSION}.  Please manually set the JETBOT_BASE_IMAGE environment variable. (ie: export JETBOT_BASE_IMAGE=...)"
fi

My experience was that L4T 32.5.1 didn't work at all - so I faked it to 32.5.0

KR Bernd

This worked for me. Thank you!

rockbabyg commented 11 months ago

Hello,

after manipulating the configure.sh file I was able to experiment with my jetbot.

export L4T_VERSION="32.5.0"

if [[ $L4T_VERSION = "32.4.3" ]]
then
        JETBOT_BASE_IMAGE=nvcr.io/nvidia/l4t-pytorch:r32.4.3-pth1.6-py3
elif [[ "$L4T_VERSION" == "32.4.4" ]]
then
        JETBOT_BASE_IMAGE=nvcr.io/nvidia/l4t-pytorch:r32.4.4-pth1.6-py3
elif [[ "$L4T_VERSION" == "32.5.0" ]]
then
        JETBOT_BASE_IMAGE=nvcr.io/nvidia/l4t-pytorch:r32.5.0-pth1.6-py3
else
        echo "JETBOT_BASE_IMAGE not found for ${L4T_VERSION}.  Please manually set the JETBOT_BASE_IMAGE environment variable. (ie: export JETBOT_BASE_IMAGE=...)"
fi

My experience was that L4T 32.5.1 didn't work at all - so I faked it to 32.5.0

KR Bernd

It's working, Thank you.