Raspberry Pi 5 + Octoprint

They gave me a Raspberry Pi 5.
Yesterday I installed Octoprint using Raspberry Pi Imager.

When I connect a monitor to the Raspberry I find this message:

Raspberry Pi 5 - 8GB
bootloader: 30de0ba5 2023/10/30
board: d04170 78f91de2 d8:3a:dd:d6:f9:a0
boot: mode USB-MSD 4 order f41 retry 0/128 restart 2/-1
SD: card detected 00275048534436344760da99130c0178
part: 0 mbr [0x0c:00002000 0x83:00082000 0x00:00000000 0x00:00000000]
power supply: RPi USB-PD 5000 mA CC1 PMIC: normal reset 0x0 usb_over_current=0
net:down ip:0.0.0.0 sn:0.0.0.0 gw:0.0.0.0
tftp: 0.0.0.0 00:00:00:00:00:00
display: DISP: HDMI HPD=1 EDID=ok #2 DISP1: HPD=0 EDID=none #0
Update the OS or set os_check=0 in config.txt to skip this check.
Trying partition: 0
type: 32 lba: 8192 'mkfs.fat'' boot
clusters 130554 (4)
Trying partition: 0
clusters 130554 (4)
type: 32 lba: 8192 'mkfs.fat'' boot
Read config.txt bytes 2127 hnd 0x6384
usb_max_current_enable default 0 max-current 5000
Device-tree file "bcm2712-rpi-5-b.dtb" not found.
The installed operating system (OS) does not indicate support for Raspberry Pi 5
Update the OS or set os_check=0 in config.txt to skip this check.
Boot mode: USB-MSD (04) order f
USB2 [1] 000206e1 connected
USB2 [1] 00200603 connected enabled
USB2 root HUB port 1 init
XHC-CMD err: 4 type: 11 [01:00] 0.00 000000:01

Specifically:

The installed operating system (OS) does not indicate support for Raspberry Pi 5

Why is this happening? How can I run Octiprint on my Raspberry Pi 5?

1 Like

OctoPi does not support the Raspberry Pi 5 yet. It does say on the download page, and if you select the Pi 5 (in the latest version of the imager) OctoPi does not show up.

I've written this comment a few times now, so a search of the forums should give you more details - but you'll need to install OctoPrint manually on a Raspberry Pi OS image. I'd recommend using OctoPrint_deploy - details on OctoPrints download page.

3 Likes

Hi there.
First of all, thank you very much for responding :slight_smile:

It's not clear to me when you comment that:

but you'll need to install OctoPrint manually on a Raspberry Pi OS image. I'd recommend using OctoPrint_deploy - details on OctoPrints download page.

Will doing manual installation using OctoPrint_deploy work correctly over Raspberry Pi 5?

Sorry if I haven't understood something, but this is the first time I've worked with Raspberry Pi + Octoprint, and that's why I have doubts.

Thank you very much in advance.

OctoPi - the OS image with OctoPrint pre installed - is not compatible with RPi 5

OctoPrint - the actual 3D print host software - works anywhere that runs Python, so you can install it yourself on normal RPi OS.

Yes, my recommendation will work.

1 Like

There are nightly builds of OctoPi using bookwork, but as they are nightly they haven't been tested by many people yet.

https://unofficialpi.org/Distros/OctoPi/nightly/?C=M;O=D

The process for these nightly builds is not clear to me. Could you help me?

Because if it is "simply" downloading and testing on my raspberry pi 5, I would have no problem with it.

Finally, I have installed the Operating System for Raspberry Pi 5.
I have installed octoprint_deploy, and I have connectivity to my printer and can manage it.

you basically download the zip and use pi imager's custom option to flash it to SD card.

@jneilliii
Finally, installing the OS for Raspberry Pi, and then Octioprint, everything is working perfectly on my Raspberry Pi 5.

Well... I've been using my Raspberry Pi 5 + Octoprint all day and.... very very happy.

I am already at the point where I have added many plugins.
I have customized the Theme using Themeify.
And a thousand more things.

Now, I have a question: how can I make a backup copy of this, so that "if there is a problem" or something breaks, I can start from this point?

I see how Pluggins:

  • Backup Scheduler: the information provided is minimal, and from the screenshot, they look like "local copies" of the Raspberry Pi 5 SD card itself?
  • Google Drive Backup: I see that it transfers information to Google Drive, but it is not clear to me if it copies everything (and if I format the SD card and load the copy I would have everything) or how.

Any other Backup method?
I was even thinking that since I have an Operating System, I should make a bash file, run it every X amount of time, and use GIT to pull a version of the software to a Bitbucket repository or something like that.

I await your recommendation, as professional as possible.

Thank you so much.

I would recommend UI Customizer over this one.

Use the built in backup method in OctoPrint's settings and download the zip file that is created. Those plugins (both examples mine) are for regularly scheduling a backup to be created and uploading a backup to Google Drive respectfully.

combination of scheduler plugin and the built in event manager you could achieve git upload of your backup.

