Hacker News new | past | comments | ask | show | jobs | submit login
Armbian and Devuan = Armvuan (github.com/declassed-art)
67 points by axy 7 months ago | hide | past | favorite | 53 comments



Choosing the opposite syllables for the portmanteau would have given Debian, which has a nicer ring to it.


all i know is i doubt my insurance covers armbian but i know it definitely already covers Devuan for my 19 year old arthritic cats seizures...

ill be sure to ask my veterinarian if once daily Armvuan is right for pickles though.


Devian, shirley?


> It is built in the simplest way, using Devuan debootstrapped system with kernel, dtb, u-boot, and board support packages from Armbian

By the way, reading this, an idea just hit me. It persistantly seems evident distro maintains often struggle to maintain huge repositories in both well-tested and up-to-date state. Why don't we separate OS distribution and apps repos into separate independent projects? Perhaps it could be enough for distro authors to concentrate on maintaining the actuall OS (system packages). Probably also a humble number of essential apps. Everything else could be then maintained in form of PPAs by whoever is interested.

Even existence of distro "flavours" focusing on specific DEs always felt a quirk to me. An operation of installing and choosing a specific DE should never have been requiring any attention from the distro author. The fact it does suggesrs there are quirks which have to be addressed, these should better be polished away globally than worked around in every installation script.


that's the way the "immutable" distros are going. they provide a base system and then a ton of packages come from containers or flatpaks. Like things based on OpenSuSE's MicroOS or Fedora's Silverblue and Kinoite but it does require the flavors currently, since the DE are considered core packages.


Can't we still have traditional repositories though? I personally dislike snaps and flatpaks because they usually are shipped with libarries hard-baked in rather than using separately-updatable libraries in the OS, using them also often means app duplication on per-user level and at least Snap didn't support Guest sessions (because of non-standard home directory path) the last time I checked.


If you don't want to use something like snap/flatpak then all the distributions using your PPA repository have to provide the same libraries packaged the same way, and at that point what are they going to even gain from being different distributions in the first place? If someone wanted to make a fork of Ubuntu but all the packages and contents are exactly the same as mainline Ubuntu then they'd just use Ubuntu.


Provide source packages. It works for hundred thousand of packages, so why your package is an exception?


It evidently isn't working well enough - why are snap and flatpak a thing at all if source packages are good enough? Why do users want programs to get picked up as part of a distro's repositories?


As user, I want application to be tested and integrated with my distro by a competent maintainer. As application developer, I want to deliver latest version of my application to all users without additional testing, integration, and discussions with maintainers of all Linux distributions.


> As user, I want application to be tested and integrated with my distro by a competent maintainer.

Do you though? Most users just want the latest upstream release, packaged up so they don't have to deal with compiling or dependency management themselves (and have a chance of a clean uninstall), not any extra testing or integration. Hence the popularity of PPAs, Snap/FlatPak, etc..


Most users just want the properly working latest upstream release, which just works from the first try. It means that somebody must properly recompile, test, fix bugs, integrate, and package the software package into existing distribution. Fedora often publishes even pre-release versions of some software packages, if you want to talk about "latest" version.


> It means that somebody must properly recompile, test, fix bugs, integrate, and package the software package into existing distribution.

Recompile, yes. The rest, probably not - upstream usually does that better than any distro. Distro-specific bugs are usually caused by that distro's changes made to "integrate" the package into the distro, which are usually not something the user wants. Again, hence the popularity of PPAs and Snap/FlatPak.

> Fedora often publishes even pre-release versions of some software packages, if you want to talk about "latest" version.

Fedora has the resources to do that because they're managed by a huge company, and they're big enough that upstream will likely make changes to accommodate them. Most distros aren't on that level.


That's Okay. What I meant was just reorganizing an OS and its nonessential apps repository/ies into 2 (or more) separate projects, not making a repository compatible with every distro out there.


How would that solve the issue of keeping repositories in a both well-tested and up-to-date state? It seems to me it would only make the problem worse because we'd have different, possibly incompatible or unmaintained PPAs


It would just let the OS engineers concentrate on the OS. Potentially making better OSes, maybe also more OSes to choose from, these being actually diverse with original ideas rather than making different app/version choices their key differences. "Just don't do what you can't really do well with reasonable ease, better just do the job which actually is yours".


