Can you post/pm a script or some sort of log of the exact steps you ran (especially within the chroot). This is a reason I suggested a script might be useful.
I will try to replicate and fix. My feeling is that this all revolves around the user creation. Even those commands alone would be useful to replicate.
When you say “cannot enter the desktop”, do you mean the password is rejected or does it hang?
When you log in from a tty, I am assuming the password works, but you say you don’t get bash. What happens when you run /bin/bash from the tty?
What is shown under “Shell” when you run the “finger” command for the user you created?
After First of all thank you for your reply, I am here to re-create the image file, there is no recurring problem. It may be that I used incorrect instructions after using “enter_chroot.sh”, which caused this situation.
I used sdkmanager to download all the nano files, but how to install these in the image file. For example, cuda, tensorrt, cudnn. I thought I used enter_chroot.sh, then dpkg -i …, and it didn’t feel right
Possibly. What commands did you run within the chroot? Your problems seems to be related to user creation, which is why I asked about that part. Do you have a script you created at step 1, or the command you ran to create your user? I’m asking because Nvidia’s first boot scripts reset the default user so if you create one before those scripts run, you must use certain parameters to avoid it (eg. make a system user).
If you are using JetPack 4.3, you can use apt-get to install those packages from within the chroot. All many of their package names start with “nvidia”.
You will have to edit rootfs/etc/apt/sources.list.d/nvidia-l4t-apt-source.list to match the following for Nano:
deb https://repo.download.nvidia.com/jetson/common r32 main
deb https://repo.download.nvidia.com/jetson/t210 r32 main
To see what packages are available (edit: for better solution, see this post), run “apt list nvidia*” within the chroot (after apt update) like this
I believe nvidia-l4t-jetson-multimedia-api is the one you are looking for, but on my rootfs this was already installed. The OTA system is new. Somebody from nvidia should answer what packages provide those individual dependencies you need.
I did some tests myself, and it seems some packages are not prefixed by “nvidia…”.
Deepstream 4.0 can be installed within the chroot after setting up the sources like:
apt install deepstream-4.0
TensorRT seems to be “tensorrt” so:
apt install tensorrt
You can use “apt list” with wildcards as shown in the above post to search for more (as well as “apt search nvidia”). There is probably a more elegant way to list all the packages in a repo, but i’m unsure of it offhand (edit: there is, see post below). In any case these commands should allow you to pre-install these packages on the rootfs so they are already installed on your rootfs, avoiding having to use SDKM to flash the board or install those packages directly.
So, I just booted the system after installing deepstream, tensor_rt, and a bunch of other stuff. First boot scripts executed as intended and I’m left with a system that requires no updates and already has all the stuff I want installed. Neat. If you run into any difficulties, don’t hesitate to ask.
after that i ran apt update but its failed because my jetpack version is 4.2
Example note:(NVIDIA Jetson NANO/TX1 - Jetpack 4.2 [L4T 32.1.0]),(tensorflow-1.14)
So,what is the alternatives for jetpack 4.2 to install cuda-10.0,tensorrt-5.1,cudnn
apt update error:
Get:1 https://repo.download.nvidia.com/jetson/common r32 InRelease [2,541 B]
Get:2 https://repo.download.nvidia.com/jetson/t210 r32 InRelease [2,555 B]
Hit:3 http://ports.ubuntu.com/ubuntu-ports bionic InRelease
Hit:4 http://ports.ubuntu.com/ubuntu-ports bionic-updates InRelease
Hit:5 http://ports.ubuntu.com/ubuntu-ports bionic-backports InRelease
Hit:6 http://ports.ubuntu.com/ubuntu-ports bionic-security InRelease
Err:1 https://repo.download.nvidia.com/jetson/common r32 InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0D296FFB880FB004
Err:2 https://repo.download.nvidia.com/jetson/t210 r32 InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0D296FFB880FB004
Reading package lists... Done
W: GPG error: https://repo.download.nvidia.com/jetson/common r32 InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0D296FFB880FB004
E: The repository 'https://repo.download.nvidia.com/jetson/common r32 InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: GPG error: https://repo.download.nvidia.com/jetson/t210 r32 InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0D296FFB880FB004
E: The repository 'https://repo.download.nvidia.com/jetson/t210 r32 InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Nvidia’s online repos probably only work with 4.3 and up. Nvidia’s key is not installed on 4.2 rootfs and even if it was, it would probably break things.
Hello,mdegans,
Thank you for your support and detailed answers. The previous problem did occur because the account was created after enter_chroot.sh and then the image was created.
Due to my network limitation (source.list you provided), I cannot use it as a download source. I consider other ways. One more thing. Going back to the original question, this is not my original intention to make images. He and I have different expectations. I don’t know which scripts were executed after the system was first turned on. I want to be able to skip scripts used to create accounts or preset accounts. After burning the image, you can use Jetson nano directly. What should i do, could you give me some advice.and most of the time, I can not use Google
Creating a user will probably work if you use a uid and gid other than 1000. I recommend choosing uid < 1000 for a daemon or app you nee to run (adduser --system) and if you need any interactive user to login start at 1100 or something (adduser --gid 1100 --uid 1100). The Nvidia first boot should only reset uid/gid 1000. More details:
I am not sure what you mean by “network limitation”. It should work fine. If you’re not allowed to o connect the device to the internet for security reasons, you probably must use dpkg to install or a local apt mirror.
If you want to skip certain first boot things, most of Nvidia’s first boot scripts are in /etc/systemd and the unit files (.service) that execute them live in /etc/systemd/system
To my recollection, all start with nv. You may wish to review them and disable as appropriate to your use case.
Sure. I think I can manage that after I am done with the next version of the project I am working on. Anything specific you want me to cover? Just how to package your software and master a custom image with your software preinstalled?
Thanks mdegans very much. I want backup my image file jetson nano to another SDcard. I am looking forward to your video tutorial. I’m not very good at English so I hope you help !