Debian unstable / aarch64 woes

I’m having some first world problems getting a few tools I use regularly to work on the Pocket Reform and wondered whether others have any advice!

First of all, at the time of writing three packages in Trixie/Sid are reporting bugs that have led me to hold on upgrading (libxml2, firefox and binutils), and that has knockon effects on efforts to build other things.

The key package I want to use is Joplin, which is my primary note-keeping app. They don’t support ARM64 directly.

  • There is an AppImage, and trying to run that gets so far (via box64) and then crashes with a SIGABRT
  • I could attempt to build it, but that requires node/yarn/webpack, and when I try to install all of that, I’m getting package conflicts with the held back testing packages.

Another thing I generally use is pyenv, but I’m currently unable to install Python versions as they fail with unable to find a C compiler (again, possibly due to not having updated binutils, I’m not sure). In this case I’d like to be able to use the toot Python TUI for Mastodon, but I’m not getting past the runtime hurdle. [standby; I’m trying something with this one right now, so it might go away] - I was missing various dev libraries like zip and ssl, now resolved.

Apart from those though, I’ve got a number of the things I usually install on a Linux system installed without issues (tailscale, NordVPN, jq, ripgrep, gh, atuin, mosquitto, tio etc) so I’m pretty happy!

1 Like

Hey! I just stumbled on this post while searching anything Joplin related, which is also my main note taking program. Were you ever able to get things off the ground?

Yes! I got Joplin built. I’m away from home right now so don’t have an easy way to share what I learned about that, but if you bear with me a few days I should be able to dig that out when I’m back.

Just a friendly reminder, I’d love to know what you’ve discovered. Thanks!

So sorry, I haven’t had a chance to write this up yet. I did manage to get Joplin to build an AppImage, though. At the moment I can’t start my Pocket, but when that is resolved I’ll have another go at writing an explainer.

I highly recommend stable. It isn’t exactly perfect but it is ultra stable, and updating is worry free. With the advent of flatpak and appimages, the need to be on a rolling distro to keep up is kind of a moot point these days.

If it is a better more stable setup then I wonder why mnt has chosen to pre-install all devices with the unstable release? I’d love to try stable, but am too much a beginner with linux to set things up manually. I always use mtn’s installation script and setup wizard to get things going. Is there something like a stable version of that script that you’ve used?

There are different tradeoffs. @josch builds Debian stable images here: https://reform.debian.net

The problem is that stable doesn’t completely support everything yet. Stable uses an older kernel that doesn’t have all the latest patches for good hardware support. As the stable kernel advances over each release, it should reach a point where stable makes more sense as a base system. It may be getting close soon, I’m not sure what still is/isn’t supported.

Ah thank you for the explanation, this makes sense. In that case I would personally stick with which ever distribution provides the best hardware support. But isn’t the support different depending on which processor the machine uses? ie: imx8mp having more support on debian stable compared with a311d, for example (probably not true though).

As @zeha said above, the answer is: it depends. Let me elaborate on that further below.

Yes, that.

Partly, yes. Running the stable kernel is fine for imx8mq classic reform as well as for ls1028a reform. But on reform.d.n there are also kernel packages from stable backports. That way, you can run something that is all packages from stable plus the kernel from backports and that then enables all the other platforms.

Yes, imx8mq used to require unstable (or testing) but then Bookworm was released and now you can run Bookworm kernel on imx8mq and ls1028. Something similar will happen for imx8mplus, a311d and rk3588 once Trixie gets released. Do note though, that when I say “bookworm kernel” or “trixie kernel” is is not actually the kernel from bookworm or trixie. It still has a few patches on top of it.

Yes (see above) but also remember that it is totally possible to run a system which includes all the packages from stable but then has the kernel from stable-backports. That way you get your userland from stable and the hardware support from testing (where the backports kernel is coming from). This currently works for most platforms which require hardware support from the testing/stable-backports kernel, like imx8mplus or a311d. It does not work that easily for rk3588 which in addition to the kernel from stable-backports also needs mesa from backports (for panthor graphics support).