1 Like

Initially I tried both, and I disabled UI Customizer due to incompatibilities with Themeify.

Now, after your comment, I just turned UI Customize back on (I turned off Themeify) and spent more time on it.
I have to say that the appearance is very good, and I like the plugin.
Thank you for insisting on using it.

I just enabled OctoPrint backups.
I didn't know that the Software itself included it.
Thanks for the clarification.

Now, I'm setting up Google Drive Backup.
I have done all the steps in the documentation (created the Oauth App, downloaded the credentials JSON file), etc.

But when I search for the JSON file from OctoPrint and attach it, it does nothing.

Since I am a web developer, I have inspected and seen that in Network, and it is happening that:

  • The /api/plugin/googledrivebackup service is called
  • A 403 FORBIDDEN returns us
  • I see the input payload, and I see it correct.
  • And the service's response is: Insufficient rights

Do you know why I don't have permissions to run this?
Is it because the Oauth Application has just been created in my Google Developer panel, and there is no authorization from Google? Do you have any other ideas?

Thank you!!!

No idea why you're having issues there unless you didn't add your email address to the test users in your app as documented.

I have a USB SD (and microSD) card adapter. I use this on my Windows desktop to flash the initial image and I use it on my Raspberry Pi along with rpi-clone to make a copy of the entire SD card.

You can also try raspiBackup.

Note: rpi-clone hasn't been updated in quite a while, https://github.com/framps/rpi-clone has a few fixes.

Thanks for your answer!!

The truth is that thinking about it carefully, I think I'm more interested in making "complete" copies of the SD card, and saving them somewhere.

So, if something happens tomorrow or something breaks "it's as simple" as taking that copy, putting it on a new SD card and "it would be working."

This is correct?
Or if I take a copy of a card, put it in another SD card, put that card in the Raspberry Pi, is it not going to work?

If I'm missing something, tell me so I can understand better :slight_smile:

Thank you

If you create a full image backup of the card then yes, that can be restored to new card and powered on and will have all your stuff in it. In order to do that you typically have to have another device to save the image file to and I believe in most cases that system has to be powered off, but I'm no linux guru on that front. I've used win32disk imager in the past for this.

rpi-clone makes a "complete" copy of the running system so if the source SD card fails (gets corrupted), just swap in the copy and reboot.

The copy is made using rsync so the first time takes a while but after that it goes pretty quick.

1 Like

Regarding what you mentioned about the need for another device and such, by having an OS installed and being able to work on it freely, I can perfectly make a backup copy of the contents of the card from the shell, and launch it through SCP to an online server, or using Google Drive's own commands through its API, backing up Google Drive itself, right?

Okay, well I'm going to take a look at rpi-clone.
To see how it goes and how it works.

Also, in another thread, I am talking about the Google Drive Backup Plugin not working for me.

So another alternative is going to be necessary.

I'm going to see how rpi-clone works

I finally opted for the rclone solution.

I mount Google Drive on the Raspberry, and I can make copies of things directly.

Everything works perfectly fine for me with rclone (the unit mounts fine, I can see files, I see "hot" updates when doing things in the cloud and they are reflected on the Rasberry thanks to the daemon (flag --daemon of the mount command).

I just have one problem. When restarting the raspberry, the unit does not automount.

Do you know why this happens?

I have even tried:

  • Create an SH file with the execution command:
    rclone mount --uid XXXX --gid YYYY --daemon --vfs-cache-mode full GOOGLE_DRIVE_UNIT:/FOLDER_PATH_IN_DRIVE/ /PATH_LOCAL_WHERE_CONNECT_THE_UNIT
  • Create a crontab indicating that the @reboot execute the SH file

But it never runs (and if I manually run the sh file, the drive mounts perfectly).

Does anyone know why the unit doesn't automount using rclone?

Well, finally, it seems that I have managed to get the unit to mount when I restart the Raspberry.

What I have done is:

  • I have a sh file stored in a path on my Raspberry, which executes the "mount Google Drive drive" line
rclone mount --uid XXXX --gid YYYY --daemon --vfs-cache-mode full GOOGLE_DRIVE_DRIVE:/FOLDER_PATH_IN_DRIVE/ /PATH_LOCAL_WHERE_CONNECT_THE_DRIVE

That file is in path: /home/miUsuario/GoogleDrive/Config/rclone_mount.sh

  • I have created a crontab at the local user level (the one logged in on the raspberry)
crontab -e
  • Within this file I have included the line
@reboot sh /home/myUser/GoogleDrive/Config/rclone_mount.sh

Which indicates that:

  • @reboot: when you reboot
  • sh /home/miUsuario/GoogleDrive/Config/rclone_mount.sh: Run this file

And with this, it is working for me. I have restarted the raspberry multiple times and it is still mounted.

It seems that not all versions of cron support @reboot.

For this reason, I leave the source of the original information, since it gives many more alternatives (which I will try).
And one of them, which seems more serious and more professional to me (the last one of all), is to use systemd

I hope it is worth a contribution to anyone else.