Nv-l4t-bootloader-config.service fails on Nvidia Jetson Nano

/opt/nvidia/l4t-bootloader-config/nv-l4t-bootloader-config.service Fails on nvidia jetson nano with Ubuntu 18.04.5 LTS and kernel 4.9.201-tegra, because it’s a python2 script, but at the start of the file it uses #!/usr/bin/python interpreter, which now defaults to python3. It’s as easy as changing the shebang, so it should be an easy fix.

If this is default python issue, why there is no other user reporting this? Do you modify anything here?

What kind of error log is it?

I don’t think I modified anything regarding python from the default installation, i just kept upgrading the system, and I’m guessing that ubuntu changed python from python2 to python3 since python2 reached end of life.
The systemd service that I specified fails with an invalid print statement, since python2 uses print “hello” while python3 uses print(“hello”). I reported it so that other users can check and see if it’s broken for them as well. Not everybody checks their failed systemd services, so that might be why i’m the first to report.

Could you share that invalid print log? I would like to check it on my device too.

I fixed the script by adding python2 in the shebang and I’m not home so I can’t reproduce the error right now. Check on your system if you have an nvidia jetson nano. I’ll post an update when I get home.

I checked, but I don’t see any error. That is why to confirm again with you.

The that fails is: /usr/sbin/l4t_payload_updater_t210. This file uses #!/usr/bin/python. This is the output of systemctl status nv-l4t-bootloader-config.service

● nv-l4t-bootloader-config.service - Configure QSPI bootloader service
   Loaded: loaded (/opt/nvidia/l4t-bootloader-config/nv-l4t-bootloader-config.service; bad; vendor preset: enabled)
   Active: failed (Result: exit-code) since Tue 2021-05-11 16:39:58 EDT; 4s ago
  Process: 24262 ExecStart=/opt/nvidia/l4t-bootloader-config/nv-l4t-bootloader-config.sh (code=exited, status=1/FAILURE)
 Main PID: 24262 (code=exited, status=1/FAILURE)

May 11 16:39:57 jetson systemd[1]: Started Configure QSPI bootloader service.
May 11 16:39:57 jetson nv-l4t-bootloader-config.sh[24262]: 3448-300---1--jetson-nano-devkit-mmcblk0p1
May 11 16:39:58 jetson nv-l4t-bootloader-config.sh[24262]:   File "/usr/sbin/l4t_payload_updater_t210", line 65
May 11 16:39:58 jetson nv-l4t-bootloader-config.sh[24262]:     print "BLOB PATH:"
May 11 16:39:58 jetson nv-l4t-bootloader-config.sh[24262]:                      ^
May 11 16:39:58 jetson nv-l4t-bootloader-config.sh[24262]: SyntaxError: Missing parentheses in call to 'print'. Did you mean print("BLOB PATH:")?
May 11 16:39:58 jetson nv-l4t-bootloader-config.sh[24262]: Error. Cannot get valid version information
May 11 16:39:58 jetson nv-l4t-bootloader-config.sh[24262]: Exiting ...
May 11 16:39:58 jetson systemd[1]: nv-l4t-bootloader-config.service: Main process exited, code=exited, status=1/FAILURE
May 11 16:39:58 jetson systemd[1]: nv-l4t-bootloader-config.service: Failed with result 'exit-code'.


We still cannot reproduce your issue. Even after running apt get upgrade on our device, the python version is still 2.7 on our side. It looks like you modified the python version accidentally but you didn’t notice?

Seems like I changed it on my end and just forgot. Sorry for the bother just wanted to make sure that such a stupid error wasn’t present on the production build.
Although I would recommend changing it to #!/usr/bin/python2 since Python2 reached its EOL, so a lot of people will probably change the default python binary. It’s up to you of course and I can see why you would keep it that way, if the user changes system configurations it’s their fault if something breaks in the end.

Thanks for your time

I would like to clarify that we have plan to upgrade python version. However, such change will not be ready immediately but usually be ready in specific jetpack release.

Also, sorry that if my word makes you think I am blaming you. I am not a native English speaker so the words may be not precise. What I want to know figure out here is what is the reason your python version is changed. What came to my mind is probably you changed the python version manually. It is okay to do so and it makes sense. I will inform internal team for such case.

Thanks for reporting this issue.

Of course I understand, and your words didn’t make it seem like you were blaming me don’t worry, I’m not a native English speaker as well so I get what you are saying. Thanks again for your help. I think that we can close the topic now but I can’t figure out how to do that ahahahah.

1 Like

It is fine. Actually there is no button to really close a topic but just a solution button.