Lets get back to this one. If MNT would stick to stable, they would only be able to sell devices with imx8mq and ls1028a right now. There would be no a311d or r3588 as both need a kernel from unstable. Why not make the base system be stable and use the kernel from stable-backports? Because userland also matters. For example:

  • when bookworm was not released, we needed to patch ffmpeg, gstreamer, mesa, xwayland and fontconfig as the version in unstable was not suitable yet. We would not’ve seen the original reform with imx8mq at the time it was released if it had to wait for the bookworm release
  • now that bookworm is released, we need to patch less – right now we only patch flash-kernel, but we still need packages from unstable for example for the reform-setup-wizard which does not work in bookworm or for mesa with panthor support for rk3588
  • if userland was not unstable, we would not be able to spot the many bugs that need fixing. It is unfortunate but for bugs to be found, somebody needs to run the buggy software, run into the bug and report it (best with a patch). You can use bookworm userland with imx8mq and a311d today but you only can because we found bugs in unstable in the past and got them fixed. We would not’ve found these bugs if we were not running unstable.

@zeha already mentioned the stable images for the reform which i publish on reform.debian.net above. Yes, they will not let you run into many of the bugs that users of unstable have to face and you are free to download those images and/or configure those package repositories, but be aware of the downsides:

  • not many people use it and thus there will again be bugs that nobody has found yet and which are thus not fixed yet
  • i’m the only maintainer and thus it might take time until things get fixed
  • there is no reform-setup-wizard because rust is not backportable
  • if you are on rk3588 you still need mesa from backports
  • if you are on imx8mplus you need to download the wifi firmware manually
  • if you are on imx8mplus, there is no reform-qcacld package but it’s a dkms package instead which takes some time to build on the device (around 15 minutes)
  • every user of stable is one less person who can find bugs in unstable so that they get fixed for the next stable release

I’m guilty of the last point as well. I run stable on my a311d classic reform. Since I ran stable, my motivation to fix bugs in unstable dropped because I’m not personally affected anymore. For example, there is still the issue with waybar showing wrong battery percentages. Somebody [tm] has to fix this and if nobody fixes it, then this problem will be there in the next stable release (Trixie) as well…

4 Likes

josch thank you for your time and thorough response. I’m slowly understanding the way all this flows together. Not to bog you down with more questions, no rush - why do you continue to maintain stable when so much work is involved, yet so little progress is made?

When running into software that does not have a package available in unstable via apt, other options are typically: build it yourself, install a pre-built .deb, add the repo the maintainers created that users are directed to for installing, etc. there must be a 2nd-best option among these when the package is not found by apt, can you suggest which is the best choice when it comes to the pocket reform running unstable? For example, I love using Min browser on my mac, and thought I’d give it a try on the pocket reform - built it myself, but surely there are better options for installing some of the favorites.

I maintain stable because that’s what I want to use. I feel most motivated to work on problems that make my day better. Most software I maintain or even wrote myself was selected because I had the need to do something. I wrote img2pdf because there was no other software out there that was able to convert rastergraphics to pdf without information loss. I wrote mmdebstrap because I was too frustrated with the alternatives. I maintain stable because I’m too frustrated with unstable. So yes, I can understand all the criticism of unstable. It’s justified. I have to force myself to stop being lazy and fix unstable all the time by reminding myself that if I don’t fix unstable, then I’ll not be able to enjoy stable once Trixie is released.

Little progress is made? But things work, no? I don’t understand your question.

This is a completely different topic, no? Personally, when there is software that i want to used that is not yet packaged, then i package it. The advantage is, that then all the work that I did pour into making the package work on my computer will not only benefit me but will benefit others as well. Plus, I have Debian to host the software for me. :wink:

Obviously most people cannot go this route, so I guess for everybody else there are options like these:

  • package it and find a sponsor who uploads it to Debian for you
  • find a flatpak, snap, appimage whatever of the software
  • depending on the language, install it using their package manager, like pip for python, cargo for rust, npm for javascript etc
3 Likes

Just wanted to jump in here and thank @josch publicly for the excellent MNT and Debian support. I am running Debian stable thanks to him, and despite needing to manually use a wifi blob for working wifi it is the best for me. I don’t worry about breaking things when apt updating. It really is just stable.

One day, I think it should be possible for any who wish to use stable to be able to. Which is just a great thing.

(wrote all of this from my Pocket Reform)

6 Likes