No internet connection
  1. Home
  2. Technical Support

Unable to update 64bit pi to 2.4.0

By @printplaatreparatie
    2022-04-13 10:36:45.240Z

    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?

    Solved in post #2, click to view
    • 9 replies
    1. 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 the 64-bit check lines and then save and exit the file. The update should succeed at that point.

      Reply1 LikeSolution
      1. P@printplaatreparatie
          2022-04-13 15:15:22.510Z

          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).

          1. 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
            
            1. P@printplaatreparatie
                2022-04-13 21:08:29.106Z

                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.

                1. 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.

                  1. P@printplaatreparatie
                      2022-04-13 22:24:17.563Z
                      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.

                      1. 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 as root, 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 command sudo apt install git=2.35.1 (where 2.35.1 is whatever the latest version available is before 2.35.2).

                        1. P@printplaatreparatie
                            2022-04-14 20:00:48.230Z

                            Making the change as root worked, after doing the same for /opt/tinypilot. I'm on 2.4.0 now.

                            Thanks again Michael!

                            1. 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.