An OS with missing and/or broken packages is not a better OS.

The OS engineers are usually not the ones maintaining Wesnoth, and if they are it's because they want to.


The point of an OS is to facilitate the applications; there's an old law of project management that improvement happens mainly at the interfaces. The idea of making an OS that will run the same applications with the same interfaces but somehow be better is fundamentally incoherent.


> using separately-updatable libraries in the OS

There are separately updatable shared libraries via runtimes, they're just not managed by the OS (on purpose).


MicroOS doesn't require flavors. You can select whatever package selection you want during installation.


> independent projects? P

you mean like flatpack and snap which also have the benefit of decoupling .so dependency management?

or maybe like nix which you can run as a package manager on other dristros then NixOS?


Not really. I just meant that an OS team probably should only work on engineering and shipping the actual OS and should not dedicate a minute of their time to running a repository with Audacity or Wesnoth in it (I like and use both). Someone else should (as long as they feel interested).


You are describing the current state of Debian, just with multiple repos instead of one.

The DDs who work on, say, kernel packaging are not necessarily the same DDs who work on Wesnoth packaging.


We already have that.

For one like the other comment pointed out different people internally often already work on different packages.

For the other external repositories are a thing.

But they are often not trusted, and if a package is maintained by upstream often it is only for one or two repos.

So it fix it you would need a repository which can work across distributions. Where maintainers exist independent of the distributions but also the organization is big and reputable enough so that people do trust it.

But to have that you need to use technology which abstracts over differences in distros especially wrt. .so dependencies. Like nix, flatpack or snap.

Or in other words I believe you either have what we have today. Or you have a core OS (which still needs packages and package managing!) and the rest is using technology similar to nix, flatpack or snap to provides package repos across distros.


> By the way, reading this, an idea just hit me. It persistantly seems evident distro maintains often struggle to maintain huge repositories in both well-tested and up-to-date state. Why don't we separate OS distribution and apps repos into separate independent projects

Because applications rely on libraries in the distribution and need to be in sync for when they change.

Ways around this are Flatpak, where those shared libraries for applications are shared runtimes that are distro agnostic.


I think you are describing GNU auto tools. It ends up being too complicated because projects have anti-dependencies with each other.

The Linux Filesystem Hierarchy Standard also tried to do what you are saying, but in a less ambitious way.


Actually come to think that didn't the Linux Standard Base have some goal of binary compatibility?


I think source mage tried to do that?


Is Devuan still having a usecase? No offense, I am simply curious. Lately I see statements that you can use standard Debian and have it instaled without systemd. It won't be the default I assume, but how do Devuan and Debian (without systemd) compare nowadays?


Since the change, you could always use debian without systemd. It was trivial, especially for servers.

Desktops took more care, but that was still a non-issue.

But lately, especially since bookworm, things are less solid. rsyslogd is not a default install item now, and when you install it, there is no init script.

This is fine for servers which want centralized logging under systemd, because of course it can start syslog with the included unit file.

But if you remove systemd, by default you have no logging daemon, and once installed, no init script by default.

Easy to fix, but a reduced ease of use.


To my knowledge, this is not trivial (maybe not even possible now). there are simply too many packages that now define systemd as a requirement, like udev, dbus, etc.

If you want a systemd-free Debian, then Devuan is your go-to.


> rsyslogd is not a default install item now, and when you install it, there is no init script.

It’s in the orphan-sysvinit-scripts package.


What a strange place to put it, there's loads of sysinit scripts still, but thanks for the heads up.

Re: other response...

None of those things require systemd under debian, and it's easy to use sysvinit. I run loads of systems without systemd.


> What a strange place to put it, there's loads of sysinit scripts still

Well, apparently the rsyslog daemon itself does not include a sysvinit script; i.e. the rsyslog developers did not write or supply one. So it falls to the distribution, in this case Debian, packager to supply such a script. The Debian packager for the rsyslog package has chosen not to do the work of maintaining a sysvinit script. Debian has further chosen not to require sysvinit scripts for every package. Since maintaining a package is volunteer work, nobody could reasonably expect packagers to do work they don’t want to do which is not required. And thus the rsyslog package does not contain a sysvinit script.

