The officially official Devuan Forum!

You are not logged in.

#1 2025-08-03 21:53:37

grunchy
Member
Registered: 2024-01-01
Posts: 24  

question: eudev package

in anticipation of the excalibur release i have been investigating my current daedalus setup.

as i understand, perhaps incorrectly, two of the packages that liberate devuan from systemd are elogind and eudev.

elogind is neither an essential package nor automatically installed as it can be replaced by seatd.

similarly, eudev is neither an essential package nor automatically installed. on my system eudev
is a dependency of xserver-xorg-core.

/home/xyz> aptitude why eudev 
i   xserver-xorg-core Depends  udev (>= 149)
i   eudev             Provides udev         

given that eudev is optional, is it possible to have a functioning devaun install without eudev?
what limitations would that entail?  no X11, no /dev directory ...
would such a system be useable?

Offline

#2 2025-08-04 05:05:42

steve_v
Member
Registered: 2018-01-11
Posts: 462  

Re: question: eudev package

liberate devuan from systemd

Hate to break it to you, but both eudev and elogind are systemd, or at least "liberated" parts of it. What both those (Gentoo, hence the "e") projects do is split out systemd components that we want into standalone packages.

given that eudev is optional, is it possible to have a functioning devaun install without eudev?

Sure, for some definition of "functioning".

no X11

AFAIK X only needs [e]udev for video and input device permissions, you could set those up manually (and fool apt with equivs)...

no /dev directory

[e]udev doesn't create the devtmpfs at /dev, the kernel does. What udev does do is handle dynamic creation of nodes there for device hotplug.

Way back when, /dev was a static directory and we made device nodes by hand when we installed new hardware (also automatic module loading when the corresponding node was accessed).
Then came devfs, where /dev was a virtual filesystem managed by the kernel and you mostly didn't need to think about mknod (unless you were fancy and had USB).
Finally udev (now absorbed into systemd) was created to deal with all the newfangled hotplug stuff, so now nobody even knows what it is they just plugged in or what driver it uses tongue.

would such a system be useable?

I know of people running Gentoo and Slackware systems with static /dev, but how well that works for Devuan is a good question. I see no reason it shouldn't, but you will obviously give up (most) hotplug functionality and anything else in the udev rules.

Last edited by steve_v (2025-08-04 05:15:35)


Once is happenstance. Twice is coincidence. Three times is enemy action. Four times is Official GNOME Policy.

Offline

#3 2025-08-04 21:23:45

grunchy
Member
Registered: 2024-01-01
Posts: 24  

Re: question: eudev package

thank you @steve_v for your very informative reply.

'apt show eudev' does mention the gentoo connection and the author, jaret jay cantu,
and says eudev is a fork of systemd-udev originally from 2015. the last github release
is 3.2.14 from october 2023.

never having checked, i just assumed eudev did all kinds of things to get /dev configured.
that it is mostly (exclusively?) used to support hot-plug of devices is surprising to me.
but then my knowledge of linux/debian is limited.

i wonder, does devuan source eudev unmodified from the github repo? or is it forked
anew?

Offline

#4 2025-08-06 22:51:25

grunchy
Member
Registered: 2024-01-01
Posts: 24  

Re: question: eudev package

so i got curious to know more about the eudev package and came across an
interesting gentoo forum thread from july 2024

https://forums.gentoo.org/viewtopic-t-1170107.html

some background: the original eudev project was started, in part, because systemd
did not build on musl-libc systems and a fork of the udev portion of systemd was
required. see here:

https://www.linuxquestions.org/question … ost6280841

devuan ascii and devuan beowulf both sourced eudev from gentoo:

   Homepage: https://wiki.gentoo.org/wiki/Project:Eudev

but, in 2021, gentoo retired the eudev package, replacing it with systemd-utils,
and since then devuan (chimaera, daedalus, excalibur) has sourced eudev from github:

   Homepage: https://github.com/eudev-project/eudev

one post mentions that eudev was removed because it required a lot of maintenance,
which it didn't get, so was removed as the default as well as from the official
gentoo repository.

another poster says systemd-udev is independent of systemd and works in the absense
of systemd:

      systemd devs have made few of the systemd utilities totally independent from
      systemd. udev and tmpfiles are few examples.

      There is a soft commitment by the systemd developers that as long as you don't
      mind building the systemd repository, you can install components such as udev
      without using systemd as your init system.

      Will it last? I don't know. big_smile But it seems to me that they are more open to
      this than they were in times past.

      Much of the reason that forks of systemd such as eudev failed in the past is
      because a number of people who would have otherwise worked on them, decided
      it wasn't worth the time and effort when udev can be built from the systemd
      repo and used on its own, without using systemd as init.

an interesting point mentioned in the thread is that the buysbox mdev project,
which is not in the devuan repos, can also be used instead of [e]udev if you
can live with its limitations (no support for lvm and crypt).

so, options are 'static /dev', busybox mdev, non-gentoo eudev (github) and
gentoo systemd-utils.

so many choices! even though devuan devs have (currently) settled on the github
eudev, if that goes titsup, there are other options. not as desirable, but still.

Offline

Board footer