Hi, I'm trying to update the TinyPilot pro software on my Pi 4 (8gb) running Ubuntu 20.04.4 LTS (64 bit).
However I get the following error message: 64-bit Raspberry Pi OS is not yet supported. Please use the 32-bit version of Raspberry Pi OS.
++ uname -m
+ [[ aarch64 == \a\a\r\c\h\6\4 ]]
+ echo '64-bit Raspberry Pi OS is not yet supported.'
64-bit Raspberry Pi OS is not yet supported.
+ echo 'Please use the 32-bit version of Raspberry Pi OS.'
Please use the 32-bit version of Raspberry Pi OS.
+ exit 1
2022-04-13 12:19:19.361 __main__ ERROR Update process terminated with failing exit code: Command '['sudo', '/opt/tinypilot-privileged/update']' returned non-zero
The current version 2.3.2-9-g3cbce8e is running just fine. Looking trough other posts and issues on Github, I think it should be supported. Is the error message valid and should I wait for another update that supports 64bit operating systems or is there something wrong?
- Michael Lynch @michael2022-04-13 12:24:35.779Z
Sorry about that! I didn't realize any TinyPilot Pro users were running it on Ubuntu.
If 2.3.2 is working on Ubuntu 64-bit, then 2.4.0 should work as well. We added in that check because someone reported that TinyPilot failed on 64-bit Raspbian, so we wanted to save users the confusion, but it looks like the check was too broad.
I just created a fix but it won't be in an official TinyPilot Pro release for a few weeks.
If you want to update before then, you can delete those lines from your
quick-install
script. You'll need to SSH into your device and run the following command:sudo nano /opt/tinypilot-privileged/update
Before the line that says
./quick-install
, add the following line:nano quick-install
Then save the file and exit (Ctrl+O, Ctrl+X).
Finally, run the update script manually:
/opt/tinypilot-privileged/update
After it downloads the
quick-install
script, it will open it for editing. Delete the64-bit
check lines and then save and exit the file. The update should succeed at that point.- P@printplaatreparatie
Thanks for the quick fix and clear instructions.
The update progress went a whole lot further, but now it gives me this error:
TASK [ansible-role-ustreamer : get uStreamer repo] ********************************************************************* fatal: [localhost]: FAILED! => {"changed": false, "msg": "Failed to set a new url https://github.com/tiny-pilot/ustreamer.git for origin: fatal: unsafe repository ('/opt/ustreamer' is owned by someone else)\nTo add an exception for this directory, call:\n\n\tgit config --global --add safe.directory /opt/ustreamer\n"}
I have not made any changes in the /opt folder other than the 'quick-install' line that you proposed. It looks like a completely different error to me, should I open another thread for this question, or is it related?
If anyone is interested in why I'm running Ubuntu: It makes it easier to use ZFS as filesystem on the SD card to prevent corruption (with copies=2).
- Michael Lynch @michael2022-04-13 20:41:16.089Z
It looks like this is related to the git security fix that came out today. Can you try applying the fix it suggests in the error message?
git config --global --add safe.directory /opt/ustreamer
- P@printplaatreparatie
Sorry, forgot to tell I tried. It makes no difference. I'm taking a couple days off, so I'll try again in a week or so, when I have more time to dive into it. Thanks again, I'll mark the first answer as the solution, as it indeed solves the initial problem I had.
- Michael Lynch @michael2022-04-13 21:33:01.219Z
Hmm, you could also try just moving the directory (
sudo mv /opt/ustreamer /opt/ustreamer.old
). The update process will rebuild uStreamer from scratch when the/opt/ustreamer
is not present.- P@printplaatreparatie
fatal: [localhost]: FAILED! => {"changed": false, "cmd": "/usr/bin/git ls-remote origin -h refs/heads/v3.26", "msg": "fatal: 'origin' does not appear to be a git repository\nfatal: Could not read from remote repository.\n\nPlease make sure you have the correct access rights\nand the repository exists.", "rc": 128, "stderr": "fatal: 'origin' does not appear to be a git repository\nfatal: Could not read from remote repository.\n\nPlease make sure you have the correct access rights\nand the repository exists.\n", "stderr_lines": ["fatal: 'origin' does not appear to be a git repository", "fatal: Could not read from remote repository.", "", "Please make sure you have the correct access rights", "and the repository exists."], "stdout": "", "stdout_lines": []}
After retrying the same error as before about ownership reappears.
Sorry for just dumping the error message without any investigation, but I need to go to bed now.
- Michael Lynch @michael2022-04-14 18:24:26.948Z
Hmm, I'm not able to repro this on Raspbian, but two other ideas:
You can try running the suggested command again as root, so
sudo git config --global --add safe.directory /opt/ustreamer
. I think the issue is that the upgrade process runs asroot
, but when you execute the command as the non-root user, it only changes config for the logged in user, so it doesn't impact the behavior during the upgrade process.If that doesn't work, you can try downgrading to a previous version of git. You can run
apt list -a git
and it should show you a list of available git packages. If you see a version below v2.35.2, which introduces this change in behavior, you can downgrade with a commandsudo apt install git=2.35.1
(where 2.35.1 is whatever the latest version available is before 2.35.2).- P@printplaatreparatie
Making the change as root worked, after doing the same for /opt/tinypilot. I'm on 2.4.0 now.
Thanks again Michael!
- Michael Lynch @michael2022-04-14 20:12:01.018Z
Glad it worked!
And thanks for reporting this. It probably won't happen on Raspbian for a few months (fingers crossed) since their apt packages are slower to update, but it's giving us a valuable heads up to switch to a less precarious update mechanism.