The sysvinit scripts which used to be present in many Debian packages but which the corresponding packagers have chosen to not maintain, are still offered in the orphan-sysvinit-scripts package. The sysvinit-core package “recommends” (a Debian packaging term) the orphan-sysvinit-scripts package, which means that everybody who installs the sysvinit-core package should get the orphan-sysvinit-scripts package installed by default.


Yes, apart from being systemd free per default, it is backed by a nice community.

Also Debian having the possibility of providing systemd alternatives now, doesn't guarantee that this will be so forever. My personal guess is that at one point, systemd will be the only de-facto working init for desktop systems on Debian.


Of course it has a use-case. The target audience may be small but for them it is important.

For the other 9X%, the world has moved on


It is systemd free BY DEFAULT ... which does change EVERYTHING


> Both Armbian and Devuan have their own toolchains for ARM boards and both have fatal flaws: the former is locked to systemd-based distros, the latter has poor support for ARM boards.

Isn't it possible to improve Devuan's toolchain so that it better supports ARM boards?

And, for that matter - isn't it possible to do the same for Debian itself, so that the delta to Devuan would inherit decent support for ARM boards?

I'm not a toolchain expert, so an answer with links to explanation of relevant concepts/jaron would be appreciated.

---

Regardless - I'm always happy to hear news about widening adoption and influence of Devuan. I believe a non-systemd distribution is the way to go and am glad Devuan offers that for the Debian space (while Debian, unfortunately, forces systemd on you and it's not just an option).


Everything is possible, the question is who will do that. I'm not an expert in anything either. Both toolchains make me depressed. But I'm glad I can run Devuan on my boards at last. Many thanks to both projects.


Expanding out the stack here, Armvuan = Armbian + Devuan = ARM + Debian + Debian - systemd, so Armvuan = systemd-less Debian for ARM?


> Expanding out the stack here, Armvuan = Armbian + Devuan = ARM + Debian + Debian - systemd, so Armvuan = systemd-less Debian for ARM?

Not quite:

Armvuan = Armbian U Devuan = (Debian + ARM) U (Debian & ¬systemd) = Debian + ARM

Therefore: Armvuan == Armbian

If you look at the top of the file tree, Armbian is checked out as a submodule and forms the basis of the project. Also note that the commit history is short and makes no mention of Devuan: https://github.com/declassed-art/armvuan/commits/main


Daedalus is the codename of Devuan's current release (same as bookworm in Debian) and it's on the top of tree too. Well, almost. Anyway, it's visible on gh.

I would not say Armbian is the basis of the project. Its builder is just a useful tool. I tried to distance from it as far as possible, bearing in mind Devuan's arm-sdk as the next toy to play with. I gave it a try as well, but found Armbian builder is better.


btw Armbian U Devuan is wrong, hn replaces + with and in title which is incorrect in this context


I'm sure all six users of it will be happy


Does it matter how many users there are if the people who made it are happy with their work?


Are they ? Because all of that looks like posturing on principles.

Like, I have plenty of issues with systemd but still on span of 461 systems we manage (mostly Debian with some centos here and there) with variety of use cases (from "legacy" to k8s running on ceph cluster) it saved us tens of thousands lines of code and allowed some tricky use cases to be far more reliable than before.

Because apparently despise vehement claims sysV scripts are "simple" and "straightforward" it turns out there is plenty of edge cases that most developers don't fix in those scripts.

For example the fact doing start -> status immediately after in many Java apps will tell you your application is not running, because developer delegated Java app to write its own pid file and that takes time for JVM to start. So if something like Pacemaker does exactly that (start app, wait for start script to finish, run status, Pacemaker thinks app didn't start and fails the service).


Why do systemd proponents always compare it to SysVinit?

Compare it to Runit (Void Linux, antiX, Devuan package, as well as packages for all BSDs), OpenRC (Alpine, Gentoo, Devuan package, compatible with FreeBSD and NetBSD), … with S6, which many folks (including me) do use on their Linux and BSD systems.

I, too, operate a fleet of servers without any trouble using Runit and OpenRC.


> Because all of that looks like posturing on principles.

If you don't want people sticking to their principles, you should probably avoid Debian too...


Especially if the 6 users are completely happy with it, then that is validation that it has a solid use-case. It means there are possibly many more who would use it, just that they've not heard about it yet.


major kudos to anyone making rk3318 images out of this..



neat! which direction is systemd going these days?


All directions.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: