Using Debian testing over unstable

Hello! I recently got my pocket reform and am loving it so far!

I have been having some issues installing software due to build failures on unstable, and was looking into Debian testing. I have not used Debian before but from my understanding the testing branch should be very similar to the unstable branch, just without failing builds.

Since the system images all use unstable, does anyone know how you might use testing? Is it even supported? Would love to know anyone’s experience here!

Yes, packages only transition from unstable to testing if (amongst other things) they are installable, have been compiled for all release architectures (thus avoiding multi-arch:same version skews) and have no RC-bugs reported against them. Thus, running testing should be a bit safer than running unstable. Since you are regularly upgrading and since RC bugs are of course also reported against packages in testing (which will then be removed from testing if the RC bugs are not fixed) you should still keep using apt-listbugs.

The only practical issue I see these days for running testing with the MNT repos is, that if the kernel in unstable is built against a glibc/libc6-dev version which is not yet in testing, then you will not be able to install that kernel onto your testing machine until the C-library is transitioned to testing as well.

The problems with running testing were bigger in the past when we had much more software to patch like mesa, gtk, blender, ffmpeg, systemd or gstreamer. These days, not much is getting patched anymore (only flash-kernel).

It is not “supported” but I think there should not be much of an issue in trying it out. So maybe just replace “unstable” with “testing” in your /etc/apt/sources.list and report your findings after running it for a while?

If you replace “unstable” with “trixie” you would have another option: you would be testing “testing” today (because the next stable release is called “trixie” and is currently equal to “testing”) but once trixie is released, you could be running Debian stable on your machine.

1 Like

Thanks for the info! Guess I just got a bit scared off by the Debian docs that said I should reinstall to switch sources. I’m on testing now and will report back if it works fine :saluting_face:

Do you have a link to where it says that?

https://wiki.debian.org/SystemDowngrade

I thought this applied since it mentions moving from unstable to testing but perhaps I misunderstood.

Well, I hope you are not downgrading anything. What you are doing is to switch your apt sources to a distro which has older packages in it than the distro you are coming from. But since packages keep migrating to that, you will likely end up in a state where the packages in “testing” become more recent than what you currently have installed from “unstable”. This is not pretty but it is not downgrading. That you really should indeed not do.

Thanks for the insights, josch :bowing_man: To complete the picture, there is also the option to use Debian Stable with your Pocket: https://reform.debian.net

In the advanced section of the manual, it says:

Theoretically, you can boot other operating systems and Linux distributions besides Debian, such as FreeBSD, NetBSD, OpenBSD—if they include all necessary drivers for your Processor Module and provide an extlinux.conf file for U-Boot. Refer to u-boot docs for details. Booting another Linux distribution can be achieved by combining the MNT Pocket Reform Linux kernel and DTB on the boot partition with the distribution’s root file system extracted to the second partition.

So do I get it right that:
You can install any distro if you can switch out the kernel for one with the drivers for the processor module. Is there a process where they will go upstream, so that it will not be neccessary in the future?

To be honest, I don’t understand what the part about u-boot means.

From the manual, I also think that the MNT Debian has a different install process, right? As it offers sway or wayfire instead of the usual Gnome, KDE… options you get in the Debian installer.

Yes, that is mostly correct. There are a few more things which you’ll need for perfect support. Those are shipped by the reform-tools package in the MNT Debian repository. For example, each processor module still requires a few quirks to be carried out at boot. Some are collected in the reform-hw-setup script: sbin/reform-hw-setup · main · Reform / MNT Reform Tools · GitLab

This needs somebody with enough skill and free-time to do so. Right now, we have a small-ish patch stack for each module. If somebody has the required skill to do so, it would be great if these patches could be submitted to the respective linux kernel subsystem maintainers such that we can drop these patches at some point in the future. If you think you are such a person, please help. :slight_smile:

The u-boot binary which each supported module reads and executes very early in the boot process will look for a file /extlinux.conf or /extlinux/extlinux.conf in the first partition of the SD-Card and then in the first partition of eMMC to start the boot process. If it cannot find either, it will look for a file called /boot.scr instead. Using the extlinux.conf file is a bit easier compated to boot.scr because the former is declarative and the latter is a turing-complete shell script. Many distros provide you an extlinux.conf in one way or the other to boot their kernel. You probably have to adjust the kernel arguments in that extlinux.conf to include the necessary options for your kernel module.

“MNT Debian” doesn’t really have a name. One might call it a Debian derivative but it’s actually vanilla Debian plus a few patched packages (like the kernel) plus a few extra packages. But the latter are in the process of being included in Debian proper. Look for reform-tools, reform-branding, reform-handbook and ezurio-qca-firmware here: Debian NEW and BYHAND Packages

The “install process” for “MNT Debian” is usually: flash a system image onto an sd-card, pop that into your device and boot from it, then run any of the following scripts depending on how you want to install it onto your device:

  • reform-setup-encrypted-nvme (luks encrypted SSD with / and swap and /boot on sd-card or emmc)
  • reform-flash-rescue to download and flash the latest system image onto your eMMC
  • reform-migrate if you want a plain installation on the SSD that you already partitioned

But you already discovered reform.debian.net, so you probably also know that it offers a patched debian-installer. Using that you can install “MNT Debian” using the usual method. I documented the process here: InstallingDebianOn/MNT/Reform2 - Debian Wiki And then you can for example install Gnome on your device. You just need to take care to set up your partitions correctly and that has to be done manually and can be a bit tricky:

2 Likes

Thanks, josch for all these details! Especially the explanation of the kernel differences, u-boot and the setup/install process. This is really useful <3

Unfortunately, I lack the knowledge to help with upstreaming to the kernel. But might be a motivation to learn more about it so that I can help one day :wink:

Related question: Once the drivers and everything required to run on a Reform are in Debian testing, will the “official” MNT images switch to using testing (or even stable eventually?) or will they remain on sid?

As you know, I’m not an MNT employee, so I cannot tell you what MNT will or will not do. That being said, they will probably stay on unstable. If you (or anybody else) doesn’t like that, please volunteer your time to make something else happen. I think this is mainly a problem of where developer time is spent. For example imagine that the images for imx8mq and ls1028a classic reform were not unstable but bookworm and then MNT introduces things like the reform-setup-wizard which are only possible on testing. Now your imx8mq and ls1028a images will have to do something different than the others (because the Rust packages in bookworm are too old for reform-setup-wipard) and that is maintenance overhead which then cannot be spent elsewhere. How do I know? Because I spent the time to make software like reform-debian-packages, reform-system-image, reform-tools, reform-handbook etc work on both unstable and stable and I know how much effort it takes and how often I lack behind and how often things simply do not work because my free time is only so limited. So sure, I cannot tell you what MNT will do but I can tell MNT how much effort it would take to do this and I do not think they will do this and if they’d ask me I’d not advice them that they should. I rather they focus on the hardware side of things which is something I cannot help with. From what I see of their contributions to reform-tools and friends over the past year, MNT as a company is probably still too small to support more than one release of Debian (or any other distro). If they were to put more money into the software side of things, I rather they fix many of the long standing issues with the kernel on the platforms they support. Just recently we had a problem with HDMI being broken on imx8mq which was not fixed for months until @2disbetter borrowed me his imx8mq classic Reform which allowed me to track down the issue. Same with suspend being broken on imx8mq which was also broken for many months. Instead of supporting two distro releases, avoid these kind of very frustrating regressions…

1 Like

As far as I remember, the reason to use unstable was the newer kernels there that were necessary for some reason (not sure about the details). But eventually that should no longer be an issue but the problems of being on unstable would remain. Especially with Reform Next being presented as a “daily driver” type of device, that seems a bit contradictory.

I’m just trying to understand the decisions here. From the user perspective, being on unstable absolutely makes the machines less viable in everyday use because updates can so easily break stuff.

If you (or anybody else) doesn’t like that, please volunteer your time to make something else happen. I think this is mainly a problem of where developer time is spent.

Honestly, this comes across as very dismissive. The barrier to volunteer time on any of this is incredibly high for anyone who isn’t already deep into the subject matter. I for example wouldn’t know where to even start, and if it didn’t feel so utterly impossible, I would love to contribute something.

That is correct. The problem will be that even after Trixie is released and the Reform Next is released, MNT might work on the next SoM as an upgrade option for the RK3588 and the whole cycle starts again… :frowning:

Yes, I expect that Debian Trixie will work fine with the Reform Next.

Yes, I think that is very true. This is also my personal reason not to use unstable but Bookworm instead.

Remember that I am not MNT. So me being dismissive is me being protective of my volunteer time for the Reform related tools. Since I’m only doing this as my hobby, nobody can expect any kind of service from me. Some weeks I work more on this and some weeks I work less.

I also wonder: why is “official” MNT support of importance for you? As it stands, whether you use the “official” images or the unofficial ones, the code behind them is written my me in any case. :smiley:

P.S.: I just released a version 1.68 of reform-tools

because it’s been mentioned that there won’t be any level of support for using other images (which is very understandable), like the bookworm ones, and that I don’t want to be stranded with a setup that I can’t get any help with when needed.

1 Like

For what it’s worth, I think you already are contributing. Your bug reports have in the past led to problems being fixed before more people run into them. This is really useful and I highly appreciate your input, truly. :heart:

For your other questions, I guess we need to wait for an official response from MNT what their plan is regarding unstable versus testing versus stable in the future.