I disagree. The OS doesn’t run a mainline kernel, and the Raspberry Pi devs recommend a clean slate on OS upgrades. Granted, they do some trickery for performance with their Zero (not 2) line, using armhf instead of the slower armel, but this doesn’t excuse the fact that Raspberry Pi OS is so brittle. The builds are also still on 32-bit, even though every Pi since 3B can run 64-bit OSes.
I just run Debian on mine. Can’t be assed to clean flash my devices each major update.
The SOC also isn’t fully open, so you won’t get top tier performance with a purely FOSS stack. I push the limits on mine (Retropie mostly), so using their OS is the better bet (I use the one shipped by Retropie, which is super old).
I actually kinda hate the Raspberry Pi because of how closed it is. It’s gotten a bit better over the years, but the Pi 5 took a big step back. But unfortunately, its competitors aren’t much better, so I still use my RPis, but I probably won’t buy more.
I’m also not a fan of Debian in general, so if I switched, I would probably use openSUSE or Arch instead (I tried Arch, but it had issues syncing to disk after updates; they fixed that, but it shows that other distros will be a bit wonky). Raspbian works, so I stick with it.
That’s very fair. Everyone has a different use for Pi’s, and I just happen to favor long-lived devices that can be updated easily. I wish more of the pi internals were upstreamed too.
My frustration with Raspberry Pi OS is that the packages available were constantly out of date. Some were 2 to 3 years out of date.
I eventually started using Alpine linux on my Pi boards and have been happy since then. Now I can use the latest Docker and Podman packages without manually adding new repositories.
If I didn’t prefer Alpine’s minimal approach, I would have probably gone with Debian because of it’s history in stability.
I can appreciate that about Debian. Common tools and stability can be both convinient and reliable. Learning linux is already overwhelming with choices.
Even though I use Alpine for all my Pi boards and laptop, I keep a live usb partition of Linux Mint Debian Edition as my emergency backup. It just works.
I haven’t tried arch at all. I used Linux Mint for a year, LMDE for a year and only really started working with command line since last December. I think I chose to try Alpine because I wanted my web facing devices to have the least amount of software installed. Security-wise it made sense to me to have less surface area to exploit.
It took a bit extra effort for me to learn how to use OpenRC as the init system. As well as learning Linux from a bare bones linux perspective.
I actually found using Busy-box Ash interesting to work with and that’s the only shell I currently use. I even wrote a whole script around Rsync in a POSIX friendly way because I liked the idea portable scripting.
If you’re interested, I can send you a link that contains the setup notes for my server. It’s about 85% of my setup process, the rest being some files that are mostly customization that I rsync into place towards the end of the setup process. That can give you an idea of what Alpine on ARM is like.
Thanks. No need for the setup notes (but thanks for the kind offer), it was more about the experience, but I think you’ve already answered my question with less surface area (I do have 1 Pi that’s internet facing for Radicale)
Have you looked at Ansible? That might also cover what you’re trying to do.
This is probably a hot take, but:
I disagree. The OS doesn’t run a mainline kernel, and the Raspberry Pi devs recommend a clean slate on OS upgrades. Granted, they do some trickery for performance with their Zero (not 2) line, using armhf instead of the slower armel, but this doesn’t excuse the fact that Raspberry Pi OS is so brittle. The builds are also still on 32-bit, even though every Pi since 3B can run 64-bit OSes.
I just run Debian on mine. Can’t be assed to clean flash my devices each major update.
The SOC also isn’t fully open, so you won’t get top tier performance with a purely FOSS stack. I push the limits on mine (Retropie mostly), so using their OS is the better bet (I use the one shipped by Retropie, which is super old).
I actually kinda hate the Raspberry Pi because of how closed it is. It’s gotten a bit better over the years, but the Pi 5 took a big step back. But unfortunately, its competitors aren’t much better, so I still use my RPis, but I probably won’t buy more.
I’m also not a fan of Debian in general, so if I switched, I would probably use openSUSE or Arch instead (I tried Arch, but it had issues syncing to disk after updates; they fixed that, but it shows that other distros will be a bit wonky). Raspbian works, so I stick with it.
That’s very fair. Everyone has a different use for Pi’s, and I just happen to favor long-lived devices that can be updated easily. I wish more of the pi internals were upstreamed too.
It’s also 64 since 2 years I believe.
My frustration with Raspberry Pi OS is that the packages available were constantly out of date. Some were 2 to 3 years out of date.
I eventually started using Alpine linux on my Pi boards and have been happy since then. Now I can use the latest Docker and Podman packages without manually adding new repositories.
If I didn’t prefer Alpine’s minimal approach, I would have probably gone with Debian because of it’s history in stability.
I believe you may have found your ideal OS. Debian will always lag behind ever so often. And that’s okay. We all use the Pi’s for different reasons.
I can appreciate that about Debian. Common tools and stability can be both convinient and reliable. Learning linux is already overwhelming with choices.
Even though I use Alpine for all my Pi boards and laptop, I keep a live usb partition of Linux Mint Debian Edition as my emergency backup. It just works.
I went with Arch Linux on ARM for a minimal approach - did you try that?
Genuninely interested in your experience of Alpine Linux as I’d not considered it on a Pi (only VMs so far…)
I haven’t tried arch at all. I used Linux Mint for a year, LMDE for a year and only really started working with command line since last December. I think I chose to try Alpine because I wanted my web facing devices to have the least amount of software installed. Security-wise it made sense to me to have less surface area to exploit.
It took a bit extra effort for me to learn how to use OpenRC as the init system. As well as learning Linux from a bare bones linux perspective.
I actually found using Busy-box Ash interesting to work with and that’s the only shell I currently use. I even wrote a whole script around Rsync in a POSIX friendly way because I liked the idea portable scripting.
If you’re interested, I can send you a link that contains the setup notes for my server. It’s about 85% of my setup process, the rest being some files that are mostly customization that I rsync into place towards the end of the setup process. That can give you an idea of what Alpine on ARM is like.
Thanks. No need for the setup notes (but thanks for the kind offer), it was more about the experience, but I think you’ve already answered my question with less surface area (I do have 1 Pi that’s internet facing for Radicale)
Have you looked at Ansible? That might also cover what you’re trying to do.